Est-il possible de réécrire chaque ligne d'un projet open source d'une manière légèrement différente et de l'utiliser dans un projet source fermé?

122

Il existe un code GPL ou LGPL que je considère utiliser pour un projet iPhone.

Si je prenais ce code (JavaScript) et le réécrivais dans un langage différent pour l'utiliser sur l'iPhone, s'agirait-il d'un problème juridique?

En théorie, le processus qui s'est passé est que j'ai parcouru chaque ligne du projet, appris ce qu'il est en train de faire, puis réimplémenté les idées dans une nouvelle langue.

Pour moi, cela ressemble à apprendre à mettre en œuvre quelque chose, mais à le réimplémenter séparément de la licence d'origine. Par conséquent, vous n’avez copié que l’algorithme, ce que vous auriez pu apprendre d’ailleurs ailleurs que dans le projet original.

La licence couvre-t-elle également l'implémentation spécifique ou l'algorithme?

MODIFIER------

Vraiment content de voir ce sujet créer une bonne conversation. Pour donner un peu plus de soutien au projet, le code impliqué effectue une sorte d'analyse audio. Je pense que l’apprentissage ou l’implémentation n’est pas anodin, même si j’étais prêt à entreprendre cette tâche (je suis au niveau où je peux implémenter un algorithme FFT , et cela allait aller au-delà.) C’est assez script de bas niveau LOC , donc je ne pensais pas que ce serait trop difficile de faire un portage droit.

J'aime beaucoup l'idée de rééditer mon port ainsi que de l'utiliser dans l'application. Cela ne me pose aucun problème et ce serait un excellent moyen de redonner quelque chose à la communauté.

J'allais ajouter une ligne sur le fait de ne pas vouloir discuter des questions morales, mais je suis assez content de ne pas l'avoir fait car cela semble avoir un peu déclenché le débat.

Je me sens toujours un peu bizarre d'utiliser le code open source pour apprendre. Cela signifie-t-il que tout ce que l'on apprend d'un projet open source n'est pas autorisé à être utilisé dans un projet à source fermée? Et combien de temps après ou différemment une mise en œuvre doit-elle être considérée pour ne pas être considérée comme une violation de la licence? Sombre!

EDIT 2 --------

Question de suivi

Chris Barry
la source
27
J'aimerais vraiment aller au fond d'une autre question: "Si vous apprenez un algorithme à partir d'un programme open source et le réimplémentez, avez-vous enfreint la licence?" Je pose la question d'un point de vue juridique et non moral. Mais même du point de vue moral, n’est-ce pas une forme d’apprentissage légitime? Ne sommes-nous pas autorisés à utiliser les enseignements tirés de projets open source? Cela semble aller à l’encontre de la GPL elle-même?
Chris Barry
8
@optician Le problème est que vous voulez le traduire ligne par ligne, ce qui en fait clairement un travail dérivé, comme une traduction entre langues humaines. L’idée elle-même n’est pas protégée par le droit d’auteur, mais pourrait être protégée par un brevet. Mais méfiez-vous, IANAL.
starblue
3
Commentaires: les commentaires servent à demander des éclaircissements et non à prolonger la discussion. Si vous avez une solution, laissez une réponse. Si votre solution est déjà publiée, veuillez la revérifier. Si vous souhaitez discuter de cette question avec d'autres personnes, utilisez le chat . Voir la FAQ pour plus d'informations.
2
@optician Le système Stack Exchange n'est pas un forum de discussion, chaque message étant un sujet susceptible de changer de direction au fil du temps: si vous souhaitez obtenir de l'aide pour une autre question, posez-en une autre. Sinon, n'hésitez pas à modifier votre question pour préciser si les réponses que vous avez reçues ne répondent pas pleinement à votre problème initial.
2
Je vote pour clore cette question en dehors du sujet, car il s'agit de questions juridiques.
Robert Harvey le

Réponses:

257

Je ne suis pas avocat Ce n'est pas un avis juridique.

Cela dit, prendre chaque ligne d'une application et la modifier légèrement dans le seul but de contourner la loi sur le droit d'auteur est manifestement flagrant, créant une œuvre dérivée sans aucune défense plausible. Même le juge et le jury le plus acheté trouveront certainement contre vous si jamais vous êtes traîné devant un tribunal.

À titre de comparaison, les entreprises qui ont besoin de réécrire quelque chose pour assurer l’interopérabilité engagent généralement différents groupes de personnes pour comprendre la source et créer le port ("implémentation en salle blanche"), afin que personne ne puisse les accuser de créer un fichier dérivé. travail. Ce que vous proposez, c'est exactement le contraire.

