Comment les licences compatibles GPL comme MIT peuvent-elles être utilisées dans les programmes GPL sans être soumises à la disposition sur le copyleft?


19

J'examine actuellement les possibilités et les implications de la liaison avec une bibliothèque GPL pour une application dans un contexte commercial.

D'après ce que j'ai compris de la GPL, tant que l'application est utilisée en interne, il n'y a aucune obligation de publier son code (même si une copie est déplacée vers une filiale contrôlée).

Ce que je ne comprends pas, c'est le point suivant de la FAQ:

Si une bibliothèque est publiée sous la GPL (pas la LGPL), cela signifie-t-il que tout logiciel qui l'utilise doit être sous la GPL ou une licence compatible GPL ? Oui, car le logiciel tel qu'il est réellement exécuté inclut la bibliothèque.

Si je regarde les licences compatibles GPL , certaines d'entre elles (comme la boost) ne semblent pas imposer la sortie du code. Son utilisation créerait une situation où vous pourriez être conforme à la licence GPL sans avoir à respecter son obligation de rendre votre code public (ce qui ne semble pas très crédible).

(NB: il y a des composants dans Adobe Photoshop sous licence boost et je ne pense pas que le code soit disponible sur demande)

L'explication la plus raisonnable serait que je manque quelque chose ... Pourriez-vous s'il vous plaît me dire où j'ai fait une erreur?


1
+1 pour explication simplement parce que pourquoi utiliseriez-vous ce mot dans une phrase
Jimmy Hoffa

@JimmyHoffa +1 pour votre amour de la langue.
Racheet

1
Où avez-vous découvert que Boost était GPL? Il a sa propre licence. La règle standard est que la GPLv2 ne se mélange pas avec un logiciel propriétaire. Il y a une question par semaine sur ce site sur la façon de contourner ce problème. Nous devons interdire toutes les questions GPL.
Andrew T Finnell

Je vois qu'il a dit que Boost était compatible GPL. Le reste de mon commentaire est valable.
Andrew T Finnell

Réponses:


26

Comment les licences compatibles GPL comme MIT peuvent-elles être utilisées dans les programmes GPL sans être soumises à la disposition sur le copyleft?

Réponse courte: ils ne le sont pas. Ils seront soumis au copyleft.

Longue réponse:

L' article Wikipedia sur la compatibilité des licences contient une bonne section sur la compatibilité GPL :

La plupart des licences de logiciels libres les plus courantes, comme la licence MIT / X d'origine, ... sont "compatibles GPL". Autrement dit, leur code peut être combiné avec un programme sous la GPL sans conflit ( la nouvelle combinaison aurait la GPL appliquée à l'ensemble ).

