Comment échapper à la GPL?

24

AVERTISSEMENT Je ne prétends rien savoir sur les licences. En fait, tout ce que je dis ci-dessous peut être complètement faux!

Backstory:

Récemment, je cherchais un moteur de jeu décent, et je pense que j'en ai trouvé un que j'aime vraiment, Cafu Engine .

Cependant, ils ont un plan de licence double, où tout ce que vous faites avec le moteur est forcé sous GPL, sauf si vous payez pour une licence commerciale. Je ne dis pas que c'est un mauvais moteur, ils disent même qu'ils sont très détendus sur les frais de licence. Cependant, le fait qu'il implique même la GPL me fait peur.

Donc ma question est fondamentalement, comment échapper à la GPL.

Voici un exemple: le moteur id Tech, également connu sous le nom de moteur Quake, ou moteur Doom, était la base du populaire moteur Source. Cependant, le moteur id Tech a été publié sous GPL, et le moteur Source est propriétaire. Valve a-t-il obtenu une licence différente? Ou ont-ils fait quelque chose pour échapper à la GPL? Existe-t-il un moyen d'échapper à la GPL? Ou, si vous utilisez le code source GPL comme base pour un autre projet, êtes-vous obligé d'utiliser la GPL et de rendre votre code source accessible au monde. Une personne au hasard pourrait-elle prendre le moteur id Tech, le modifier au-delà du point de reconnaissance, puis l'utiliser comme moteur propriétaire pour des produits commerciaux? Ou sont-ils tenus de le rendre open source.

Une dernière chose, je n'ai généralement aucun problème avec l'open source. Cependant, je pense que l'open source a sa place, mais ce n'est pas dans le monde de la brousse.

tehtros
la source
3
Vous avez répondu à votre propre question avec le devis que vous avez fourni. De plus, la source (HL2) n'était pas basée sur Quake. Vous pensez à GoldSrc (HL1).
Justin Skiles
C'est dommage que cela ait été rejeté parce que la question est clairement répondable et a plusieurs réponses précises.
Kylotan
1
Demandez à votre avocat, et d'ailleurs à la société qui fabrique le moteur, mais si je comprends bien les moteurs de jeu, la GPL ne peut s'appliquer qu'au code et à toutes les modifications que vous y avez apportées, et non à vos autres actifs [tels que les cartes , sons, art, etc.]. Pourquoi n'est-ce pas acceptable pour vous?
Random832
1
Vous pourriez aussi bien demander comment vous pouvez voler le code source de Microsoft et vous en sortir. Vous avez deux options et deux options seulement: respectez les règles stipulées par le propriétaire du code avec ses licences et / ou frais, ou allez utiliser autre chose.
Sean Middleditch
1
"Cependant, je pense que l'open source a sa place, mais ce n'est pas dans le monde de la brousse." Mais vous pensez qu'utiliser le code de quelqu'un et ne pas payer la licence commerciale ni accepter les termes de l'alternative a sa place dans le monde des affaires? Ce n'est pas tant une affaire que le vol. Non pas que cela n'a pas happenened dans le monde des affaires assez souvent ... - Il semble que vous vraiment ne voulez open source (compréhensible) du point de vue du programmeur, mais ont une aversion assez dogmatique contre du point de vue monétaire . Eh bien, ces vues ne sont pas compatibles.
leftaroundabout

Réponses:

