Ich übersetzte ein GPLv2- C
Programm in Python
, fand es jedoch schwierig, es wie geplant zu erweitern und wesentliche Teile davon neu zu schreiben. Das Programm ist jetzt strukturell völlig anders aufgebaut, es werden jedoch mehrere wörtlich übersetzte Funktionen verwendet.
Das Schiff des Theseus-Paradoxon (wie aus Wikipedia hervorgeht) "wirft die Frage auf, ob ein Objekt, bei dem alle Komponenten ausgetauscht wurden, grundsätzlich dasselbe Objekt bleibt."
Wenn es mir gelingen würde, Ersatz für die Wortfunktionen zu schreiben, könnte ich dann eine neue Lizenz für eine von mir bevorzugte Lizenz erwerben?
Könnte ich die weiterentwickelte Architektur herausholen und mit einer anderen Lizenz wiederverwenden? Ich denke, es wäre für sich genommen sehr nützlich, aber ich mag die Idee nicht, dass es jetzt mit der GPL-Lizenz "beschmutzt" ist.
Followup : Ich beschloss , den Urheberrechtsinhaber zu kontaktieren und erhielt die Erlaubnis zu nachlizenzieren . Manchmal ist der beste Weg, sozial und nicht programmatisch zu interagieren!
Antworten:
Erstens lautet die Antwort "Nein" (für eine Übersetzung). Sie können sie nicht legal neu lizenzieren oder etwas außerhalb der ursprünglichen Lizenzbestimmungen tun. Sie haben vielleicht das Zehnfache der Arbeit des ursprünglichen Autors geleistet, aber es spielt keine Rolle, es ist viral. Nicht nur, weil es sich um eine GPL handelt, sondern auch, weil es sich nicht um sauberes Design oder Neuschreiben handelt.
Ich hatte 1992 kurz damit zu kämpfen, als ich eine alte MUD-Codebasis massiv umgeschrieben hatte. Wir hatten ein erfolgreiches Spiel, wollten aber unser eigenes Ding machen, und die Leute waren bereit, dafür zu bezahlen, doch die DikuMUD- Lizenz verbot uns strikt, Geld zu verdienen. Ein Konkurrent hatte sich zu dieser Zeit ebenfalls auf dieselbe Codebasis gestützt, und sie entschieden sich dafür, das Urheberrecht offen zu ignorieren, alle Spuren davon herauszureißen und im Grunde alle einschließlich sich selbst zu belügen. Ihre Logik war, dass "keiner der ursprünglichen Codes existiert" und "wir haben massive Umschreibungen und Verbesserungen vorgenommen" und im Allgemeinen die Tatsache ignoriert, dass sie mit 20.000 Codezeilen begannen. Sie verlangten nach Gegenständen im Spiel und verdienten zu viel Geld, um damit aufzuhören.
Ich war zugegebenermaßen neidisch. Aber ich recherchierte nach dem Urheberrecht und befragte mein Gewissen und entschied, dass ich den Code, den ich geschrieben hatte, nicht einmal verwenden konnte, weil ich den Spieleserver ehrlich gesagt nicht von Grund auf neu entwickelt hatte.
Also beschloss ich, mein Geld dort unterzubringen, wo mein Mund war, und schrieb von Grund auf neu. Ich hatte immer eine Kopie von W. Richard Stevens UNIX Network Programming dabei . Das Schreiben von Grund auf brachte mir so viel mehr bei, als ich DikuMUD umgeschrieben hatte, und es brachte mir auch bei, dass ich nicht wirklich verstand, was es bedeutete, auf den Schultern eines anderen zu stehen. Innerhalb von sechs Monaten hatte ich 50.000 Zeilen Betriebscode, die ich meinen nennen konnte. Ich nannte es MUD ++ und veröffentlichte es unter BSD. In frühem C ++ schlecht geschrieben, war es immer noch das erste freie Open-Source-C ++ - MUD, das mir bekannt ist. Bis heute kann es mir niemand wegnehmen. Ich hatte zu der Zeit den besten TCP-Server, niemand sonst konnte einen "heißen Neustart" durchführen, ohne die Spieler fallen zu lassen, und bald stahlen alle die Funktion (und ich habe festgestellt, dass viele GPL-MUDs Ausschnitte aus meinem BSD-Code haben - immer interessant, wie GPL BSD-Ware hijacken kann, aber nicht umgekehrt ). Irgendwann bin ich weitergegangen, also war es nicht so, als ob die Entscheidung eine Chance für mein Vermögen wäre, aber während die anderen für eine Weile viel Geld verdienten, schaute ich zuletzt, dass sie in einer Welt von Grafikspielen zusammengebrochen waren Es gibt nicht mehr viel Nachfrage nach Text.
Die Geschichte endet nicht ... ein paar Jahre später arbeitete ich für IBM und Disney beauftragte uns, ein Echtzeit-3D-Multiplayer-Spiel für Epcot Center zu schreiben, und ich konnte den TCP-Kern von MUD ++ als Basis dafür verwenden Spielserver! Hätte ich nicht meinen eigenen Code besessen, hätte ich ihn nicht verwenden dürfen, und ich konnte mir ehrlich gesagt Wochen an Codierungszeit sparen. Am Ende bin ich stolz auf meine Entscheidungen und kann meinen Kindern eine Geschichte erzählen.
Die Leute unterschätzen und unterschätzen den Vorteil, mit dem Framework eines anderen zu beginnen, auf dem sie aufbauen können.
Wenn Sie denken, dass Sie es "besitzen", testen Sie sich. Beginnen Sie von vorne, mit einem Python-Buch neben Ihnen. Sehen Sie, wie es sich anfühlt. Betrüge nicht und schaue nicht auf die alte Codebasis. Schauen Sie sich die Ausgabe an. Zwingen Sie sich, jeden Aspekt auf eigene Faust zu durchdenken und die ehrliche Forschung zu betreiben. Sie werden es besser machen und wahrscheinlich ein besseres Produkt haben.
Versuchen Sie jedoch zuvor, den ursprünglichen Autor zu kontaktieren. Fragen Sie sie, ob sie bereit wären, die Lizenz neu zu vergeben. Wenn Sie Binärdateien verkaufen möchten, bieten Sie Lizenzgebühren an. Viele Autoren, die in den 90ern und 2000ern GPL veröffentlicht haben, sind jetzt in den 30ern, 40ern und 50ern und verstehen, was es bedeutet, von Software zu leben. Ich habe mehr als eine Relizenz von GPL auf MIT, Apache, Boost oder BSD gesehen.
Schließlich überschreibt eine Lizenz nicht die vorherigen Rechte an Code, die Sie möglicherweise haben. Oder wenn Sie unabhängig voneinander ein sauberes Add-On geschrieben haben, zum Beispiel, wenn Sie eine TCP-Engine als Add-On für ein Tetris-Spiel für einen einzelnen Spieler geschrieben haben und diese sauber für sich allein stehen kann (insbesondere, wenn Sie sie zuvor unter einer anderen Lizenz veröffentlicht haben), dann Sie kann Ihren Code in anderen Projekten wiederverwenden. Sie haben auch Urheberrechte.
Mein Glaube ist frei ist frei. Wenn Sie Zeichenketten anbringen müssen, nennen Sie es nicht kostenlos. Jemand schickte mir Jahre später eine E-Mail und sagte, dass sie mein Spiel in einer kommerziellen Engine verwendet hätten, hauptsächlich dem TCP- und möglicherweise dem Bytecode-Interpreter. Sie verdienten Geld. Es machte mir nichts aus. Ich war glücklich, wie ich es heute noch bin, als stolzer Vater.
quelle
Dieses Szenario wird in den GPL-FAQ behandelt :
quelle
Selbst wenn Sie die gesamte Bibliothek von Grund auf neu schreiben, ist es zweifelhaft, ob sie die rechtliche Prüfung besteht. Der Code wird als "verdorben" eingestuft, da Sie den Code in der GPL-Lizenzbibliothek gesehen haben.
Der Standardansatz für dieses Problem heißt "Reinraumimplementierung". Sie schreiben ein Anforderungsdokument und lassen es von einer anderen Person implementieren (die den GPL-Code nicht gesehen hat).
Siehe auch diese Frage: Umschreiben des GPL-Codes zum Ändern der Lizenz
Wie jemand treffend sagte, ist eine chinesische Übersetzung von Harry Potter immer noch ein abgeleitetes Werk, obwohl alle Informationen ersetzt wurden.
Natürlich sind die Wahrscheinlichkeit, dass Sie wegen des Umschreibens einer GPL-lizenzierten Bibliothek angeklagt werden (und die Moral, sich auf diese geringe Wahrscheinlichkeit zu verlassen), völlig andere Diskussionen.
Soweit dem Originalcode Funktionen hinzugefügt werden, ist dies (ein Teil) der Definition von abgeleiteten Werken: Hinzufügen zu dem Originalwerk. Es spielt keine Rolle, wie viel Sie hinzugefügt haben oder wie klein die anfängliche Arbeit war - sie ist immer noch abgeleitet.
quelle
Beobachtung: Die GPL ist nur relevant, wenn Sie Ihre Arbeit freigeben. Hast du es schon veröffentlicht?
Beobachtung: Dies ist keine Rechtsanwaltswebsite, also werfen Sie all diese rechtlichen FUD raus und wenden Sie gesunden Menschenverstand an.
Meinung: Die GPL oder eine Lizenz hat keine urheberrechtlichen Vorstellungen , sie beansprucht den Quellcode, egal wie klein sein Teil ist. Wenn also und nur dann, wenn Ihre "abgeleitete" Arbeit nicht als vom Original abgeleitet identifiziert werden kann, weil Sie die Struktur des Codes geändert und alle Funktionen neu implementiert haben , ist sie für alle praktischen Zwecke nicht mehr abgeleitet, weil es gut wäre von einer Reinraumimplementierung nicht zu unterscheiden sein.
Dies ist jedoch sehr schwer (unmöglich?) Zu erreichen, wenn Sie eine vorhandene Codebasis haben, die Sie ändern, anstatt von vorne zu beginnen.
quelle
Sie besitzen das Urheberrecht für jeden Code, den Sie schreiben. Was die GPL-Mandate sind: Jeder Code, den Sie zusammen mit dem GPL-Code einbringen oder veröffentlichen, muss ebenfalls unter einer ähnlichen Lizenz veröffentlicht werden. Das Copyright liegt jedoch weiterhin bei Ihnen.
Wenn Sie also Ihre Software während des Neuschreibens freigeben (es gibt also eine Mischung aus Ihrem Code und altem Code), müssen Sie diesen Teil Ihres Codes als GPL freigeben, und dies kann nicht widerrufen werden. Der Urheberrechtsinhaber ist jedoch derjenige, der über die Lizenzbedingungen entscheidet. Sie haben also weiterhin das Recht, diesen Teil des Codes im Wesentlichen "doppelt zu lizenzieren", einschließlich der Kombination mit anderem Code, den Sie alleine geschrieben und verkauft / erneut lizenziert haben usw.
Vorsichtsmaßnahmen:
(Quelle: eine von meinem Unternehmen vor einigen Wochen organisierte "Copyright and Open Source" -Sitzung)
quelle
Ja.
In den anderen Antworten wird viel zu viel Text verwendet, um zu erläutern, ob Sie dies tun sollten oder nicht, aber diese Meinungen sind für die Frage nicht so relevant.
Tatsache ist, dass Sie eine neue Arbeit haben werden, wenn Sie die letzten Teile ausgetauscht haben, die zugegebenermaßen unter Berücksichtigung einer GPL erstellt wurden. Das ist im Urheberrecht kein großes Problem (Patente wären ein weiteres Problem). Alles, was Sie verbreiten, wird Ihre Schöpfung sein.
Es gibt viel Material, das die Theorie stützt, dass das Urheberrecht an einem Softwareprogramm die Summe der teilweisen Urheberrechte ist. Beispielsweise erkennt die MPL dieses Modell ausdrücklich an. Die Google / Oracle-Klage bezog sich auf die Urheberrechte auf Zeilenebene.
quelle
Die kurze Antwort ist, dass Sie nicht wissen können.
Wenn Sie mit Richard sprechen, werden Sie feststellen, dass er in vielen seiner Implementierungen "verrückt wie ein Fuchs" ist. Die GPL wurde speziell geschrieben, um Mehrdeutigkeiten und unklare Formulierungen aufzuweisen. Diese werden in der Regel gegen den Nutzen des Lizenzgebers ausgedrückt, geben aber auch Ihrem IP-Anwalt Anlass zu Bedenken. Clevererweise bereitet es Ihrem IP-Anwalt zunehmend Sorgen, wenn das Unternehmen größer wird. Ein kleines kommerzielles Unternehmen, das die "vernünftige Interpretation" der GPL vornimmt, mag ein akzeptables Risiko darstellen, aber ein großes Softwareunternehmen könnte es für umsichtiger halten, ein ganzes Team zu verbrennen, das es geschafft hat, einen Hauch von GPL zu bekommen.
Es gibt keine Antwort. Es wird keine Antwort geben. Das ist die Antwort.
quelle