Kilian Foth
la source
25
J'aimerais pouvoir vous donner +10 ...
Marjan Venema Le
5
C'est "si" il a jamais eu à la cour.
QueueHammer
5
Si le logiciel réussit du tout, il sera probablement traduit devant un tribunal à un moment donné.
Justin C
4
@optician: En fait, cela dépend de votre capacité à recréer l'original. C'est le genre de question à laquelle vous devez demander à un avocat de vous répondre.
David Thornley
5
@ DavidStone Vous l'avez à l'envers. Vous devez comprendre qu'un algorithme logique et une expression particulière d'un algorithme dans le code sont juridiquement séparés; seule l'expression est copyrightable. Le groupe effectuant la réimplémentation n'a aucun contact avec l'expression originale de l'algorithme (ils ne voient que la documentation interne relative à l'algorithme logique) et leur expression écrite sera probablement différente de l'expression originale. Il est donc très peu probable qu'ils puissent le faire. violer le droit d'auteur. Cependant, ils peuvent violer un brevet facilement, car leur algorithme logique est identique à l'original.
apsillers
72

Selon Betsy Rosenblatt de l’ essentiel du droit d’ auteur sur le droit d’ auteur à la Harvard Law School :

Qu'est-ce qui constitue une violation du droit d'auteur?

Sous réserve de certains moyens de défense, il est enfreint le droit d'auteur pour quiconque, sauf son auteur, de faire ce qui suit sans la permission de l'auteur:

  1. copier ou reproduire l'œuvre
  2. créer un nouveau travail dérivé du travail original (par exemple, en traduisant le travail dans un nouveau langage, en copiant et en déformant l'image, ou en transférant le travail sur un nouveau moyen d'expression)
  3. vendre ou donner l'œuvre pour la première fois, ou une copie de l'œuvre, pour la première fois (mais une fois que l'auteur l'a fait, le droit de vendre ou de donner l'objet est transféré au nouveau propriétaire. C'est ce que l'on appelle le "premier doctrine "vente": une fois que le titulaire du droit d'auteur a vendu ou cédé l'œuvre ou une copie de celle-ci, le destinataire ou l'acheteur peut faire ce qu'il veut avec ce qu'elle possède.) 17 USC §109 (a).
  4. exécuter ou afficher l'œuvre en public (ce droit ne s'applique pas aux arts visuels) sans l'autorisation du détenteur des droits d'auteur. 17 USC §106. C’est aussi une violation du droit d’auteur de violer les «droits moraux» d’un auteur, tels que définis par 17 USC 106A. Les droits moraux sont discutés à cet endroit.

Il me semble que vous violeriez le point 2 ci-dessus.