28
  1. Si vous détenez des droits d'auteur sur le code source, vous pouvez libérer ce code comme bon vous semble. Le publier sous GPL n'empêche pas une sortie sous une autre licence non ou même plus restrictive. Je ne suis pas sûr des détails de Source / id Tech, mais je suppose que Valve a négocié sa propre licence.

  2. Si vous utilisez du code GPL dans votre projet, vous devez fournir le code source aux utilisateurs. Cela ne signifie pas que vous êtes tenu de gérer un site Web ou d'en conserver une copie à fournir sur demande. Cela ne signifie pas que vous devez rendre toutes les modifications publiques dès que vous les effectuez - ce n'est que lorsque vous redistribuez le logiciel, que le code et les modifications que vous apportez vont avec. ( http://www.gnu.org/licenses/gpl-faq.html#GPLRequireSourcePostedPublic )

  3. Si vous utilisez même une ligne de code GPL dans votre projet, vous êtes désormais lié par les termes de la GPL. L'une (mais pas la seule façon) consiste à publier également votre code sous GPL (ou à ne pas le publier du tout).
    Si vous le modifiez au-delà du point de reconnaissance et ne respectez pas les termes, vous vous en sortirez probablement (c'est-à-dire que vous ne serez pas poursuivi), mais ce n'est pas parce que vous vous en sortiriez que vous n'êtes pas '' t en violation de la licence, ou bien faire les choses.

  4. Pour utiliser le «code GPL» sans GPL, vous devez l'obtenir sous une autre licence, afin qu'il ne soit plus «code GPL» (en payant Cafu). Il n'y a aucun moyen de sortir de la GPL - elle a été conçue spécifiquement pour être une licence virale par ses inventeurs et son objectif serait nié si c'était possible.

Cela dit, si vous souhaitez utiliser du code GPL dans votre programme, vous pouvez créer une entité autonome que votre application utilise (si la liaison dynamique satisfait à cela est discutable - mais il est généralement admis que lorsque le résultat est un programme unique, la GPL est invoquée ). Ainsi, par exemple, vous pouvez créer un nouveau projet avec le code GPL et le vôtre, que vous publiez avec votre application (propriétaire), avec la GPL et le code source. Votre application communique cependant avec elle via CLI ou RPC et peut donc rester libre de la GPL.

De nos jours, de nombreux développeurs adoptent LGPL, qui permet de lier la plupart de ses formulaires sans que GPL soit transféré vers le projet de destination. (Cependant, si vous modifiez la bibliothèque elle-même, vous devez toujours fournir le code de la bibliothèque.)

Notez que suite au point 2, il est considéré comme poli de publier toutes les améliorations que vous apportez au code source ouvert, quelle que soit la licence.

sebf
la source
9
Si vous utilisez même une ligne de code GPL dans votre projet, votre projet est maintenant sous la licence GPL. Non. Si vous utilisez une ligne de code GPL, votre projet ne respecte pas la licence GPL, et quiconque a écrit cette ligne peut vous poursuivre. Un remède possible est de publier votre projet sous GPL, mais cela ne se produit pas automatiquement.
TRiG
3
(Cela ne vous empêche toujours pas de le vendre ou de le publier sous une licence moins restrictive en plus de la GPL ...) Oui, c'est le cas. Si je publie du code sous GPL, quelqu'un d'autre ne peut pas venir et simplement mettre ce même code dans (disons) le domaine public. Je possède toujours ce code; Je ne l'ai mis à la disposition des autres qu'aux conditions de la GPL.
Evan Harper
4
Malgré quelques inexactitudes mineures, +1 car il mentionne la solution la plus évidente, la plus simple, la plus rapide et la plus facilement accessible : Pour utiliser le `` code GPL '' sans GPL, vous devez l'obtenir sous une autre licence . Contactez les détenteurs des droits d'auteur, négociez une licence différente. Cela fonctionne évidemment pour toute autre licence aussi.
Martin Sojka
11
Cette réponse et tous les commentaires manquent une condition importante: les conditions GPL s'appliquent à la distribution , pas à l' utilisation . Si vous utilisez mille lignes de code GPL dans votre outillage interne (que vous ne distribuez pas), vous n'êtes toujours pas lié par les termes GPL.
MSalters
1
"vous vous en sortirez probablement". Hmmm, j'adore ce sentiment chaud et flou que j'obtiens de cette réponse.
Trevor Boyd Smith
64

Vous échappez à la GPL en payant aux développeurs une licence commerciale.

Tapio
la source
27
+1, je pense que Captain Obvious n'est pas inscrit sur stackexchange :)
teodron
1
+1, mais pour être plus précis, vous obtenez la permission d'utiliser le code sans la GPL. Cela ne signifie pas nécessairement que vous devez payer (même si c'est souvent le cas).
Kylotan
pas vraiment, vous dites ceci comme il y aura toujours une alternative commerciale pour chaque licence GPL sur terre; cela dépend de quelle est la stratégie du propriétaire de ce code.
user827992
4
Je dirais "Vous échappez à la GPL en payant aux développeurs une licence commerciale, leur donnant ainsi une part adéquate de l'argent que vous espérez gagner en récompense des nombreuses années-personnes d'efforts qu'ils ont consacrées à l'écrire".
DJClayworth
1
Presque, "Vous échappez à la GPL en payant aux développeurs une copie du code qui n'a pas d'encombrement GPL (quelque chose comme le MIT)."
Jonathan Dickinson
10

Vous demandez essentiellement "Comment puis-je voler le code de quelqu'un d'autre?" Si vous souhaitez utiliser le code protégé par un droit d'auteur, vous devez obtenir une licence de sa part. Si la seule licence dont vous disposez pour utiliser leur code est la GPL, vous devez la respecter ou vous violez leurs droits d'auteur. Si vous pouvez leur faire vous donner une licence différente pour leur code, c'est bien, mais vous n'échappez pas à la GPL.

Jason Goemaat
la source
3
-1. Vous échappez à la GPL: car ils vous donnent une licence complètement différente. Vous ne volez pas non plus leur code - si vous suivez les étapes qu'ils vous demandent (par exemple, payer de l'argent).
Jonathan Dickinson
5
Non, dans ce cas, votre utilisation de leur code n'a absolument rien à voir avec la GPL. L'évasion implique d'être piégé par quelque chose.
Jason Goemaat
@JonathanDickinson Je pense que son point ici est que l'OP ne semble pas vouloir payer pour une licence. Il veut l'obtenir gratuitement, mais sans les restrictions GPL.
Paul
Cela m'a fait graviter vers l'encombrement (au lieu de voler) "Cependant, le fait que cela implique même la GPL me fait peur." Cela ressemble plus à la peur (bien fondée) de la bannière GPL suspendue au-dessus du code.
Jonathan Dickinson
2
@Jonathan. L'OP dit que Zie ne sait rien des licences, donc je soupçonne que sa crainte de la GPL n'est pas "bien fondée".
TRiG
8

