Pouvez-vous modifier le code distribué sous la licence MIT et le redistribuer sous la licence GPL? [fermé]


57

Est-il possible de modifier le code du plug - in Chili , dont la dernière version date de juillet 2008 et qui est sous licence MIT, pour le faire ensuite sous GPL?

Autant que je sache, il n'y a pas de restriction concernant la licence du nouveau code sous la même licence. Est-ce vraiment le cas ou y a-t-il un nombre minimum de changements?

Dans mon cas, je changerais le plugin jQuery en code Javascript normal exécuté dans un CMS. Cela signifie essentiellement que, entre autres:

  • Le code n'utilisera pas l'espace de noms "ChiliBook".
  • La fonction ne sera pas appelée en tant que $($element).chili(), mais en tant que GlobalObject.ChiliHighlighter.process($jquery_element), où "GlobalObject" est un objet JavaScript utilisé à partir du CMS.
  • Le code permettra aux autres modules de modifier l' GlobalObject.ChiliHighlighterobjet pour ajouter des fonctions qui sont éventuellement appelées à partir de GlobalObject.ChiliHighlighter.process()leur définition.

Comme alternative, comme le référentiel que j'utilise me permet d'inclure du code non sous licence GPL 2 ou supérieure lorsque le code n'est plus maintenu, le plugin pourrait-il être considéré comme n'étant plus maintenu, car sa dernière version avait été publiée il y a trois ans?


2
Si vous voulez vraiment une réponse faisant autorité, vous devriez consulter un avocat (dans la juridiction concernée, par exemple, la réponse pourrait être différente en Italie aux États-Unis)
MarkJ

Réponses:


59

C'est techniquement légal.

La licence MIT (Expat) vous impose quelques restrictions. Ce sont un sous-ensemble de la licence GPL. Par conséquent, si vous modifiez la licence du code sous la licence GPL et que vous conservez la notification du MIT, vous remplissez les conditions de la licence MIT et pouvez légalement le redistribuer.

Notez que vous ne pouvez pas revendiquer la propriété du droit d'auteur; vous devrez reconnaître le copyright original.

[modifier] Certaines personnes ne semblent pas comprendre comment F / OSS fonctionne conjointement avec les lois sur les droits d'auteur et les licences. Tout commence par le droit d'auteur, ne serait-ce que parce que c'est la valeur par défaut. En vertu de la doctrine du droit d'auteur, l'auteur obtient le droit de copier le code source. En vertu de la licence MIT, ce droit m’est accordé, de même que le droit de l’accorder récursivement à d’autres. Notez que la licence MIT inclut explicitement le droit de sous-licence. Citant:"the rights to use, copy, modify, merge, publish,distribute, sublicense, and/or sell"

Lorsque je sous-code de code, je ne peux pas accorder de droits que je n'avais pas à l'origine. Dans le cas de la GPL, il est explicitement interdit de ne sous-licencier que certains droits. Mais ni en droit ni dans la licence du MIT, je n’ai l’obligation de sous-licencier l’ensemble des droits.

Par conséquent, la licence MIT m'accorde le droit explicite de sous-licencier des droits, et ni la loi ni la licence du MIT ne m'interdit de sous-licencier que certains droits. En outre, ni l'un ni l'autre ne limite la forme dans laquelle je fais. Par conséquent, j’ai le droit indéniable d’accorder une sous-licence GPL pour ce code.


6
@vartec: Vous ne modifiez pas la licence sous laquelle vous avez reçu le code. Vous créez une nouvelle licence entre vous et le nouveau destinataire, qui peut comporter les termes de votre choix. (Le nouveau destinataire peut obtenir des droits supplémentaires en vertu de la licence d'origine, mais cela n'a aucun effet sur la nouvelle licence.) Il est généralement admis qu'une sous-licence accorde une fraction des droits de la licence d'origine. Par exemple, une sous-licence inclut rarement le droit de sous-licence, que la licence d'origine doit avoir incluse pour qu'il y ait une sous-licence.
David Schwartz

3
@vartec: Vous faites essentiellement valoir qu'une licence de droit d'auteur qui accorde le droit de sous-licence n'accorde pas le droit de sous-licence. Cependant, je ne suis pas sûr de savoir sur quoi vous vous appuyez. Avez-vous des références à une autorité légale pertinente? Voulez-vous dire qu'un détenteur du droit d'auteur ne peut pas accorder aux autres le droit de concéder une licence pour son travail? Ou pensez-vous que la licence du MIT échoue ou n’a pas l’intention de le faire?
David Schwartz