Cependant, je pense que la terminologie est un gros problème ici. Vous avez dit: "Si je prenais ce code (javascript) et le réécrivais dans une langue différente pour l'utiliser sur l'iPhone, cela poserait-il un problème juridique?" (c'est moi qui souligne). Réécrire quelque chose peut ne pas être différent de la copie. Par exemple, si vous regardez la Mona Lisa, puis que vous entrez dans votre propre studio et peignez ce que vous en souvenez, il me semble que vous créez une œuvre originale qui exprime votre perception de l'original. Cependant, si vous aviez une copie de la Mona Lisa dans votre studio et que vous en avez peint une copie plutôt que ce dont vous vous souvenez, alors je pense que vous la copiez définitivement.

De la même manière, si vous utilisez MS Word, et peut-être même si vous regardez une partie du code, puis écrivez votre propre traitement de texte qui a des similitudes fonctionnelles, je crois qu'il y a des cas où il a été décidé que & feel "n’est pas protégé par le droit d’auteur. (Cela ne dit rien des brevets, bien sûr.)

Vous devriez probablement demander à un avocat (comme je n'en suis pas un).

Mon opinion personnelle est qu'un "port" est un travail dérivé et vous devez donc publier le code transféré dans la même licence.

Scott Whitlock
la source
1
il y a aussi la question de le prouver. Si vous examiniez le code source de Word, puis écriviez votre propre traitement de texte ... vous aurez du mal à prouver que vous n'avez rien copié.
gbjbaanb
6
@gbjbaanb: C'est à Microsoft de prouver que vous l'avez fait , et non l'inverse, dans la plupart des pays. Ce n’est pas important, car si Microsoft vous poursuit en justice, vous êtes foutu à moins que vous ne puissiez obtenir l’avancement d’une grande entreprise. :-) Et si vous aviez accès au code source Word, les chances sont plutôt bonnes que vous ayez déjà signé quelque chose disant que vous n'écririez rien pour le concurrencer de toute façon ...
TJ Crowder le
3
Au lieu d'écrire «ici», vous devriez nommer l'auteur: «Betsy Rosenblatt, Harvard Law School».
Nicolai Reuschling le
3
@Nicolai Reuschling: lol :)
Scott Whitlock le
4
@TRiG: "Je ne sais pas pourquoi tu trouves ça drôle." - C'est peut-être parce que tu n'as pas le sens de l'ironie. ;)
Scott Whitlock le
55

Je ne suis pas avocat, ce n'est pas un avis juridique, et si vous vous fiez à ce que je dis dans une entreprise douteuse (1), vous êtes un idiot et (2) je décline toute responsabilité. C'est ce que j'ai entendu et lu au fil des ans chez des gens qui semblent savoir.

Les juges ne jouent pas à des jeux "théoriques". Ils n'aiment pas les gens qui inventent des moyens de contourner la loi qui sont peut-être acceptables du point de vue de l'analyse logique, mais qui vont à l'encontre de l'intention évidente et de la façon dont les juges ont statué dans le passé. N'essayez jamais d'être trop intelligent en matière de droit s'il y a une chance que vous vous retrouviez dans une salle d'audience pour défendre votre interprétation.

Il est généralement admis que le fait de prendre un roman et d'en faire un film ou de le traduire dans un autre langage crée des œuvres dérivées. Ce sont des transformations beaucoup plus importantes que ce dont vous parlez et qui nécessitent une créativité beaucoup plus grande. Regardez-les comme des exemples. un juge le fera certainement.

Aux États-Unis, il y a eu des cas où la copie d'un programme plus vague que ce dont vous parlez a été jugée comme une infraction. Aux États-Unis, attendez-vous à ce que ceux-ci servent de précédent.

En d'autres termes, vous allez démarrer une entreprise commerciale sur une base qui sera jugée illégale si quelqu'un se soucie de regarder. Pas une bonne idée.

De plus, si vous respectez l’idée du droit d’auteur ou le contrôle que peut avoir un auteur sur ce qu’il publie, vous êtes hypocrite. Le code source a été mis à votre disposition sous certaines conditions. Vous violez la loi et l'intention expresse de l'auteur.

Maintenant, les algorithmes ne peuvent pas être protégés par des droits d'auteur. Aux États-Unis, les tribunaux ont décidé qu'il était impossible de protéger une idée par le droit d'auteur et que tout ce qui est normalement susceptible de droit d'auteur et qui est le seul moyen d'exprimer quelque chose ne l'est pas. Par conséquent, vous pouvez certainement utiliser l'algorithme.

Il existe un moyen de copier un algorithme protégé par le droit d'auteur: l'approche "salle blanche", dans laquelle une personne ou un groupe étudie le code source et crée une description de l'algorithme (avec le moins de détails possible sur la mise en œuvre), et une autre personne ou Le groupe écrit un nouveau code sans aucune référence à la source originale. Plus vous vous en approcherez, plus vous serez en sécurité.

Vous voudrez peut-être aussi considérer que, en posant la question ici, vous avez publié une intention potentielle de violation du droit d'auteur, sous une forme qui peut vous être retracée si quelqu'un a légalement le droit de le faire (par exemple une affaire civile ou une simple enquête de police s'il s'agit d'une affaire pénale).

David Thornley
la source
18
+1 pour "Vous pouvez également considérer que, en posant la question ici, vous avez publié une intention possible de violation du droit d'auteur".
6
+1 Pour l'approche "salle blanche" - je me suis toujours demandé comment cela fonctionnait.
DMan
Je viens de poster sur le forum des auteurs une description de la situation et publierai les résultats ici.
Chris Barry
Comment un algorithme est-il une idée et un programme n'est pas une idée? Ou, comment un programme n'est-il pas une collection d'algorithmes?
Scooter
16

Pourquoi ne pas simplement ouvrir votre source et laisser le reste de votre projet être fermé?

Pour citer une autre de mes réponses :

L'open source fonctionne, car c'est une communauté. Parce que c'est réciproque. Vous n'obtenez pas d'argent en écrivant du code source ouvert. Vous obtenez de l'argent en consommant du code source ouvert. Alors, pourquoi écrivez-vous du code source ouvert? Donner quelque chose en retour.

Mais d’un point de vue plus pragmatique:
si le code que vous avez porté est vraiment si utile que vous pensez que vous devez le protéger pour conserver un avantage (ce que vous n’avez pas, car les utilisateurs d’ Appcelerator peuvent l’utiliser tout de suite), être un port open source tôt ou tard. Elle sera maintenue par un certain nombre de personnes, sera utilisée et testée par encore plus de personnes. Elle sera affinée pour intégrer les principes promus par la langue cible et pour une meilleure interface avec les cadres existants sur votre plate-forme. Tôt ou tard, votre code ressemblera à un morceau de merde comparé à celui-ci.
L'approvisionnement ouvert est en fait votre chance de rester dans le sillage. C'est gagnant-gagnant. Si vous êtes chanceux, vous aurez même des responsables du code et pourrez vous concentrer sur la logique de votre application, ce qui rend votre produit unique.

back2dos
la source
1
+1 Certains des meilleurs codes disponibles sont Open Source. Mais je peux voir à quel point l’ajout de code GPL à un projet commercial peut être un obstacle supplémentaire lorsque cela implique une sous-traitance du produit entier.
Alex Jasmin
2
Le code GPL est interdit dans les applications iOS par les conditions de licence d'Apple, pour autant que je sache.
Andrey Tarantsov
2
Eh bien, il semble qu'une clause de l'Apple ToS contredit une clause de la GPL. Par conséquent, bien que ce ne soit pas interdit, elles semblent incompatibles.
Vatine
1
Si le ToS d’Apple est en contradiction avec la GPL, disposer du droit d’auteur vous permettra de le libérer sous plusieurs licences, une fois sous une licence compatible avec Apple ToS mais également sous la GPL.
Pieter B
8

Je ne suis pas avocat, je n'en joue même pas à la télévision.

Mais je pense que le problème ici est la dérivation. Si votre nouveau travail est dérivé du travail GPL ou LGPL, ce travail doit alors respecter les exigences de la GPL ou de la LGPL. Votre travail sera clairement dérivé, même si vous le réécrivez complètement ligne par ligne dans une autre langue.

TJ Crowder
la source
Oui, mais est-ce que cela veut dire que vous n'êtes plus autorisé à utiliser cet algorthim? Le fait que vous l'ayez vu implémenté dans un autre projet vous empêche-t-il d'utiliser cet algorithme vous-même, à moins que vous ne puissiez prouver que vous aviez les connaissances nécessaires pour créer vous-même l'algorithme via d'autres chemins d'apprentissage?
Chris Barry
4
Je ne suis pas non plus avocat, alors je ne fais que deviner. Je n'utiliserais pas les mots "dérivé de" si vous écriviez votre propre implémentation d'un algorithme dans une autre langue. Je ne pense pas que la GPL ait été créée en tant que système de brevets dissimulé.
Captain Sensible
1
@ Seventh - vous devriez enregistrer le terme "Covert Patent System" et breveter le concept.
Mayo
2
Les algorithmes ne sont pas protégés par le droit d'auteur. Aux fins de la législation sur le droit d'auteur, la répétition d'un algorithme ne peut faire l'objet d'une action. Le point est de savoir si votre programme est textuellement dérivé de l'original ou non; cela signifie des noms de variable, une disposition de code, etc. (Cependant, la loi sur les brevets peut ou non s'appliquer aux algorithmes.)
Kilian Foth le
1
La licence couvre la mise en œuvre et non l'algorithme lui-même. Le portage de l'implémentation dans une autre langue est un travail dérivé de la même manière que le portage de Harry Potter en espagnol. Vous êtes libre d'implémenter l'algorithme à votre manière. Je vous recommande de ne pas copier / coller et d'apprendre l'algorithme que vous souhaitez implémenter et d'écrire votre propre version à partir de zéro. IANAL.
Dave Rager le
5

Comme d’autres le disent, il s’agira probablement d’un travail dérivé, enfreignant ainsi directement les termes de la GPL si vous choisissez de le faire "séparément de la licence originale" (je suppose que cela signifie que vous supprimeriez la GPL et utiliseriez autre chose, même en source fermée). .

Même si cela glisse comme "légal", c'est clairement immoral . L'auteur d'un logiciel sous GPL a choisi une licence qui étend les libertés aux œuvres dérivées. Que ce soit une bonne ou une mauvaise chose, c'est l' intention de l'auteur et vous devez respecter cela . Ils vous ont donné le code à lire et à modifier, fork et ainsi de suite, vous demandant seulement de ne pas modifier les conditions. Il est également probable que vous ne deviez pas non plus payer pour le logiciel lui-même.

Je sais que l’argent est difficile, mais sous cette forme, lorsque vous exposez votre idée, il vole. Bien sûr, vous auriez pu apprendre cet algorithme ou tout autre détail d’implémentation d’une autre source, mais ce n’est pas le cas, comme vous l’avez dit vous-même.

Si la moralité ne vous concerne pas, alors rappelez-vous que, étant donné la nature grise de la légalité de ce que vous faites (ou êtes sur le point de faire), il est très possible que les auteurs originaux contactent Apple pour violation du droit d'auteur. Jusqu’à présent, Apple n’a pas tardé à supprimer ce logiciel qui enfreignait la GPL. Une autre possibilité est un procès.

Si j'étais vous-même, je considérerais soit la GPL soit mon propre travail (ce n'est pas une si mauvaise chose!), Soit l'acquisition des connaissances par d'autres moyens.

Tamás Szelei
la source
Il semble qu'il existe des applications qui sont GPL (wordpress app?). Voulez-vous dire que ce n'est pas correct d'utiliser un projet open source pour apprendre un algorithme?
Chris Barry
Non, je ne dis pas ça. Je faisais référence à l'idée d'OP de traduire les mêmes lignes dans un langage de programmation différent. Maintenant, où se termine la dérivation et où commence le travail original? Ce n'est pas une question facile, mais je suis à peu près sûr que réimplémenter le même algorithme sans modification est un travail dérivé.
Tamás Szelei
Oui ce n'est pas une question facile. Il serait également intéressant de savoir combien de changements suffiraient pour ne pas être illégaux. Changer les noms viables, les espaces blancs? Cela semble un peu ridicule, car il serait si facile de le changer, surtout si vous comprenez le code et pouvez ainsi créer de bons noms alternatifs.
Chris Barry
Au fait, le code est bien commenté, il est donc très facile de comprendre ce qu’il fait.
Chris Barry
Eh bien, utilisez simplement le bon sens. En tant que programmeur, estimez-vous qu’il est suffisant de modifier les espaces et les noms de variables? En fin de compte (dans des cas réalistes), le tribunal déciderait de la légalité.
Tamás Szelei
5

Pourquoi ne pas essayer de faire ce qu'il faut et ne pas voler les idées de quelqu'un? Vous pouvez simplement envoyer un e-mail au créateur du code et lui demander si vous pouvez baser des parties de votre projet sur les leurs. Beaucoup de gens n’auraient aucun problème avec ça. S'ils ont un problème avec cela, alors même en mettant de côté les questions juridiques, pourquoi voudriez-vous ternir votre réputation en tant que professionnel dans la communauté? Le fait que cette question soit formulée plus ou moins par "Que puis-je faire avec?", Par opposition à "Que devrais-je faire?" est un peu troublant.

En bout de ligne, demandez à la personne (ou aux personnes) qui a (ont) écrit le code .

Morgan Herlocker
la source
2
On a demandé à l'auteur et je posterai les résultats ici.
Chris Barry
5

Je ne suis pas avocat non plus. Si vous vous demandez s'il s'agit d'un problème juridique, vous ne devriez probablement même pas poser cette question et simplement écrire votre propre question.

Mon opinion personnelle sur le sujet:

Si vous prenez le code javascript et le réécrivez dans une langue différente, cela s'appelle le portage et est considéré comme un travail dérivé. Si vous écrivez votre propre version du logiciel et utilisez le code javascript comme référence pour apprendre le fonctionnement de certains algorithmes, vous êtes probablement satisfait.

Je préférerais demander à un avocat.

En tant qu’additif , la loi sur le droit d’auteur vous permet de ne rien faire [*] avec le code source publié autre que celui de le lire. La licence sous laquelle le propriétaire du droit d’auteur a publié le produit vous accorde certains privilèges supplémentaires non prévus par la loi sur le droit d’auteur. Prendre et utiliser le code d'une manière autre que celle permise par la licence n'est pas différent de prendre et d'utiliser des œuvres protégées par le droit d'auteur protégées par la loi sur le droit d'auteur sans obtenir la permission de l'auteur.

[*] Avec des exceptions pour une utilisation équitable.

Dave Rager
la source
1
Si c'est GPL, vous pouvez faire plus que le lire. Vous pouvez créer des œuvres dérivées à condition que ces dérivés soient également sous GPL.
Zhehao Mao
Oui, c'est correct.
Dave Rager
4

Non, ce n'est pas éthique. C'est presque certainement illégal. Et si jamais je passais en revue une application d'emploi de quelqu'un qui l'avait fait, ce serait rond, avec un parti pris extrême.

Paul Nathan
la source
Alors, dites-vous qu'il n'est pas éthique d'apprendre à mettre en œuvre quelque chose à partir d'un projet open source?
Chris Barry
4
@Chris: Il n'est pas éthique de créer une œuvre dérivée à partir d'un projet open source et de la mettre en vente, contrairement à l'intention de l'auteur, telle que démontrée par la licence. Si vous ne pouvez pas adhérer à la licence et que vous la contournez ... ew.
Paul Nathan
1
Je n'essaie pas d'éviter la licence (pourquoi j'ai posé la question), mais je me demandais quelle était la situation concernant de tels problèmes. Y a-t-il une limite de temps ou une différence de temps entre deux travaux qui l'empêcherait d'être un travail dérivé? Sinon, il semble que l'on ne puisse pas utiliser les connaissances acquises en étudiant le code source ouvert?
Chris Barry
rien ne vous empêche de vendre une application basée sur du code source ouvert. En fait, la définition de l'open source (donnée par l'Open Source Initiative) le permet explicitement. Mais vous devez vous conformer à la licence, qui est le dilemme du PO. Les termes de l'App Store et du conflit GPL, qui est le problème ici.
Martin Vilcans
2

Codez toujours comme si le gars qui finissait par maintenir votre code serait un psychopathe violent qui sait où vous habitez. ~ Martin Golding

Je ne suis pas avocat, je ne vais donc pas répondre comme tel. En outre, de nombreuses personnes non juristes ont déjà exprimé leurs réflexions sur les ramifications juridiques de votre idée. Et je vais sauter le débat sur la moralisation / éthique.

Si j'étais vous, je serais plus concerné par les ramifications en tant que développeur. C'est une chose de respect. Le respect de soi, en particulier.

Bien sûr, nous cherchons tous "Comment d'ya {implementation} dans {spécification}?" de temps en temps. C'est de là que vient Stack, amirite? Et c'est comme ça que nous avons tous trouvé notre chemin, non? Ce n'est pas ce dont je parle parce que ce n'est pas ce dont vous parlez.

Si je combinais coup de génie + effort héroïque = résultat intéressant à présenter à la communauté des développeurs comme une offre open source, et que les gens l'aimaient suffisamment pour l'utiliser, je tomberais sous le charme de la flatterie. Je serais grand temps. Comme John Reisig ou Mark Story. Petit vieux moi. Et puis, un tricheur est arrivé et a détaillé ma contribution pour qu’elle puisse l’offrir de manière commerciale ou native dans son application commerciale? Raide mort.

Le code est comme l'écriture manuscrite. Vous ne pouvez pas modifier une application plus grosse qu'une boîte d'allumettes de manière suffisamment significative pour qu'un autre développeur légitime ne puisse pas les différencier côte à côte et dire "Attendez une minute ..." En tant que développeur, je serais trop gêné par la possibilité que mes pairs , mes collègues, des gens que je respecte et dont je respecte le respect, sauraient jamais que j’ai volé le code de quelqu'un. Je serais une risée. Parce que c'est une copie épique de script de pâtes kiddie bs. Voulez-vous vraiment vous délégitimer aux yeux de vos pairs? Le code Jacking est un bon moyen de commencer.

Et en tant que développeur, considérez ceci: si telle était mon application, et que je découvrais que vous l'envoyiez de telle sorte que vous craigniez d'être poursuivie en justice, si je décidais de vous poursuivre en justice, vous gagneriez beaucoup d'argent. de toute façon, grâce à mon code, pourquoi ne devrais-je pas vous frapper là où ça fait mal, peut-être en récupérer une partie? Comment savez-vous que je ne suis pas un adolescent ni un tempérament effrayant ni un ensemble de compétences effrayant? Sortez de mon chemin à pwn r00 [sur votre b0xen, pour ainsi dire. Depuis que mon application est connectée, cela me montre que vous> (base: je pourrais écrire ce que vous ne pouvez que jack). Ce ne serait pas la première fois.

OpenSorceress
la source
2
J'aime vraiment cette réponse. Je pense que le problème est de savoir si vous pouvez utiliser le code comme point d’apprentissage, puis le mettre en œuvre. Je pense qu'il s'agit d'un script de 200 ~ LOC, ce n'est donc pas si compliqué. Je voulais vraiment partir d'un exemple concret pour mes apprentissages et il semblait donc logique de partir de là. Si j’écrivais le tout en psudo code et que mon port était sous GPL, cela me mettrait-il dans une position raisonnable? Je pense vraiment que le titre de l'article a déclenché le débat plus que je ne m'y attendais.
Chris Barry
Re: en suscitant un débat, réfléchissez à la nature de la question: une professionnelle du développement se dévoue corps et âme dans son métier, qu’elle le souhaite ou non. Des heures de mon temps, des seaux de sang en sueur et des larmes parce que la nature du logiciel est d’être une bête. Et en plus de cela, notre métier est si difficile que de véritables excellentes contributions à l'open source (libs js, frameworks php, etc.) - à ce stade, qui parmi nous ne compte pas sur l'open source pour garder sa tête hors de l'eau, professionnellement ? Donc, cette question comme celle-ci est profondément personnelle pour nous tous, que nous en prenions conscience ou non.
OpenSorceress
Cela dit, j'ai appris la plupart de ce que je sais des magiciens open source tels que John Reisig et Mark Story, ainsi que de leur bande de jeunes génies. JQuery est mon petit ami. CakePHP est mon pain et mon beurre. Il n'y a rien de mal à cela. D'où la différence entre le jacking et le porting. C’est ce dont nous parlons lorsque nous disons que nous nous tenons sur les épaules de géants.
OpenSorceress
0

Vous ne pouvez pas créer de travail dérivé de travail dérivé de travail dérivé ... et vous attendre à ce que ce ne soit pas un travail dérivé. Cela peut devenir méconnaissable, mais c’est autre chose. Et vous pouvez commencer à partir de n’importe quel texte et, par série de modifications, obtenir n’importe quel texte (par exemple, supprimer le premier, insérer le second), de sorte que cela ne signifie pas que cela a été fait. Donc, peu importe si quelque chose est possible, mais si cela se produit réellement (seul l'impossible évidemment ne s'est pas produit)

Moraly parlant: Apprendre de tout ce que vous pouvez (légalement) accéder est correct, mais vous devez reconnaître les sources. le repos est la légalité.

IANAL, mais je ne pense pas avoir rien fait de mal, si: 1) j'ai appris de la mise en œuvre open source 2) Implémentez le même algorithme (même dans le même langage) en procédant ainsi, de grandes portions seront naturellement devenues totalement différentes, et certaines le seront. être vraiment similaire. Si ces parties similaires sont des choses où les deux côtés ont suivi la même pratique de codage et ne peuvent donc pas être différents, alors ces parties ne sont pas protégées par le droit d'auteur. Par exemple. Si la classe a deux champs String privés et qu'elle a des getters et des setters, le seul point intéressant est que cette classe a deux propriétés de lecture / écriture, et non des implémentations de getters et de setters.

utilisateur470365
la source
0

Si vous ré-écrivez chaque ligne individuellement, vous pouvez ou non "copier" les lignes.

Mais vous copiez textuellement l’ordre, la structuration générale et l’inclusion des lignes. En d'autres termes, le genre de choses qui fait du travail un "tout".

Vous copiez la partie qui dit "cette ligne devrait aller ici, cette ligne devrait y aller". C'est une grande partie de l'algorithme global.

De plus, quand un projet est démarré, personne ne sait quoi inclure, ce qui doit être considéré comme plus ou moins important, comment structurer et composer les algorithmes. Cette information doit être produite et conçue à un moment donné. Mais vous n’auriez pas besoin de le faire, car vous le "copieriez".


Par exemple:

Si j'ai un ensemble {a, b, c, d, e, f}.

Je peux en créer une liste ordonnée, [f, e, c, b, d, a]. Vous devez dire que j'ai ajouté à la liste des informations, appelées commandes , qui n'étaient pas présentes dans l'ensemble non ordonné. Selon la taille de la liste, ces informations peuvent être très spécifiques et difficiles à trouver.

Ben Jones
la source
-1

C'est comme n'importe quoi d'autre: vous ne pouvez pas apprendre ce que vous avez appris, vu, lu ... mais vous pouvez contrôler comment vous l'utilisez ...

Deux choses à ce sujet -

  1. Comme la plupart des conditions de licence pour Open Source Code ... faire un centime est totalement cool, le rendre "pseudo" - fermé, c'est cool - mais le problème est le "crédit". J'ai acheté BEAUCOUP de scripts auxquels sont attribués des "crédits" (URL de blog, code de système d'exploitation utilisé, etc.), mais le problème est de savoir si vous publiez ouvertement (sans vous cacher) les créations / félicitations de quelqu'un (encore, les gens ne voient pas d'inconvénient à ce que vous le fassiez ... la plupart du temps, ils ne donnent PAS crédit (violant ainsi les dispositions de type GPL) de peur que les gens réalisent qu'ils peuvent l'obtenir ailleurs ... mais si votre code est ouvertement donner crédit et peut toujours rester autonome (que votre contribution au code soit fermée ou ouverte) - alors les gens ne s'en soucieront pas.

Ce que je trouve en tant que développeur, c’est que les gens veulent ne pas donner de crédit, le rendre fermé de manière à imiter un excellent développeur / codeur, sous prétexte de gagner de l’argent grâce aux efforts de quelqu'un d'autre ....

alors je m'éloigne du # 2 ...

  1. "l'intention" est presque toujours (pratiquement) toujours le cas ... pouvez-vous vous présenter devant un juge (par exemple, vous avez été poursuivi en justice, amené devant un tribunal ou prié d'expliquer vos actions) et énoncer clairement, sans marmonner, et avec position sur la question - pourquoi vous avez pris la décision de cacher / fermer la partie "open source" de votre code, cela ne devrait donc pas être un problème.

mes 2 pence. :)

Ce qui est drôle, c’est que la plupart des gens pensent avoir inventé une "idée spécifique" - alors qu'en fait, cette "idée" a probablement déjà été (probabilité extrêmement élevée) déjà lancée sous forme de serviettes, papier, code, Internet, blog, etc. etc...

Ainsi, bien que ce soit peut-être nouveau pour vous, en particulier depuis que vous l'avez vu dans le travail de système d'exploitation d'un autre utilisateur, il est probablement utilisé dans d'autres travaux de système d'exploitation dont ce travail est dérivé ... et finalement, il est probablement utilisé ailleurs en ligne .. Ce n’est même pas du tout avec un problème de licence / de copyright déclaré ... auquel cas vous pouvez copier à partir de cette source ... modifier, changer, supprimer, ajouter ... (bien que je copie / url pour retracer où vous avez le droit de montrer que vous l'avez légitimement) au code comme vous le souhaitez.

Je pense que c'est incroyable dans 'code-land', en particulier le nombre de fois où je suis arrivé à découvrir que mon code 'astucieux' était déjà écrit (mais pas aussi .. remarquez - lol) en 2003 sur le geek de quelqu'un, recherche sur Google rang de # 1239, site Web ils ont fait quand ils étaient à l'université, juste pour créer des fonctions pour une utilisation amusante et gratuite. :)

Le point est .. donnez du crédit, ne contournez pas le problème, et quand tout le reste échouera ... ou en cas de doute - DEMANDEZ à l'OS d'origine le droit d'utilisation ... yeesh! quand sommes-nous devenus si arrogants que nous ne pouvons pas simplement demander à quelqu'un d'utiliser leur weedwacker, leurs cisailles, leur tondeuse, ... et - ah ouais - une fonction sympa qu'ils ont créée!

D'accord c'était 3 pence ...

William Ortell II
la source
1
le problème est qu'il tente d'échapper aux conditions de licence initiales.
Paul Nathan
-4

Donnez une pause à l'homme!

  1. si une plainte légale devait être déposée contre lui, cela signifierait que quelqu'un devrait effectivement avoir accès au code et le LIRE. Et si le logiciel est compilé?

  2. Il pourra toujours faire appel à son ignorance pour le moment au moment des faits. Est-ce que quelqu'un n'est pas censé avoir la bonne foi avant d'être jugé coupable?

  3. Apprendre, ce n'est pas copier. Trouver de l'inspiration dans certains travaux existants n'est certainement pas une copie non plus. Et s’il avait appris à partir d’un logiciel quelle était la fonction de chaque ligne de code et qu’il décidait d’utiliser les principes des résultats pour améliorer ce résultat et créer un logiciel meilleur, plus simple et plus allégé. Ne pas copier IMHO.

Ce sont mes 2 cents. C'est maintenant au tour du premier sans péché de jeter la pierre ...;)

Breakerfall
la source
3
Pour n ° 1: Jusqu'à ce que votre code source soit assigné par le juge et que vous souriez timidement au jury lorsqu'il voit votre "réécriture".
Jarrod Nettles
2
Pour n ° 2: La violation du droit d'auteur est normalement une affaire civile, il n'y a donc juridiquement aucun "coupable". Si la prépondérance de la preuve indique que le PO a été enfreint, c'est tout ce qui est nécessaire. Pour # 3: Ce n'est pas ce que la question initiale a dit.
David Thornley
1
(1) Il n’est pas difficile de repérer un plagiat flagrant sans voir le code source. De plus, nous n’avons pas l’habitude de conseiller les gens sur la manière de s’en tirer en flagrant délit d’actes illégaux et hautement contraires à l’éthique. (2) Ignorantia juris non excusat (l' ignorance n'est pas un moyen de défense ) (3) La réécriture ligne par ligne ne permet pas d'apprendre. Réécrire ligne par ligne, ce n’est pas simplement trouver son inspiration non plus. C'est un plagiat flagrant, clair et simple. Je ne reviendrai pas sur tout ici, mais il existe une multitude de documents juridiques et de précédents à l'appui.
Greg Jackson
OK, donc si je n'ai pas réécrit ligne par ligne, mais que j'ai compris l'algorithme, puis que je l'ai implémenté à ma manière. C'est-à-dire une opération en salle blanche pour un homme. Est-ce différent? Sinon, est-ce que je ne suis donc pas autorisé à apprendre d'un projet open source?
Chris Barry
4
@Chris L'intérêt d'une opération en salle blanche est que les personnes implémentant l'algorithme n'ont pas vu le code source original. Il n'y a rien de tel qu'une "chambre blanche pour un homme".
Adam Lear