J'ai traduit un C
programme GPLv2 en Python
, mais j'ai constaté qu'il était difficile d'étendre tel que conçu et de réécrire des parties importantes de celui-ci. La structure du programme est maintenant complètement différente, mais plusieurs fonctions traduites textuellement sont utilisées.
Le paradoxe Ship of Theseus (comme indiqué dans Wikipedia) "soulève la question de savoir si un objet dont toutes les composantes ont été remplacées reste fondamentalement le même objet".
Si je réussissais à écrire des remplaçants pour les fonctions mot à mot, serais-je en mesure de me connecter à une licence que je préfère?
Dans le même ordre d'idées, serais-je en mesure d'extraire l'architecture développée et de la réutiliser avec une licence différente? Je pense que ce serait très utile en soi, mais je n'aime pas l'idée qu'il soit maintenant "corrompu" avec la licence GPL.
Suivi : j'ai décidé de contacter le détenteur du droit d'auteur et j'ai reçu l' autorisation de relicense . Parfois, le meilleur moyen est d’interagir socialement plutôt que par programme!
Réponses:
Premièrement, la réponse est non (pour une traduction), vous ne pouvez légalement pas renouveler votre licence, ni rien faire en dehors de la légalité de la licence d'origine. Vous avez peut-être très bien fait 10 fois le travail de l’auteur original, mais peu importe, c’est viral. Non seulement parce que c'est la GPL, mais parce que ce n'est pas une conception ou une réécriture épurée.
J'ai eu quelques difficultés avec cela en 1992 lorsque j'avais réécrit en masse une ancienne base de code MUD. Nous avions un jeu réussi, mais nous voulions faire notre propre travail et les gens étaient prêts à payer pour cela. Pourtant, la licence DikuMUD nous interdisait strictement de gagner de l'argent. Un concurrent, à l'époque, s'était également basé sur la même base de code et avait choisi d'ignorer de manière flagrante le droit d'auteur, d'en éliminer toute trace et de mentir à tout le monde, y compris à eux-mêmes. Leur logique était "aucun du code original n'existe" et "nous avons fait des réécritures et des améliorations massives", ignorant généralement le fait qu'ils avaient commencé avec 20 000 lignes de code. Ils facturaient des objets dans le jeu et gagnaient trop d’argent pour s’arrêter.
J'étais certes envieux. Mais j’ai effectué des recherches sur le droit d’auteur et consulté ma conscience. J’ai décidé que je ne pouvais même pas utiliser le code que j’avais écrit parce que je n’avais honnêtement pas conçu le serveur de jeux à partir de zéro.
J'ai donc décidé de mettre mon argent là où ma bouche était et d'écrire à partir de zéro, avec une copie de la programmation réseau UNIX de W. Richard Steven avec moi tout le temps, j'ai commencé. Ecrire à partir de zéro, à ma façon, m’a appris beaucoup plus que lorsque j’avais réécrit DikuMUD, et cela m’avait aussi appris que je ne comprenais pas vraiment ce que signifiait se tenir sur les épaules de quelqu'un d’autre. En six mois, j'avais 50 000 lignes de code opérationnel que je pouvais appeler le mien. Je l'ai nommé MUD ++ et l' ai publié sous BSD. Mal écrit dans le style ancien C ++, c’était toujours le premier MUD C ++ libre et open source que je connaisse. À ce jour, personne ne peut me l'enlever. J'avais le meilleur serveur TCP à l'époque, personne d'autre ne pouvait faire un "redémarrage à chaud" sans perdre de joueurs, et bientôt tout le monde volait la fonctionnalité (et j'ai remarqué que beaucoup de GUDs GPL ont des extraits de mon code BSD - il est toujours intéressant de savoir comment GPL peut détourner BSD-ware mais pas l'inverse ). Finalement, je suis passé à autre chose, alors ce n’était pas comme si la décision était décisive pour ma fortune, mais alors que les autres gars gagnaient beaucoup d’argent depuis un moment, j’avais perdu tout mon regard, dans un monde de jeux graphiques il n'y a plus beaucoup de demande massive de texte.
L'histoire ne se termine pas… quelques années plus tard, je travaillais pour IBM et Disney nous a embauchés pour écrire un jeu multijoueur 3D en temps réel pour le centre Epcot, et j'ai pu utiliser le noyau TCP de MUD ++ comme base. serveur de jeu! Si je n'avais pas possédé mon propre code, je n'aurais pas été autorisé à l'utiliser, et cela m'a honnêtement sauvé des semaines de temps de programmation. En fin de compte, je suis fier des choix que j'ai faits et j'ai une histoire à raconter à mes enfants.
Les gens minimisent et sous-estiment l'avantage de commencer avec le cadre de travail de quelqu'un d'autre.
Si vous pensez le "posséder", testez-vous. Recommencez avec un livre Python à côté de vous. Voyez ce que ça fait. Ne trichez pas et ne regardez pas l'ancien code. Regardez la sortie. Obligez-vous à réfléchir à chaque aspect de votre propre chef, en faisant des recherches honnêtes. Vous serez meilleur pour cela et aurez probablement un meilleur produit.
Avant de faire cela, essayez cependant de contacter l'auteur original. Demandez-leur s'ils seraient disposés à relicense. Si vous envisagez de vendre des fichiers binaires, proposez des redevances. De nombreux auteurs qui ont publié GPL dans les années 90 et 2000 ont aujourd'hui entre 30 et 40 ans et comprennent ce que signifie vivre avec des logiciels. J'ai vu plus d'une nouvelle licence de GPL à MIT, Apache, Boost ou BSD.
Enfin, une licence ne remplace pas les droits antérieurs de code que vous pourriez avoir. Ou si vous avez écrit un add-on propre, indépendamment, par exemple, si vous avez écrit un moteur TCP en tant qu’add-on à un jeu Tetris à un seul joueur et qu’il peut rester autonome (surtout si vous avez déjà publié une autre licence), pouvez réutiliser votre code dans d'autres projets. Vous avez aussi des droits d'auteur.
Ma croyance est libre est libre. Si vous devez attacher des chaînes, n'appelez pas cela gratuitement. Des années plus tard, quelqu'un m'a envoyé un mail me disant qu'ils utilisaient mon jeu dans un moteur commercial, principalement le protocole TCP et éventuellement l'interpréteur de code-barres. Ils gagnaient de l'argent. Cela ne me dérangeait pas du tout. J'étais heureux comme je le suis encore aujourd'hui, en tant que père fier.
la source
Ce scénario est couvert dans la FAQ sur la GPL :
la source
Il est douteux que, même si vous réécriviez toute la bibliothèque à partir de rien, cela passerait le contrôle de la loi. Le code serait considéré comme "corrompu" parce que vous l'avez vu dans la bibliothèque sous licence GPL.
L’approche standard de ce problème s’appelle "mise en oeuvre en salle blanche". Vous écrivez un document d'exigences et demandez à quelqu'un d'autre de le mettre en œuvre (qui n'a pas vu le code GPL).
Voir aussi cette question: Réécrire le code GPL pour changer de licence
Comme l’a bien dit la traduction chinoise de Harry Potter, sa traduction en chinois reste un travail dérivé, même si toutes les informations ont été remplacées.
Bien sûr, la probabilité que vous soyez poursuivi pour avoir réécrit une bibliothèque sous licence GPL (et la moralité de vous fier à cette faible probabilité) sont des discussions totalement différentes.
En ce qui concerne l’ajout de fonctionnalités au code original, c’est (une partie de) la définition même des travaux dérivés: l’ ajout au travail original. Peu importe combien vous avez ajouté ou la taille du travail initial: il est toujours dérivé.
la source
Observation: la GPL n’est pertinente que si vous publiez votre travail. L'avez-vous déjà publié?
Observation: Ce n'est pas un site Web de conseil juridique, alors jetez tout ce FUD juridique et appliquez le bon sens.
Opinion: La GPL, ou toute licence, ne protège pas les idées , elle revendique le code source, quelle que soit sa taille. Donc, si et seulement si votre travail "dérivé" ne peut pas être identifié comme étant dérivé de l'original, parce que vous avez modifié la structure du code et réimplémenté toutes les fonctionnalités, il n'est pratiquement plus dérivé, car être indiscernable d'une mise en œuvre de salle blanche.
C’est très difficile (impossible?) D’atteindre quand vous modifiez une base de code existante, au lieu de partir de zéro.
la source
Vous possédez les droits d'auteur pour tout code que vous écrivez. La GPL a pour mandat: tout code que vous contribuez ou que vous publiez en même temps que le code GPL doit également être publié sous une licence similaire. Cependant, le droit d'auteur est toujours à vous.
Ainsi, si vous publiez votre logiciel à mi-chemin de la réécriture (il y a donc un mélange de votre code et de votre ancien code), vous devez alors publier cette partie de votre code en tant que GPL et cela ne peut pas être révoqué. Cependant, le détenteur du droit d'auteur est celui qui décide des conditions de licence. Vous avez donc toujours le droit de "concéder deux licences" à cette partie du code, y compris en la combinant avec un autre code que vous avez écrit seul et en vendant / ré-licence, etc.
Mises en garde:
(source: une session "copyright et open-source" organisée par ma société il y a quelques semaines)
la source
Oui.
Les autres réponses utilisent beaucoup trop de texte expliquant les opinions sur l'opportunité de le faire ou non, mais ces opinions ne sont pas très pertinentes pour la question.
Le fait est que vous aurez un nouveau travail une fois que vous aurez remplacé les dernières pièces, qui ont certes été construites en regardant un travail sous GPL. Ce n'est pas une préoccupation majeure dans la loi sur le droit d'auteur (les brevets seraient un autre problème). Tout ce que vous distribuez sera votre création.
La théorie selon laquelle le droit d'auteur sur un logiciel correspond à la somme de droits d'auteur partiels est abondante. Par exemple, le MPL reconnaît explicitement ce modèle. La poursuite entre Google et Oracle a abouti à des droits d'auteur au niveau de la ligne.
la source
La réponse courte est que vous ne pouvez pas savoir.
Lorsque vous parlez à Richard, vous constatez qu'il est "fou comme un renard" dans bon nombre de ses implémentations. La GPL est écrite spécifiquement pour avoir des ambiguïtés et des formulations peu claires. Celles-ci sont généralement exprimées contre les avantages de l'auteur de la licence, mais donnent également des préoccupations à votre avocat spécialisé en propriété intellectuelle. Intelligemment, votre avocat en propriété intellectuelle est de plus en plus préoccupé par le développement de l’entreprise. Une petite entreprise commerciale effectuant une "interprétation raisonnable" de la GPL peut constituer un risque acceptable, mais une grande entreprise de logiciels pourrait trouver plus prudent de brûler toute une équipe qui a réussi à se faire reprocher GPL.
Il n'y a pas de reponse. Il n'y aura pas de réponse. C'est la réponse.
la source