web-dev-qa-db-fra.com

MIT vs licence GPL

La licence MIT est compatible avec la GPL. La licence GPL est-elle compatible avec le MIT? C’est-à-dire que je peux inclure du code sous licence MIT dans un produit sous licence GPL, mais je peux également 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 licence GPL) est que la MIT ne nécessite pas de modifications, alors que la licence GPL le fait. La GPL est-elle plus restrictive que la licence MIT)?

122
fruzer

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

Vrai - en général. Vous n'avez pas pour ouvrir vos modifications si vous utilisez la GPL. Vous pouvez le modifier et l'utiliser à vos propres fins tant que vous ne le distribuez pas. MAIS ... si vous le distribuez, alors tout votre projet utilisant le code GPL devient également automatiquement GPL. Ce qui signifie qu’il doit être de source ouverte et que le destinataire obtient les mêmes droits que vous, ce qui signifie qu’ils peuvent le distribuer et le distribuer, le modifier, le vendre, etc. Cela inclurait votre code propriétaire qui ne serait alors plus utilisé. plus être propriétaire - il devient open source.

La différence avec MIT est que même si vous distribuez votre code propriétaire qui utilise le code sous licence MIT, vous n'avez pas besoin de rendre le code open source. Vous pouvez le distribuer en tant qu'application fermée lorsque le code est crypté ou est un fichier binaire. Le code sous licence MIT, y compris le code sous licence MIT, peut être crypté tant qu'il porte l'avis de licence MIT).

la GPL est-elle plus restrictive que la licence MIT?

Oui, vraiment.

76
Ravi Jayagopal

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

Vous pouvez. La GPL est un logiciel libre de même que MIT), les deux licences ne vous empêchent pas de réunir le code, car "include" est toujours bidirectionnel.

En matière de droit d'auteur pour une œuvre combinée (c'est-à-dire que deux œuvres ou plus forment ensemble une œuvre), peu importe si l'une des œuvres est "plus grande" que l'autre ou non.

Donc, si vous incluez un code sous licence GPL dans un produit sous licence MIT), vous ajouterez en même temps un produit sous licence MIT dans le code sous licence GPL.

En deuxième avis, le 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. Travaux dérivés
  4. Intégrité du code source de l'auteur
  5. Pas de discrimination contre les personnes ou les groupes
  6. Pas de discrimination contre les champs de bataille
  7. Distribution de licence
  8. La licence ne doit pas être spécifique à un produit
  9. La licence ne doit pas restreindre d'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 aviez demandé.

Si la combinaison des deux œuvres est considérée comme un dérivé, les deux licences ne la limitent pas non plus.

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

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

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

Vous pouvez associer cela à la distribution de logiciels sous GPL, ce que vous n'avez pas demandé directement.

Est-ce exact? La licence GPL est-elle plus restrictive que la licence MIT)?

Voici comment je le comprends:

En ce qui concerne la distribution, vous devez placer le paquet entier sous GPL. MIT le code à l'intérieur du paquet sera toujours disponible sous MIT alors que la GPL s'applique au paquet dans son ensemble si elle n'est pas limitée par des droits plus élevés.

"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 certains l'appellent plus restrictive de nos jours. Cet utilisateur en particulier appellera le MIT plus restrictif. C'est simplement subjectif de le dire, et différentes personnes vous donneront des réponses différentes.

Comme il est simplement subjectif de parler de restrictions de différentes licences, vous devriez plutôt penser à ce que vous souhaitez réaliser:

  • Si vous souhaitez restreindre l'utilisation de vos modifications, alors MIT peut être plus restrictif que la GPL pour la distribution et c'est peut-être ce que vous recherchez.
  • Si vous voulez vous assurer que les utilisateurs auxquels vous le distribuez ne restreignent pas autant la liberté de votre logiciel, vous pouvez être amené à le publier sous GPL au lieu de MIT.

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

Donc, la personne la plus restrictive de tous les temps est l'auteur, quelle que soit la licence pour laquelle une personne choisit;)

45
hakre

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

Vous ne pouvez pas inclure de code GPL dans un produit sous licence MIT. Si vous distribuez un travail combiné combinant la GPL et le code MIT (sauf dans certaines situations particulières, par exemple une "simple agrégation"), cette distribution doit être conforme à la GPL.

Vous pouvez inclure MIT code sous licence dans un produit GPL. L'ensemble du travail combiné doit être distribué de manière conforme à la GPL. Si vous avez modifié les parties du code MIT, vous devez publier la source de ces modifications si vous distribuez une application contenant la GPL et le code MIT.

Si vous êtes le détenteur des droits sur le code GPL, vous pouvez bien sûr choisir de le diffuser sous la licence MIT. Dans ce cas, il s'agit de votre code et vous pouvez le publier sous autant de licences que vous le souhaitez. .

16
JosephH

IANAL mais comme je le vois ....

Bien que vous puissiez combiner la GPL et le code MIT), la GPL est corrompue. Ce qui signifie que le paquet dans son ensemble obtient les limitations de la GPL. Comme cela est plus restrictif, vous ne pouvez plus l’utiliser dans le commerce. Ce qui signifie également que si vous avez un projet MIT/BSD/ASL, vous ne voudrez pas ajouter de dépendances au code GPL.

L'ajout d'une dépendance GPL ne modifie pas la licence de votre code mais limite ce que les utilisateurs peuvent faire avec l'artefact de votre projet. C’est aussi la raison pour laquelle ASF n’autorise pas les dépendances au code GPL pour leurs projets.

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

5
tcurdt