Avez-vous réellement besoin d'échapper à la GPL? Tout ce que la GPL vous demande de faire est de publier votre propre code source sous la GPL. Il ne s'applique pas aux niveaux de jeu, aux ressources artistiques, etc. Vous pouvez toujours vendre votre jeu et rendre le code disponible via la GPL aux personnes qui l'achètent s'il le souhaite, ou le rendre disponible en ligne pour tout le monde.

Le seul problème est que si vous souhaitez utiliser des bibliothèques tierces non GPL, vous ne pourrez pas les distribuer avec votre moteur GPL.

Si vous avez besoin d'échapper à la GPL, regardez leur page de licence, ils semblent suffisamment flexibles pour que vous puissiez conclure un accord.

Entaille
la source
Je suis d'accord avec cette réponse, d'autant plus que la plupart des gens n'ajoutent pas vraiment beaucoup de valeur supplémentaire lors de l'utilisation d'un moteur. Ce sont les autres actifs qui sont vraiment là où se trouve la valeur.
Paul
5

Il y a beaucoup de malentendus sur ce que la GPL est réellement et signifie réellement, et j'en détecte un dans votre question:

tout ce que vous faites avec le moteur est forcé sous GPL

Ce n'est pas du tout le cas. La source du moteur reste sous GPL à coup sûr, mais il vaut la peine de lire la FAQ GPL, en particulier les parties qui se rapportent à la sortie d'un programme GPL, qui je pense sont pertinentes ici: http: // www. gnu.org/licenses/gpl-faq.html#GPLOutput