[non souligné dans l'original]

Et plus explicitement dans la FAQ FSF sur la compatibilité GPL :

Cela signifie que l'autre licence et la GNU GPL sont compatibles; vous pouvez combiner le code publié sous l'autre licence avec le code publié sous la GNU GPL dans un programme plus grand.

Et juste pour l'édification, voici les commentaires de la FSF sur diverses licences

Commentaire de la FSF sur la licence boost

Il s'agit d'une licence de logiciel libre laxiste, permissive et non copyleft, compatible avec la GNU GPL.

Ce qui signifie que tout ce qui est sous licence Boost est facilement englobé par la GPL.

Où ça devient difficile

Disons que nous avons un projet Foosous licence Boost, et un projet Barsous licence GPL et qui veut utiliser Foo.

Bar+Fooest autorisé car les licences sont compatibles, et la version de Bar+Foodoit être GPL, tout comme BarGPL. Foo, seul ou sans Bar ou Bar+Foo , est toujours disponible sous la licence Boost. Dit d'une autre manière, Bar+Foon'a aucun impact de licence sur Foolui-même.

La licence résultante de la combinaison de projets est un événement à action directe pour la combinaison uniquement. Ce n'est pas un événement rétroactif.

Donc, si quelqu'un d'autre veut prendre Fooet faire autre chose avec, il est toujours libre de le faire sans la disposition de copyleft de la GPL. Cependant, s'ils prennent Bar+Foo, suppriment Baret utilisent uniquement, +Fooils sont toujours liés par les termes de la GPL depuis qu'elle a Bar+Fooété GPL.

Votre autre question:

D'après ce que j'ai compris de la GPL, tant que l'application est utilisée en interne, il n'y a aucune obligation de publier son code (même si une copie est déplacée vers une filiale contrôlée).

Ceci est directement répondu par la FAQ FSF GPL sur la distribution des sources

La GPL ne vous oblige pas à publier votre version modifiée, ou une partie de celle-ci. Vous êtes libre de faire des modifications et de les utiliser en privé, sans jamais les publier. Cela s'applique également aux organisations (y compris les entreprises); une organisation peut créer une version modifiée et l'utiliser en interne sans jamais la publier en dehors de l'organisation.

Les filiales en propriété exclusive sont considérées comme faisant partie de l'organisation mère, vous seriez donc légalement clair. La FSF souligne cependant que vous violez l'esprit du logiciel libre.


3
Je me demande: si un employé utilise la version modifiée non publiée dans l'entreprise, aurait-il le droit d'obtenir le code source de l'entreprise?
unor

@ GlenH7: merci pour votre explication très utile (en particulier la partie "Où ça devient délicat")
Louis Morazzani

2
@unor - Non, cela constituerait un usage privé par l'entreprise (l'employé fait partie de l'entreprise, pas une entité distincte).
iheanyi

"Cependant, s'ils prennent Bar + Foo, suppriment Bar et utilisent uniquement + Foo, ils sont toujours liés par les termes de la GPL puisque Bar + Foo a été GPL." Êtes-vous sûr? Foo était toujours sous licence Boost. Si je comprends bien, la licence Boost ne doit pas être supprimée, même lorsqu'elle est combinée avec du code GPL. ("La concession de licence ci-dessus, cette restriction et la clause de non-responsabilité suivante doivent être incluses dans toutes les copies du logiciel, en tout ou en partie, et dans toutes les œuvres dérivées du logiciel [...]")
lesderid

2
@ GlenH7 Bien sûr, mais seraient-ils même autorisés à délivrer une nouvelle Foolicence sous la GPL? La sous-licence serait bien, mais ils devraient également conserver la licence Boost Bar+Foo, n'est-ce pas?
lesderid

8

Par «compatible GPL», ils signifient une licence qui n'entre pas en conflit avec la GPL. Une licence moins restrictive, comme la licence Boost, est "compatible" avec la GPL car elle n'empêche pas les utilisateurs du code de faire quoi que ce soit que la GPL permettrait à un utilisateur de faire. Autrement dit, la licence Boost permet aux gens de copier librement, ce qui est ce que la GPL exige que les gens soient autorisés.

Un exemple de licence qui n'est pas "compatible" serait une licence qui exigerait des droits aux auteurs originaux pour que les utilisateurs distribuent des copies. Étant donné que la GPL autorise explicitement la distribution gratuite et payante, cette licence plus restrictive ne serait pas compatible.

En d'autres termes, la GPL dit "Vous devez autoriser $ A, $ B et $ C". Toute licence autorisant $ A, $ B, $ C ainsi que $ D et $ E est compatible. Une licence autorisant $ A et $ B mais pas $ C ne le serait pas.


4
Donc, le nouveau travail combiné est entièrement sous licence GPL, n'est-ce pas? Mais le code original sous licence MIT peut toujours être distribué séparément sous MIT sans déroger à la GPL, n'est-ce pas?
Robert Harvey

1
IANAL, mais oui, c'est comme ça que ça marche.
Fabio Fracassi

4
" car cela n'empêche pas les utilisateurs du code de faire quoi que ce soit que la GPL permettrait à un utilisateur de faire " - Et aussi parce qu'il n'empêche pas l'utilisateur de faire quoi que ce soit que la GPL leur demanderait de faire.
Ross Patterson

2
Petite piqûre mais la GPL n'interdit pas réellement de facturer des frais pour à peu près n'importe quoi; voir gnu.org/licenses/gpl-faq.html#DoesTheGPLAllowMoney
Maximus Minimus

1
Je suis presque sûr que la GPL permet à quiconque de facturer la distribution, mais ne permet pas aux gens d'exiger que les autres facturent s'ils se distribuent eux-mêmes. En d'autres termes, je peux vous facturer une copie, mais je ne peux pas vous obliger à m'envoyer un paiement si vous en donnez une copie à un tiers.
Gort the Robot

1

Vous ne vous êtes pas trompé: la réponse à la FAQ était incomplète. Il aurait dû dire que le programme combiné doit être sous licence GPL, pas une licence compatible GPL. Il a depuis été corrigé (voir ci-dessous: j'ai souligné le point important):

Oui, car le programme est en fait lié à la bibliothèque. À ce titre, les termes de la GPL s'appliquent à l'ensemble de la combinaison. Les modules logiciels qui se lient à la bibliothèque peuvent être sous diverses licences compatibles GPL, mais le travail dans son ensemble doit être sous licence GPL . Voir aussi: Que signifie dire qu'une licence est «compatible avec la GPL»?

J'avais dit plus tôt que "si une bibliothèque est publiée sous la GPL, tout logiciel qui l'utilise doit l'être sous la GPL elle-même en raison de sa nature dite" virale ". Une licence permissive compatible GPL telle que boost ne peut pas être utilisée . " Par «logiciel qui l'utilise», j'entendais les modules et la bibliothèque combinés.


Je pense que c'est un malentendu courant. Il n'est pas nécessaire de publier votre partie du code sous la GPL, tant qu'il dispose d'une licence compatible. La licence pour votre part peut également être plus permissive, mais pas moins, que la GPL. Seul le travail combiné reste sous la GPL, donc les restrictions supplémentaires de la GPL ne s'appliquent que si l'on utilise votre code avec la bibliothèque GPL liée. Voir gnu.org/licenses/gpl-faq.html#GPLModuleLicense
ert

1
Oui c'est vrai. Ma réponse originale aurait pu être mal interprétée. Heureusement, tout est théorique maintenant, car Gnu a mis à jour sa FAQ pour dire la bonne chose.
Bennett McElwee
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.