Können Sie unter der MIT-Lizenz verteilten Code ändern und unter der GPL-Lizenz erneut verteilen? [geschlossen]

57

Ist es möglich, den Code des Chili-Plugins , dessen neueste Version im Juli 2008 veröffentlicht wurde und das unter der MIT-Lizenz lizenziert ist, zu ändern , um es dann unter der GPL zu lizenzieren?

Soweit ich sehen kann, gibt es keine Einschränkung dafür, dass der neue Code unter derselben Lizenz lizenziert wird. Ist es wirklich so oder gibt es eine minimale Anzahl von Änderungen?

In meinem Fall würde ich das jQuery-Plugin in normalem Javascript-Code ändern, der in einem CMS ausgeführt wird. Dies bedeutet im Wesentlichen unter anderem:

  • Der Code verwendet nicht den Namensraum "ChiliBook".
  • Die Funktion wird nicht als $($element).chili(), sondern als aufgerufen GlobalObject.ChiliHighlighter.process($jquery_element), wobei "GlobalObject" ein vom CMS verwendetes JavaScript-Objekt ist.
  • Der Code ermöglicht es anderen Modulen, das GlobalObject.ChiliHighlighterObjekt zu ändern , um Funktionen hinzuzufügen, die GlobalObject.ChiliHighlighter.process()bei ihrer Definition optional aufgerufen werden.

Als Alternative, da das von mir verwendete Repository es mir ermöglicht, Code einzubeziehen, der nicht unter der GPL 2 oder einer höheren Lizenz lizenziert ist, wenn der Code nicht mehr gepflegt wird. Könnte das Plugin als nicht mehr gepflegt betrachtet werden, da seine letzte Version vor drei Jahren veröffentlicht wurde?

kiamlaluno
quelle
2
Wenn Sie wirklich eine verbindliche Antwort wünschen, sollten Sie einen Anwalt konsultieren (in der jeweiligen Gerichtsbarkeit kann die Antwort beispielsweise in Italien anders sein als in den USA)
MarkJ

Antworten:

59

Es ist technisch legal.

Mit der MIT (Expat) -Lizenz werden Ihnen einige Einschränkungen auferlegt. Dies ist eine Teilmenge der GPL-Lizenz. Wenn Sie den Code unter der GPL neu lizenzieren und den MIT-Hinweis einhalten, haben Sie die Bedingungen der MIT-Lizenz erfüllt und können den Code möglicherweise legal weitergeben.

Beachten Sie, dass Sie keinen Anspruch auf Urheberrechte erheben können. Sie müssen das ursprüngliche Urheberrecht anerkennen.

[edit] Einige Leute scheinen nicht zu verstehen, wie F / OSS im Zusammenhang mit dem Urheberrecht und dem Lizenzrecht funktioniert. Alles beginnt mit dem Urheberrecht, schon allein deshalb, weil dies die Standardeinstellung ist. Nach der Copyright-Doktrin hat der Autor das Recht, Kopien des Quellcodes anzufertigen. Unter der MIT-Lizenz wird mir dieses Recht gewährt, sowie das Recht, es anderen rekursiv zu gewähren. Beachten Sie, dass die MIT-Lizenz ausdrücklich das Recht zur Unterlizenzierung enthält. Zitat:"the rights to use, copy, modify, merge, publish,distribute, sublicense, and/or sell"

Wenn ich Code unterlizenziere, kann ich keine Rechte gewähren, die ich ursprünglich nicht hatte. Im Falle der GPL ist es mir ausdrücklich untersagt, nur einige Rechte zu unterlizenzieren. Weder im Gesetz noch in der MIT-Lizenz habe ich jedoch die Verpflichtung, alle Rechte als Ganzes zu unterlizenzieren.

Daher räumt mir die MIT-Lizenz das ausdrückliche Recht ein, Rechte unterzulizenzieren, und weder das Gesetz noch die MIT-Lizenz verbieten mir, nur einige Rechte unterzulizenzieren . Auch schränkt keiner die Form ein, in der ich mache. Daher habe ich das unbestreitbare Recht, eine GPL-Unterlizenz für diesen Code zu erteilen.