Existe-t-il un moyen de GPL les résultats que les gens obtiennent de l'utilisation de mon programme? Par exemple, si mon programme est utilisé pour développer des conceptions matérielles, puis-je exiger que ces conceptions soient gratuites?

En général, cela est juridiquement impossible; la loi sur le droit d'auteur ne vous donne aucun mot à dire sur l'utilisation des résultats que les gens font à partir de leurs données en utilisant votre programme. Si l'utilisateur utilise votre programme pour saisir ou convertir ses propres données, le droit d'auteur sur la sortie lui appartient, pas vous. Plus généralement, lorsqu'un programme traduit son entrée sous une autre forme, le statut de copyright de la sortie hérite de celui à partir duquel elle a été générée.

Ainsi, la seule façon d'avoir votre mot à dire sur l'utilisation de la sortie est de copier (plus ou moins) des parties substantielles de la sortie à partir du texte de votre programme. Par exemple, une partie de la production de Bison (voir ci-dessus) serait couverte par la GNU GPL, si nous n'avions pas fait d'exception dans ce cas spécifique.

Vous pourriez artificiellement faire en sorte qu'un programme copie certains textes dans sa sortie même s'il n'y a aucune raison technique de le faire. Mais si ce texte copié ne sert à rien, l'utilisateur peut simplement supprimer ce texte de la sortie et utiliser uniquement le reste. Il n'aurait alors pas à respecter les conditions de redistribution du texte copié.

Cela change un peu votre situation. Vous n'êtes pas réellement dans une position où tout contenu que vous développez pour ou avec ce moteur relève également de la GPL; ce contenu vous appartient, vous en détenez les droits d'auteur et vous pouvez le concéder sous licence à votre guise.

IANAL, etc.

Maximus Minimus
la source
2
Je ne sais rien du moteur spécifique, mais ce qui précède n'est vrai que si le moteur prend vos conceptions de jeu et produit un jeu autonome en conséquence. Si le moteur lui-même, ou une partie de celui-ci, est distribué avec le jeu, ou lié au code du jeu, la GPL s'applique à tout.
rjmunro
Je crois qu'il est tout à fait possible qu'un moteur soit GPL mais que le contenu du jeu ne le soit pas. Le contenu du jeu n'est pas du code et n'est pas "lié" au moteur de la même manière que le code; les cartes, les textures, les modèles, etc. ne sont pas liés au moteur de cette façon. Malheureusement, la FAQ GPL n'est pas claire à ce sujet (ce qui est une raison valable pour ne pas utiliser la GPL).
Maximus Minimus
Cette réponse décrit davantage ce qui se passe avec le contenu produit avec un outil GPL. Comme un document écrit dans un éditeur de texte GPL ne sera pas forcé d'être GPL. Mais cela ne peut pas être traduit en moteur de jeu. Un moteur de jeu ne prend pas de code et ne produit pas de jeu autonome sans relation avec le moteur - vous inclurez tout le moteur dans votre jeu.
Matsemann
4

Seule la personne, le groupe de personnes ou l'activité propriétaire du code peut modifier sa propre licence.

Si ce code est le vôtre, vous pouvez changer de licence chaque fois que vous le souhaitez, décider d'être payé ou non, vous pouvez faire ce que vous voulez, mais si le code ne vous appartient pas, vous vous en tenez à la licence si vous voulez éviter les problèmes; gros ennuis.

Le propriétaire peut également refuser d'accepter d'être payé, c'est une situation comme celle que vous avez avec les brevets, si vous pouvez prouver que vous possédez le code ne signifie pas que vous le mettez sur le marché pour de l'argent, beaucoup beaucoup fois le brevet ou la licence est censé forcer le marché ou l'utilisateur à rester dans un espace confiné.

