122 votes

<div>License MIT vs GPL</div>

La licence MIT est compatible avec la GPL. La licence GPL est-elle compatible avec la licence MIT? Autrement dit, puis-je inclure du code sous licence MIT dans un produit sous licence GPL, mais puis-je inclure du code sous licence GPL dans un produit sous licence MIT?

Il me semble que la principale différence entre la licence MIT et la GPL est que la licence MIT ne nécessite pas que les modifications soient open source, alors que la GPL le nécessite. Est-ce correct? Est-ce que la GPL est plus restrictive que la licence MIT?

76voto

Ravi Jayagopal Points 390

Il me semble que la principale différence entre la licence MIT et la GPL est que la licence MIT ne nécessite pas que les modifications soient open source, alors que la GPL le demande.

Vrai - en général. Vous n'êtes pas obligé de rendre open source vos modifications si vous utilisez la GPL. Vous pouvez le modifier et l'utiliser à des fins personnelles tant que vous ne le distribuez pas. MAIS... si vous le distribuez, alors votre projet entier qui utilise le code GPL devient automatiquement GPL. Ce qui signifie qu'il doit être open source, et le destinataire dispose de tous les mêmes droits que vous - cela signifie qu'il peut le distribuer, le modifier, le vendre, etc. Et cela inclurait votre code propriétaire qui ne serait alors plus propriétaire - il deviendrait open source.

La différence avec la licence MIT est qu'en fait, même si vous distribuez votre code propriétaire qui utilise le code sous licence MIT, vous n'êtes pas obligé de rendre le code open source. Vous pouvez le distribuer en tant qu'application fermée où le code est crypté ou est un binaire. Inclure le code sous licence MIT peut être crypté, tant qu'il comporte l'avis de licence MIT.

Est-ce que la GPL est plus restrictive que la licence MIT ?

Oui, beaucoup plus.

45voto

hakre Points 102271

Puis-je inclure du code sous licence GPL dans un produit sous licence MIT?

Vous le pouvez. GPL est un logiciel libre tout comme MIT l'est, les deux licences ne vous empêchent pas d'assembler le code alors que "inclure" est toujours bidirectionnel.

En matière de droit d'auteur sur une œuvre combinée (c'est-à-dire deux ou plusieurs œuvres formant ensemble une œuvre), cela ne fait pas vraiment de différence si une œuvre est "plus grande" que l'autre ou non.

Donc si vous incluez du code sous licence GPL dans un produit sous licence MIT, vous inclurez en même temps un produit sous licence MIT dans le code sous licence GPL également.

Comme deuxième avis, l' OSI a énuméré les critères suivants (plus en détail) pour les deux licences (MIT et GPL) :

  1. Redistribution gratuite
  2. Code source
  3. Œuvres dérivées
  4. Intégrité du code source de l'auteur
  5. Pas de discrimination à l'égard personne ou groupe
  6. Pas de discrimination à l'égard des domaines d'activité
  7. Distribution de licence
  8. La licence ne doit pas être spécifique à un produit
  9. La licence ne doit pas restreindre les autres logiciels
  10. La licence doit être neutre sur le plan technologique

Les deux permettent la création d'œuvres combinées, ce que vous avez demandé.

Si la combinaison des deux œuvres est considérée comme une dérivation, alors cela n'est pas non plus restreint par les deux licences.

Et les deux licences ne restreignent pas la distribution du logiciel.

Il me semble que la principale différence entre la licence MIT et GPL est que la licence MIT ne nécessite pas que les modifications soient open source, alors que la GPL le fait.

La GPL ne vous oblige pas à publier vos modifications simplement parce que vous les avez faites. Ce n'est pas précis.

Vous pourriez confondre cela avec la distribution de logiciels sous GPL, ce qui n'est pas directement ce que vous avez demandé.

Est-ce correct - la GPL est-elle plus restrictive que la licence MIT?

Voici comment je le comprends :

En ce qui concerne la distribution, vous devez mettre l'ensemble du package sous GPL. Le code MIT à l'intérieur du package restera disponible sous MIT alors que la GPL s'applique au package dans son ensemble si elle n'est pas limitée par des droits supérieurs.

"Restrictif" ou "plus restrictif" / "moins restrictif" dépend beaucoup du point de vue. Pour un utilisateur de logiciel, le MIT peut aboutir à un logiciel plus restreint que celui disponible sous GPL, même si certains considèrent maintenant la GPL comme plus restrictive. Cet utilisateur en particulier qualifiera peut-être le MIT de plus restrictif. C'est juste subjectif de le dire et différentes personnes vous donneront des réponses différentes à ce sujet.

Comme il est juste subjectif de parler des restrictions des différentes licences, vous devriez réfléchir à ce que vous aimeriez réaliser à la place :

  • Si vous souhaitez restreindre l'utilisation de vos modifications, alors le MIT est capable d'être plus restrictif que la GPL pour la distribution et c'est peut-être ce que vous recherchez.
  • Si vous voulez vous assurer que la liberté de votre logiciel ne soit pas trop restreinte par les utilisateurs à qui vous le distribuez, alors vous voudrez peut-être le publier sous GPL plutôt que sous MIT.

Tant que vous êtes l'auteur, c'est vous qui pouvez décider.

Alors la personne la plus restrictive sera toujours l'auteur, quel que soit la licence pour laquelle quelqu'un opte ;)

16voto

JosephH Points 21074

Vous avez raison de dire que la GPL est plus restrictive que la licence MIT.

Vous ne pouvez pas inclure du code GPL dans un produit sous licence MIT. Si vous distribuez une œuvre combinée qui combine du code GPL et MIT (sauf dans certaines situations particulières, par exemple 'simple agrégation'), cette distribution doit être conforme à la GPL.

Vous pouvez inclure du code sous licence MIT dans un produit GPL. L'ensemble de l'œuvre combinée doit être distribué de manière conforme à la GPL. Si vous avez apporté des modifications aux parties du code MIT, vous seriez tenu de publier le code source de ces modifications si vous distribuez une application contenant du code GPL et MIT.

Si vous êtes le propriétaire des droits d'auteur du code GPL, vous pouvez bien sûr choisir de publier ce code sous licence MIT à la place - dans ce cas, c'est votre code et vous pouvez le publier sous autant de licences que vous le souhaitez.

5voto

tcurdt Points 4916

IANAL mais tel que je le vois....

Alors que vous pouvez combiner du code GPL et MIT, le GPL est contaminant. Cela signifie que le package dans son ensemble obtient les limitations du GPL. Comme il s'agit de quelque chose de plus restrictif, vous ne pouvez plus l'utiliser dans des logiciels commerciaux (ou plutôt à code source fermé). Cela signifie également que si vous avez un projet MIT/BSD/ASL, vous ne voudrez pas ajouter de dépendances au code GPL.

Ajouter une dépendance GPL ne change pas la licence de votre code mais cela limitera ce que les gens peuvent faire avec l'artefact de votre projet. C'est aussi pourquoi la ASF n'autorise pas les dépendances au code GPL pour leurs projets.

http://www.apache.org/licenses/GPL-compatibility.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X