MSalters
quelle
6
@vartec: Sie ändern nicht die Lizenz, unter der Sie den Code erhalten haben. Sie erstellen eine neue Lizenz zwischen Ihnen und dem neuen Empfänger. Sie kann beliebige Bedingungen enthalten. (Der neue Empfänger erhält möglicherweise zusätzliche Rechte unter der ursprünglichen Lizenz, dies hat jedoch keine Auswirkungen auf die neue Lizenz.) Die Norm lautet, dass eine Unterlizenz einen Bruchteil der Rechte in der ursprünglichen Lizenz gewährt. Beispielsweise beinhaltet eine Unterlizenz selten das Recht zur Unterlizenzierung, das in der ursprünglichen Lizenz enthalten sein muss, damit eine Unterlizenz vorliegt.
David Schwartz
3
@vartec: Im Wesentlichen argumentieren Sie, dass eine Urheberrechtslizenz, die das Recht zur Unterlizenzierung gewährt, tatsächlich nicht das Recht zur Unterlizenzierung gewährt. Ich bin mir jedoch nicht sicher, auf welcher Grundlage Sie dieses Argument vorbringen. Haben Sie einen Hinweis auf eine relevante rechtliche Autorität? Wollen Sie damit sagen, dass ein Inhaber eines Urheberrechts anderen nicht das Recht einräumen kann , seine Arbeit zu lizenzieren? Oder glaubst du, die MIT-Lizenz macht das irgendwie nicht oder nicht?
David Schwartz
1
@ David: Sie scheinen nicht zu verstehen, was "Unterlizenzierung" bedeutet.
Vartec
1
@vartec: Ein Link zu einer Quelle, die erklärt, dass es großartig wäre, weil ich denke, dass Sie nicht verstehen, was es bedeutet.
David Schwartz
7
Die MIT-Lizenz enthält den folgenden Hinweis: "Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein." Das bedeutet, dass jede Gabel unter der MIT-Lizenz verfügbar sein muss. Die Änderungen könnten als GPL aufgeführt sein. Die Gabel könnte als GPL + MIT aufgeführt sein. Die Gabel kann aber nicht nur als GPL gelistet werden - das ist ein klarer Verstoß gegen die MIT-Lizenz.
Jonathan Vanasco
26

Ja. Aber der Effekt ist möglicherweise nicht das, was Sie denken.

Die MIT-Lizenz beinhaltet alle Rechte der GPL und mehr. Und während Personen, die Ihre Distribution erhalten, nur eine GPL-Lizenz für von Ihnen hinzugefügte Elemente erhalten, erhalten sie weiterhin eine MIT-Lizenz (von den ursprünglichen Autoren, nicht von Ihnen) für Elemente, die in den Werken enthalten sind, die die Autoren unter dieser Lizenz angeboten haben.

Sie wissen das vielleicht nicht, und soweit ich weiß, verpflichtet Sie kein Gesetz, es ihnen zu sagen. Wenn sie jedoch die GPL-Lizenz in Bezug auf den in dem Werk, das Sie nicht verfasst haben (oder das nicht von anderen zur GPL-only-Veröffentlichung beigetragen wurde), enthaltenen schutzfähigen Ausdruck "verletzen", haben sie weder Ihre Lizenz noch Ihr Urheberrecht verletzt. (Eigentlich sollte das ziemlich offensichtlich sein - Sie haben nur das Urheberrecht für den Ausdruck, den Sie verfasst haben.)

Sie haben also keine urheberrechtlich geschützten Elemente von der MIT-Lizenz in die GPL-Lizenz konvertiert. Sie haben einfach neue hinzugefügt, die nur unter der GPL-Lizenz angeboten werden, und die Elemente in einer gemischten / kombinierten Arbeit freigegeben.

David Schwartz
quelle
In der Praxis würde ich dies tun: Kopieren Sie ein MIT-Projekt, ersetzen Sie alles MIT durch GPL (sodass keine Spur mehr von dem MIT-Projekt übrig bleibt) und verknüpfen Sie dann an einigen wichtigen Stellen (nicht an allen Stellen) zusätzlich das ursprüngliche MIT-Projekt Quelldatei), wobei erwähnt wird, dass das Basisprojekt unter MIT verfügbar ist. Wäre das in Ordnung / legal (vorausgesetzt, ich behalte die ursprünglichen Copyright-Vermerke)?
Hoijui
1
@hoijui Sie müssen alle MIT-Lizenzheader und Berechtigungshinweise intakt lassen und in Ihr neues Projekt aufnehmen. Und wenn Sie nicht die Absicht haben zu täuschen, verstehe ich nicht, warum Sie alle Erwähnungen von „MIT“ ersetzen würden. Es ändert nichts, die Teile, die Sie mitnehmen, sind weiterhin MIT-lizenziert. Fügen Sie einfach Ihren eigenen GPL-Lizenzheader darunter hinzu. Er gilt für alle urheberrechtlich geschützten Änderungen (dh nicht nur für das Umbenennen von Variablen), die Sie am Quellcode vornehmen. Übrigens haben die meisten Projekte einen Copyright-Header in jeder Datei.
JMISEREZ
@jmiserez ok. Schauen wir uns also eine Datei meines Projekts an: Ich verlasse den MIT-Header, nehme einige Änderungen vor und füge einen GPL-Header hinzu (da ich möchte, dass meine Änderungen nur unter der GPL verfügbar sind). Jetzt müsste eine dritte Partei, die über meine Akte kommt, sowohl MIT als auch GPL ehren. Ich habe noch nie eine Datei mit zwei Lizenz-Headern gesehen, und ich würde denken, die meisten Leute würden einfach die Lizenz wählen, die sie mögen, da sie nicht wissen, was der rechtlich richtige Weg ist. auch, warum muss ich das MIT einbeziehen, wenn durch die Anerkennung der GPL automatisch auch das MIT anerkannt wird?
Hoijui
@hoijui Alle Rechte, die Sie unter der MIT-Lizenz haben, unterliegen der Einschränkung "Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein." der Bekanntmachungen oder nur eine, IANAL. Aber ich bin sicher, Sie müssen irgendwo einen Hinweis einfügen. Wenn Sie dies nicht tun, würden Sie die MIT-Lizenz nicht mehr einhalten, was bedeuten würde, dass Sie nicht mehr berechtigt wären, den Code in Ihrem Projekt zu verwenden. Zu Ihrer
Information,
1
Wie traurig ist es, dass jemand versuchen möchte, GPL-Code zu verwenden, der auf einer MIT-Lizenz basiert. Es scheint gegen alles zu sein, wofür die MIT-Lizenz steht.
Andrew T Finnell
8