La réponse est non et la seule façon de changer la licence est d'espérer que le propriétaire le fera.

user827992
la source
Assez bonne comme réponse générale - mais dans ce cas, il est évident qu'ils acceptent le paiement des copies du code avec une licence différente. +1 (je donne également des réponses plus générales :)).
Jonathan Dickinson
4

L'idée est simple - si l'entreprise a écrit le code, elle détient donc tous les droits, et peut donc le donner à certaines parties sous licence GPL, à d'autres sous licence commerciale, et à quelqu'un d'autre, il peut le donner en cadeau, ou louer, ou tout ce qu'ils veulent.

Le fait qu'ils aient fourni le code à une partie sous GPL, impose des restrictions GPL à cette partie , mais elle ne peut imposer aucune restriction au propriétaire du code .

Seulement, si le propriétaire du code a utilisé dans son logiciel du code GPL tiers , écrit et détenu par quelqu'un d'autre, alors tout son projet est verrouillé pour toujours dans GPL (ou jusqu'à ce qu'il supprime ce code GPL tiers ou obtienne un code non Licence GPL). Veuillez noter que cela est également vrai pour les moteurs 100% commerciaux sans GPL - s'ils contiennent du code GPL, ils violent la GPL, n'ont pas le droit de vendre des licences commerciales et vous n'avez pas le droit d'acheter une telle licence.

Ainsi, si tout le code du "Moteur Cafu" est écrit par le personnel de Cafu, vous n'avez aucun problème avec la GPL. Si vous obtenez une licence commerciale de Cafu, la licence GPL ne s'applique pas du tout à vous .

Sandman4
la source
Cette réponse est bonne, sauf qu'elle semble supposer que l'affiche originale fait partie du personnel de Cafu et possède le code, ce qui ne semble pas être le cas.
Kylotan
Je ne l'ai pas supposé. Je me demande ce qui vous a fait penser ainsi.
Sandman4
Votre dernier paragraphe dit à peu près cela, car il assimile «personnel Cafu» à «vous».
Kylotan
@Kylotan Édité le dernier paragraphe pour le rendre un peu plus clair. Je ne peux pas le formuler correctement cependant, tout le monde est le bienvenu pour mieux le formuler.
Sandman4
C'est la meilleure réponse de loin. J'ai édité le dernier paragraphe, mais je n'ai pas de modifications sur ce site, il faudra donc attendre l'approbation.
rjmunro
2

Il existe un moyen "d'échapper" à la GPL ou (pratiquement) à toute autre licence. Réalisez une mise en œuvre en salle blanche.

Embauchez deux groupes de personnes. La tâche du premier groupe est d'étudier le matériel original dans les moindres détails et de le décrire. Le deuxième groupe, qui n'aura jamais, jamais vu le matériel original, écrira une nouvelle implémentation basée sur la description.

C'est ainsi que le BIOS sur les clones PC originaux a été créé; le BIOS était le seul morceau qu'IBM n'ait pas laissé copier.

Cela ne signifie pas que vous êtes à l'abri des poursuites judiciaires. Les brevets et la merde "look and feel" sont toujours là, et au moins aux États-Unis, n'importe qui peut poursuivre quiconque sans raison particulière (ou du moins il semble que ce soit le cas. .)

Jari Komppa
la source
1

En ce qui concerne la question sur le moteur Quake: le code peut être publié sous GPL et également sous d'autres licences. Valve a autorisé Quake en versant de l'argent à iD. Plus tard, tout le monde dans le monde a obtenu une licence GPL (sic) pour utiliser le code source de Quake. Quand iD GPL a installé le moteur, ils n'ont pas converti rétroactivement d'autres licences en GPL; ce serait impossible. En fait, iD peut toujours autoriser le moteur Quake sous une licence différente s'ils le souhaitent, car ils détiennent les droits d'auteur d'origine.

Gregory Avery-Weir
la source