1
@ David: vous ne semblez pas comprendre ce que signifie "sous-licence".
vartec

1
@vartec: Un lien vers une source qui explique que ce serait formidable, car je pense que vous ne comprenez pas ce que cela signifie.
David Schwartz

7
La licence du MIT contient ce bit: "La notice de copyright ci-dessus et cette notification de permission doivent être incluses dans toutes les copies ou parties substantielles du logiciel." Cela signifie que toute fourche doit être disponible sous la licence MIT. Les modifications pourraient être répertoriées en tant que GPL. La fourche pourrait être répertoriée comme GPL + MIT. Mais la fourche ne peut pas être répertoriée en tant que GPL uniquement - il s'agit d'une violation flagrante de la licence MIT.
Jonathan Vanasco

26

Oui. Mais l'effet peut ne pas être ce que vous pensez.

La licence MIT inclut tous les droits conférés par la GPL et plus encore. Et tandis que les personnes qui reçoivent votre distribution ne reçoivent qu'une licence GPL pour les éléments que vous avez ajoutés, elles reçoivent quand même une licence MIT (des auteurs originaux, pas de vous) pour tous les éléments contenus dans le travail proposé par les auteurs sous cette licence.

Ils ne le savent peut-être pas et, autant que je sache, aucune loi ne vous oblige à le leur dire. Mais s'ils "violent" la licence GPL en ce qui concerne l'expression pouvant être protégée contenue dans le travail que vous n'avez pas créé (ou que d'autres n'ont pas contribué à la publication de la GPL uniquement), ils n'ont pas violé votre licence ou vos droits d'auteur. (En fait, cela devrait être assez évident - vous ne détenez le droit d'auteur que pour l'expression que vous avez créée.)

Donc, vous n'avez converti aucun élément de la licence MIT susceptible de droit d'auteur en licence GPL. Vous avez simplement ajouté de nouveaux éléments uniquement proposés sous licence GPL et publié les éléments d'un travail mixte / combiné.