Zu den Erklärungen in den bereits gegebenen Antworten gibt es nichts hinzuzufügen, aber hier finden Sie Anweisungen, wie Sie Ihre Quelldatei-Header ( Quelle ) gestalten können:

2.2 Hinzufügen von GPL-Änderungen zu Dateien mit einer zulässigen Lizenz

Ein komplizierterer Fall tritt auf, wenn ein Entwickler urheberrechtlich geschützte Änderungen an einer Datei mit einer zulässigen Lizenz vornimmt, die der Entwickler in ein GPL-Programm integriert. Entwickler in dieser Situation wenden normalerweise die GPL auf ihre Änderungen an. (Es ist jedoch für den Entwickler möglich, neuen Code unter zulässigen Bedingungen beizusteuern, z. B. unter der zulässigen Lizenz, die die unveränderte Datei regelt. Wir diskutieren diesen Fall in § 2.3.)

Obwohl die Genehmigungslizenz des externen Projekts die rechtliche Genehmigung zum Einfügen von Code aus diesem Projekt in ein GPL-Projekt erteilt, muss der Entwickler des GPL-Projekts dennoch die in der Genehmigungslizenz enthaltenen Bestimmungen zur Aufbewahrung von Hinweisen einhalten. In einem Projekt, das die Datei-für-Datei-Methode verwendet, sollte ein Entwickler, der urheberrechtlich geschützte Änderungen an einer genehmigungspflichtigen Datei vornimmt, einen neuen Urheberrechts- und Berechtigungshinweis über dem vorhandenen platzieren und darauf hinweisen, dass der Entwickler die Datei geändert hat. Der Anfang der Datei sieht dann folgendermaßen aus:

/*  
 * 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.  
 */

Es ist sehr wichtig, dass der Entwickler den gesamten Copyright-Hinweis, den Erlaubnishinweis und den Gewährleistungsausschluss, wie er im Originalcode enthalten ist, gemäß der Erlaubnislizenz aufbewahrt. Manchmal werden GPL-Hinweise mit zulässigen Lizenzhinweisen vermischt - eine verwirrende Praxis, die sowohl die Herkunft des Codes als auch die genauen Berechtigungen, die von den verschiedenen in den Hinweisen aufgeführten Copyright-Inhabern erteilt wurden, verdeckt. Wenn verschiedene Urheberrechtsinhaber ihre Beiträge unter verschiedenen Bedingungen veröffentlicht haben, sollten die Bedingungen angegeben werden, die jeder für seinen jeweiligen Beitrag festgelegt hat. Wir empfehlen, eine klare Trennung vorzunehmen und Einrückungen zu verwenden, wie im obigen Beispiel.

Durch diese Art der Organisation der Hinweise in der Datei können Entwickler bequem auswählen, ob sie unter zulässigen Bedingungen oder unter der GPL Beiträge leisten möchten. Wenn sie ihre Beiträge zu zulässigen Bedingungen zur Verfügung stellen möchten, können sie ihre Urheberrechtshinweise der unteren Gruppe hinzufügen. Wenn sie einen Beitrag unter der GPL leisten möchten, können sie ihre Copyright-Hinweise oben hinzufügen. Beachten Sie jedoch, dass es in einer einzelnen Quelldatei in der Regel sehr schwierig und häufig völlig unmöglich ist, zu bestimmen, welche Teile einer solchen Datei von zulässigen Begriffen abgedeckt werden. Wenn der Zweck darin besteht, zusätzlichen Code nur unter zulässigen Bedingungen zur Verfügung zu stellen, sollte die in § 2.3 beschriebene Methode verwendet werden.

hoijui
quelle