Donc, dans la pratique, je ferais ceci: copier un projet MIT, remplacer tout ce qui est MIT par GPL (il ne reste donc aucune trace du projet ayant été MIT), puis créer un lien vers le projet original MIT à quelques endroits importants (pas tous le fichier source cependant), en mentionnant que le projet de base est disponible sous MIT. cela serait-il correct / légal (étant donné que je conserve les déclarations originales du propriétaire des droits d'auteur)?
Hoijui

1
@hoijui Vous devez laisser intacts tous les en-têtes de licence MIT et tous les avis d'autorisation et les inclure dans votre nouveau projet. Et à moins que votre intention soit de tromper, je ne vois pas pourquoi vous remplaceriez toutes les mentions de «MIT». Cela ne changera rien, les parties que vous prendrez seront toujours sous licence MIT. Ajoutez simplement votre propre en-tête de licence GPL en dessous, il sera valable pour toutes les modifications pouvant être protégées par le droit d'auteur (c.-à-d. Ne pas simplement renommer les variables) que vous apportez au code source. BTW c'est pourquoi la plupart des projets ont un en-tête de copyright dans chaque fichier.
Jmiserez

@jmiserez ok. regardons donc un fichier de mon projet, puis: je laisse l’en-tête du MIT, je fais quelques modifications et j’ajoute un en-tête GPL (car je veux que mes modifications ne soient disponibles que sous GPL). maintenant, une 3ème partie venant de mon dossier devra honorer le MIT et la GPL? Je n'ai jamais vu un fichier avec deux en-têtes de licence, et je pense que la plupart des gens choisiraient simplement la licence qu'ils préfèrent, car ils ne savent pas quelle est la bonne manière légale. aussi, pourquoi dois-je inclure le MIT, si en honorant la GPL, on honore aussi automatiquement le MIT?
Hoijui

@hoijui Tous les droits que vous avez sous la licence MIT sont assortis de la restriction suivante: «L'avis de copyright ci-dessus et cet avis de permission doivent être inclus dans toutes les copies ou parties substantielles du logiciel.» Mais honnêtement, je ne suis pas sûr si vous devez conserver des avis, ou juste un, IANAL. Mais je suis sûr que vous devez inclure un avis quelque part. Sinon, vous ne seriez plus en conformité avec la licence MIT, ce qui signifierait que vous perdriez tout droit d'utiliser le code dans votre projet. Pour info, le noyau Linux a des fichiers avec plusieurs licences, ils utilisent les en-têtes SPDX
jmiserez

1
Quelle tristesse que quelqu'un veuille essayer d'utiliser du code GPL construit sur une licence MIT. Cela semble aller à l'encontre de tout ce que la licence du MIT représente.
Andrew T Finnell

8

Rien à ajouter aux explications des réponses déjà données, mais voici des instructions sur la mise en forme des en-têtes de votre fichier source ( source ):

2.2 Ajouter les modifications apportées par GPL aux fichiers sous licence permissive

Un cas plus compliqué se produit lorsqu'un développeur apporte des modifications, pouvant être protégées par un droit d'auteur, à un fichier sous licence facultative qu'il incorpore dans un programme sous GPL. Les développeurs dans cette situation appliquent généralement la GPL à leurs modifications. (Cependant, il est possible que le développeur fournisse du nouveau code avec des termes permissifs, tels que la licence permissive qui régit le fichier non modifié. Nous discutons de ce cas au § 2.3.)

Même si la licence permissive du projet externe autorise légalement l’incorporation du code de ce projet dans un projet GPL, le développeur du projet GPL doit néanmoins se conformer à l’obligation de préservation de la notification spécifiée dans la licence permissive. Dans un projet qui utilise la méthode de fichier par fichier, un développeur qui modifie un fichier sous licence permissive avec le droit d'auteur doit placer un nouvel avis de droit d'auteur et un nouvel avis d'autorisation au-dessus de celui existant et indiquer clairement que le développeur a modifié le fichier. Le haut du fichier apparaîtra alors comme suit:

/*  
 * Copyright (c) 2007  GPL Project Developer Who Made Changes   
 *  
 *  This file is free software: you may copy, redistribute and/or modify it  
 *  under the terms of the GNU General Public License as published by the  
 *  Free Software Foundation, either version 2 of the License, or (at your  
 *  option) any later version.  
 *  
 *  This file is distributed in the hope that it will be useful, but  
 *  WITHOUT ANY WARRANTY; without even the implied warranty of  
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  
 *  General Public License for more details.  
 *  
 *  You should have received a copy of the GNU General Public License  
 *  along with this program.  If not, see .  
 *  
 * This file incorporates work covered by the following copyright and  
 * permission notice:  
 *  
 *     Copyright (c) YEARS_LIST, Permissive Contributor1   
 *     Copyright (c) YEARS_LIST, Permissive Contributor2   
 *  
 *     Permission to use, copy, modify, and/or distribute this software  
 *     for any purpose with or without fee is hereby granted, provided  
 *     that the above copyright notice and this permission notice appear  
 *     in all copies.  
 *  
 *     THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL  
 *     WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED  
 *     WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE  
 *     AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR  
 *     CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS  
 *     OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,  
 *     NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN  
 *     CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.  
 */

Il est très important que le développeur conserve l'intégralité de l'avis de copyright, de l'autorisation et de la clause de non-responsabilité tels qu'ils apparaissent dans le code d'origine, comme l'exige la licence par autorisation. Nous voyons parfois des notifications GPL mélangées à des notifications de licence permissives - une pratique déroutante qui masque à la fois la provenance du code et les autorisations précises accordées par les divers détenteurs de droits d'auteur répertoriés dans les notifications. Lorsque différents titulaires de droits d'auteur ont publié leurs contributions sous des conditions différentes, les conditions que chacun a appliquées à sa contribution particulière doivent être spécifiées. Nous vous recommandons d'effectuer une séparation claire et d'utiliser une indentation, comme dans l'exemple ci-dessus.

Cette manière d’organiser les notifications dans le fichier permet aux développeurs de choisir de contribuer en vertu de conditions permissives ou sous la GPL. S'ils souhaitent que leurs contributions soient disponibles à des conditions permissives, ils peuvent ajouter leurs notices de copyright au groupe inférieur. S'ils souhaitent contribuer sous la licence GPL, ils peuvent ajouter leurs notices de copyright en haut. Notez toutefois que dans un fichier source unique, il est généralement très difficile, et souvent totalement impossible, de déterminer quelles parties d’un tel fichier sont couvertes par des termes permissifs. Si l'objectif est de rendre le code supplémentaire disponible uniquement à des conditions permissives, il convient d'utiliser la méthode décrite au § 2.3.

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.