Wie entkommt man der GPL?


24

HAFTUNGSAUSSCHLUSS Ich gebe nicht vor, etwas über Lizenzen zu wissen. In der Tat kann alles, was ich unten sage, völlig falsch sein!

Hintergrundgeschichte:

Vor kurzem habe ich nach einer anständigen Spiele-Engine gesucht und ich glaube, ich habe eine gefunden, die mir wirklich gefällt, Cafu Engine .

Es gibt jedoch einen dualen Lizenzierungsplan, bei dem alles, was Sie mit der Engine machen, unter der GPL steht, es sei denn, Sie zahlen für eine kommerzielle Lizenz. Ich sage nicht, dass es ein schlechter Motor ist, sie sagen sogar, dass sie über die Lizenzgebühren sehr entspannt sind. Die Tatsache, dass es sich sogar um die GPL handelt, macht mir Angst.

Meine Frage ist also grundsätzlich, wie man der GPL entkommt.

Hier ein Beispiel: Die id Tech-Engine, auch als Quake-Engine oder Doom-Engine bekannt, war die Basis für die beliebte Source-Engine. Die id Tech-Engine wurde jedoch unter der GPL veröffentlicht, und die Source-Engine ist proprietär. Hat Valve eine andere Lizenz erhalten? Oder haben sie etwas unternommen, um der GPL zu entkommen? Gibt es einen Weg, der GPL zu entkommen? Wenn Sie den GPL-Quellcode als Basis für ein anderes Projekt verwenden, müssen Sie die GPL verwenden und den Quellcode der Welt zur Verfügung stellen. Könnte eine zufällige Person die id Tech-Engine nehmen, sie über den Erkennungspunkt hinaus modifizieren und dann als proprietäre Engine für kommerzielle Produkte verwenden? Oder müssen sie Open Source machen.

Als letztes habe ich überhaupt kein Problem mit Open Source. Allerdings habe ich das Gefühl, dass Open Source seinen Platz hat, aber das ist nicht in der Buschwelt.


3
Sie haben Ihre eigene Frage mit dem von Ihnen angegebenen Zitat beantwortet. Außerdem basierte Source (HL2) nicht auf Quake. Sie denken an GoldSrc (HL1).
Justin Skiles

Es ist eine Schande, dass dies abgelehnt wurde, da die Frage eindeutig zu beantworten ist und mehrere genaue Antworten hat.
Kylotan

1
Fragen Sie Ihren Anwalt und das Unternehmen, das die Engine herstellt. Nach meinem Verständnis gilt die GPL jedoch möglicherweise nur für den Code und alle Änderungen, die Sie daran vorgenommen haben, und nicht für Ihre anderen Vermögenswerte [wie z. B. Karten , Töne, Kunst und so weiter]. Warum ist das für dich nicht akzeptabel?
Random832

1
Sie können sich auch fragen, wie Sie Microsoft Quellcode stehlen und damit davonkommen können. Sie haben zwei Möglichkeiten und nur zwei Möglichkeiten: Spielen Sie nach den Regeln, die der Inhaber des Codes mit seinen Lizenzen und / oder Gebühren festlegt, oder verwenden Sie etwas anderes.
Sean Middleditch

1
"Allerdings habe ich das Gefühl, dass Open Source seinen Platz hat, aber das ist nicht in der Buschwelt." Aber Sie denken, nur einen Code zu verwenden und weder die kommerzielle Lizenz zu bezahlen noch die Bedingungen der Alternative zu akzeptieren, hat jemand seinen Platz in der Geschäftswelt? Dies ist nicht so sehr ein Geschäft als ein Diebstahl. Nicht , dass dies in der Geschäftswelt nicht oft genug happenened ... - Es scheint , als ob Sie wirklich tun Open - Source wollen (verständlicherweise) vom Standpunkt des Programmierers aus gesehen, haben aber eine eher dogmatische Abneigung gegen mich von der monetären Sicht . Nun, diese Ansichten sind nicht kompatibel.
linksum den

Antworten:


28
  1. Wenn Sie das Urheberrecht am Quellcode besitzen, können Sie diesen Code freigeben, wie Sie möchten. Die Freigabe unter GPL schließt eine Freigabe unter einer anderen nicht oder noch restriktiveren Lizenz nicht aus. Ich bin mir nicht sicher, was Source / id Tech betrifft, würde aber annehmen, dass Valve eine eigene Lizenz ausgehandelt hat.

  2. Wenn Sie in Ihrem Projekt GPL-Code verwenden, müssen Sie den Benutzern den Quellcode bereitstellen. Dies bedeutet nicht, dass Sie eine Website betreiben oder eine Kopie davon aufbewahren müssen, um sie auf Anfrage bereitzustellen. Dies bedeutet nicht, dass Sie alle Änderungen veröffentlichen müssen, sobald Sie sie vornehmen. Erst wenn Sie die Software weitergeben, werden der Code und die von Ihnen vorgenommenen Änderungen übernommen. ( http://www.gnu.org/licenses/gpl-faq.html#GPLRequireSourcePostedPublic )

  3. Wenn Sie in Ihrem Projekt auch nur eine Zeile GPL-Code verwenden, sind Sie jetzt an die Bedingungen der GPL gebunden. Eine (wenn auch nicht die einzige) Möglichkeit besteht darin, Ihren Code auch unter der GPL freizugeben (oder gar nicht freizugeben).
    Wenn Sie es über den Punkt der Anerkennung hinaus modifizieren und sich nicht an die Bedingungen halten, werden Sie wahrscheinlich damit durchkommen (dh Sie werden nicht verklagt), aber nur, weil Sie damit durchkommen, heißt das nicht, dass Sie nicht in der Lage sind, Nicht gegen die Lizenz verstoßen, oder es richtig machen.

  4. Um GPL-Code ohne GPL zu verwenden, müssen Sie ihn unter einer anderen Lizenz erwerben, damit er nicht mehr GPL-Code ist (indem Sie Cafu bezahlen). Es gibt keinen Ausweg aus der GPL - sie wurde von ihren Erfindern speziell als virale Lizenz konzipiert und ihr Zweck würde negiert, wenn es möglich wäre.

Wenn Sie jedoch GPL-Code in Ihrem Programm verwenden möchten, können Sie eine eigenständige Entität erstellen, die von Ihrer Anwendung verwendet wird (ob die dynamische Verknüpfung dies erfüllt, ist fraglich - aber im Allgemeinen wird die GPL aufgerufen, wenn das Ergebnis ein einzelnes Programm ist ). So können Sie beispielsweise ein neues Projekt mit und ohne GPL-Code erstellen, das Sie mit Ihrer (proprietären) Anwendung zusammen mit der GPL und dem Quellcode freigeben. Ihre Anwendung kommuniziert damit jedoch über CLI oder RPC und kann daher frei von der GPL bleiben.

Heutzutage verwenden viele Entwickler LGPL, mit dem sich die meisten Formulare verknüpfen lassen, ohne dass GPL auf das Zielprojekt übertragen werden muss. (Wenn Sie die Bibliothek selbst ändern, müssen Sie dennoch den Code der Bibliothek angeben.)

Beachten Sie, dass es, abgesehen von Punkt 2, höflich ist, Verbesserungen, die Sie am Open Source Code vornehmen, unabhängig von der Lizenz zu veröffentlichen.


9
Wenn Sie in Ihrem Projekt auch nur eine Zeile GPL-Code verwenden, unterliegt Ihr Projekt jetzt der GPL-Lizenz. Nein. Wenn Sie eine Zeile GPL-Code verwenden, verstößt Ihr Projekt gegen die GPL-Lizenz, und wer auch immer diese Zeile geschrieben hat, kann Sie verklagen. Eine mögliche Abhilfe besteht darin, Ihr Projekt unter der GPL freizugeben. Dies geschieht jedoch nicht automatisch.
TRiG,

3
(Dies hindert Sie immer noch nicht daran, es zu verkaufen oder unter einer weniger restriktiven Lizenz zusätzlich zur GPL zu veröffentlichen ...) Ja, das tut es. Wenn ich Code unter der GPL veröffentliche, kann kein anderer mitkommen und denselben Code in die Public Domain stellen. Ich besitze diesen Code immer noch. Ich habe es anderen nur unter den Bedingungen der GPL zur Verfügung gestellt.
Evan Harper

4
Trotz einiger kleinerer Ungenauigkeiten +1, weil darin die offensichtlichste, einfachste, schnellste und am weitesten verbreitete Lösung genannt wird: Um GPL-Code ohne GPL zu verwenden, müssen Sie ihn unter einer anderen Lizenz erwerben . Wenden Sie sich an die Urheberrechtsinhaber, und verhandeln Sie über eine andere Lizenz. Dies funktioniert natürlich auch für jede andere Lizenz.
Martin Sojka

11
In dieser Antwort und allen Kommentaren fehlt eine wichtige Bedingung: Die GPL-Bedingungen gelten für die Verteilung , nicht für die Verwendung . Wenn Sie in Ihren internen Tools (die Sie nicht vertreiben) tausend Zeilen GPL-Code verwenden, sind Sie dennoch nicht an die GPL-Bedingungen gebunden.
MSalters

1
"Sie werden wahrscheinlich damit durchkommen". Hmmm, ich liebe dieses warme und verschwommene Gefühl, das ich durch diese Antwort bekomme.
Trevor Boyd Smith

64

Sie entgehen der GPL, indem Sie die Entwickler für eine kommerzielle Lizenz bezahlen.


27
+1, ich denke Captain Obvious ist irgendwie nicht bei StackExchange registriert :)
Teodron

1
+1, obwohl um genauer zu sein, Sie die Erlaubnis sichern, den Code ohne die GPL zu verwenden. Dies bedeutet nicht unbedingt, dass Sie bezahlen müssen (obwohl dies häufig der Fall ist).
Kylotan

Nicht wirklich, Sie sagen, dass es für jede GPL-Lizenz auf der Erde immer eine kommerzielle Alternative geben wird. Dies hängt von der Strategie des Eigentümers des Codes ab.
User827992

4
Ich würde sagen "Sie entkommen der GPL, indem Sie den Entwicklern eine kommerzielle Lizenz bezahlen und ihnen so einen angemessenen Teil des Geldes geben, das Sie als Belohnung für die vielen Jahre der Mühe, die sie in das Schreiben gesteckt haben".
DJClayworth

1
Fast, "Sie entgehen der GPL, indem Sie die Entwickler für eine Kopie des Codes bezahlen, der keine GPL-Belastung aufweist (so etwas wie MIT)."
Jonathan Dickinson

10

Sie fragen sich im Grunde: "Wie kann ich den Code eines anderen stehlen?" Wenn Sie den urheberrechtlich geschützten Code einer Person verwenden möchten, müssen Sie eine Lizenz von dieser Person erhalten. Wenn die einzige Lizenz, die Sie von ihnen haben, um ihren Code zu verwenden, die GPL ist, müssen Sie sich daran halten, oder Sie verletzen ihr Urheberrecht. Wenn Sie sie dazu bringen können, Ihnen eine andere Lizenz für ihren Code zu geben, ist das in Ordnung, aber Sie entgehen der GPL nicht.


3
-1. Sie entkommen der GPL: Sie erhalten eine völlig andere Lizenz. Sie stehlen auch nicht ihren Code - wenn Sie die Schritte durchlaufen, zu denen sie Sie auffordern (z. B. Geld bezahlen).
Jonathan Dickinson

5
Nein, in diesem Fall hat Ihre Verwendung des Codes absolut nichts mit der GPL zu tun. Flucht bedeutet, von etwas gefangen zu sein.
Jason Goemaat

@JonathanDickinson Ich denke, sein Punkt hier ist, dass das OP nicht für eine Lizenz bezahlen zu wollen scheint. Er möchte es kostenlos bekommen, aber ohne die GPL-Einschränkungen.
Paul

Dies veranlasste mich, mich auf die Belastung einzulassen (anstatt zu stehlen). "Die Tatsache, dass es sich sogar um die GPL handelt, erschreckt mich jedoch." Es klingt eher nach (begründeter) Angst, dass das GPL-Banner über dem Code hängt.
Jonathan Dickinson

2
@ Jonathan. Das OP sagt, dass zie nichts über Lizenzen weiß, daher vermute ich, dass seine Angst vor der GPL nicht "begründet" ist.
TRiG,

8

Müssen Sie der GPL wirklich entkommen? Alles, was Sie für die GPL tun müssen, ist, Ihren eigenen Quellcode unter der GPL freizugeben. Es gilt nicht für Spielebenen, Kunstobjekte usw. Sie können Ihr Spiel weiterhin verkaufen und den Code über die GPL für Personen verfügbar machen, die es kaufen, wenn sie es möchten, oder es online für alle verfügbar machen.

Das einzige Problem ist, wenn Sie Bibliotheken von Drittanbietern ohne GPL verwenden möchten, da Sie diese dann nicht zusammen mit Ihrer GPL-Engine verteilen können.

Wenn Sie der GPL entkommen müssen, schauen Sie die Lizenzierungsseite an. Sie klingt so flexibel, dass Sie in der Lage sein sollten, eine Einigung zu erzielen.


Ich stimme dieser Antwort zu, zumal die meisten Leute beim Einsatz eines Motors nicht wirklich so viel zusätzlichen Wert hinzufügen. Es sind die anderen Vermögenswerte, bei denen der Wert wirklich liegt.
Paul

5

Es gibt viele Missverständnisse darüber, was die GPL tatsächlich ist und was sie tatsächlich bedeutet, und ich entdecke eines in Ihrer Frage:

Alles, was Sie mit dem Motor machen, wird unter GPL erzwungen

Das ist eigentlich gar nicht der Fall. Die Quelle der Engine bleibt mit Sicherheit unter der GPL, aber es lohnt sich, die GPL-FAQ durchzulesen, insbesondere die Teile, die sich auf die Ausgabe eines GPL-Programms beziehen, von denen ich glaube, dass sie hier relevant sind: http: // www. gnu.org/licenses/gpl-faq.html#GPLOutput

Gibt es eine Möglichkeit, die GPL-Ausgabe meines Programms zu nutzen? Wenn mein Programm beispielsweise zum Entwickeln von Hardware-Designs verwendet wird, kann ich verlangen, dass diese Designs kostenlos sind?

Im Allgemeinen ist dies rechtlich unmöglich; Das Urheberrecht gibt Ihnen keinerlei Einfluss auf die Verwendung der Ergebnisse, die Menschen mit Ihrem Programm aus ihren Daten machen. Wenn der Benutzer Ihr Programm verwendet, um seine eigenen Daten einzugeben oder zu konvertieren, liegt das Urheberrecht an der Ausgabe bei ihm, nicht bei Ihnen. Wenn ein Programm seine Eingabe in eine andere Form übersetzt, erbt der Copyright-Status der Ausgabe im Allgemeinen den der Eingabe, aus der es generiert wurde.

Sie haben also nur dann ein Mitspracherecht bei der Verwendung der Ausgabe, wenn wesentliche Teile der Ausgabe (mehr oder weniger) aus Text in Ihrem Programm kopiert werden. Zum Beispiel würde ein Teil der Ausgabe von Bison (siehe oben) von der GNU GPL abgedeckt, wenn wir in diesem speziellen Fall keine Ausnahme gemacht hätten.

Sie können ein Programm künstlich dazu bringen, bestimmten Text in die Ausgabe zu kopieren, auch wenn es keinen technischen Grund dafür gibt. Wenn dieser kopierte Text jedoch keinen praktischen Zweck erfüllt, kann der Benutzer diesen Text einfach aus der Ausgabe löschen und nur den Rest verwenden. Dann müsste er die Bedingungen für die Weiterverteilung des kopierten Textes nicht beachten.

Dies ändert Ihre Situation ziemlich. Sie sind nicht in der Lage, Inhalte, die Sie für oder mit dieser Engine entwickeln, auch unter die GPL zu fallen. Dieser Inhalt liegt bei Ihnen, Sie besitzen das Urheberrecht dafür und Sie können ihn lizenzieren, wie Sie möchten.

IANAL usw


2
Ich weiß nichts über die spezifische Engine, aber das oben Genannte ist nur wahr, wenn die Engine Ihr Spieldesign übernimmt und als Ergebnis ein eigenständiges Spiel erstellt. Wenn die Engine selbst oder ein Teil davon mit dem Spiel verteilt oder mit dem Code des Spiels verknüpft wird, gilt die GPL für das Ganze.
rjmunro

Ich glaube, dass es durchaus möglich ist, dass eine Engine eine GPL ist, Spielinhalte jedoch nicht. Der Spielinhalt ist kein Code und wird nicht auf die gleiche Weise wie der Code mit der Engine "verknüpft". Karten, Texturen, Modelle usw. werden auf diese Weise nicht mit der Engine verknüpft. Leider ist die GPL-FAQ in dieser Hinsicht unklar (was ein triftiger Grund ist, die Verwendung der GPL zu vermeiden).
Maximus Minimus

Diese Antwort beschreibt mehr, was mit Inhalten geschieht, die mit einem GPL-Tool erstellt wurden. Wie ein Dokument, das in einem GPL-Texteditor geschrieben wurde, muss es nicht unbedingt GPL sein. Dies kann jedoch nicht in eine Spiele-Engine übersetzt werden. Eine Spiel-Engine benötigt keinen Code und erzeugt ein eigenständiges Spiel ohne Bezug zur Engine - Sie werden die gesamte Engine in Ihr Spiel einbeziehen.
Matsemann

4

Nur die Person, die Personengruppe oder die Aktivität, die den Code besitzt, kann ihre eigene Lizenz ändern.

Wenn dieser Code Ihnen gehört, können Sie die Lizenz jedes Mal ändern, wenn Sie möchten, ob Sie bezahlt werden möchten oder nicht. Sie können tun, was Sie möchten. große Probleme.

Der Inhaber kann es auch ablehnen, eine Zahlung zu akzeptieren. Dies ist eine Situation wie bei den Patenten. Wenn Sie nachweisen können, dass Sie den Code besitzen, bedeutet dies nicht, dass Sie ihn für viel Geld auf den Markt bringen Manchmal soll das Patent oder die Lizenz den Markt oder den Benutzer zwingen, sich auf engstem Raum aufzuhalten.

Die Antwort ist nein und die einzige Möglichkeit, die Lizenz zu ändern, besteht in der Hoffnung, dass der Eigentümer dies tut.


Ganz gut als allgemeine Antwort - in diesem Fall ist es jedoch offensichtlich, dass sie die Zahlung für Kopien des Codes mit einer anderen Lizenz akzeptieren. +1 (Ich gebe auch allgemeinere Antworten :)).
Jonathan Dickinson

4

Die Idee ist einfach: Wenn das Unternehmen den Code geschrieben hat, besitzt es alle Rechte und kann ihn daher einigen Parteien unter der GPL-Lizenz, anderen unter der kommerziellen Lizenz und anderen Personen als Geschenk überreichen mieten, oder was auch immer sie wollen.

Die Tatsache, dass sie den Code einer Partei unter der GPL zur Verfügung gestellt haben, beschränkt diese Partei auf die GPL, kann jedoch keine Einschränkungen für den Code-Besitzer festlegen .

Nur wenn der Codebesitzer in seiner Software einen GPL-Code eines Drittanbieters verwendet, der von jemand anderem geschrieben wurde und ihm gehört, ist sein gesamtes Projekt für immer in der GPL gesperrt (oder bis er diesen GPL-Code eines Drittanbieters entfernt oder einen Nicht-GPL-Code erhält). GPL-Lizenz dafür). Bitte beachten Sie, dass dies auch für No-GPL, 100% Commercial Engine, gilt. Wenn sie einen GPL-Code enthalten, verstoßen sie gegen die GPL, haben kein Recht, kommerzielle Lizenzen zu verkaufen, und Sie haben kein Recht, solche Lizenzen zu kaufen.

Wenn also der gesamte Code in der "Cafu Engine" von Cafu-Mitarbeitern geschrieben wurde, besteht kein Problem mit der GPL. Wenn Sie eine kommerzielle Lizenz von Cafu erhalten, gilt die GPL-Lizenz überhaupt nicht für Sie .


Diese Antwort ist alles in allem gut, mit der Ausnahme, dass das Originalplakat Teil des Cafu-Personals ist und den Code besitzt, was anscheinend nicht der Fall ist.
Kylotan

Das habe ich nicht angenommen . Ich frage mich, warum Sie das gedacht haben.
Sandman4

Ihr letzter Absatz sagt das ziemlich genau, weil er "Cafu-Mitarbeiter" mit "Sie" gleichsetzt.
Kylotan

@Kylotan Bearbeitet den letzten Absatz, um es ein bisschen klarer zu machen. Kann es nicht richtig ausdrücken, aber jeder kann es besser ausdrücken.
Sandman4

Dies ist bei weitem die beste Antwort. Ich habe den letzten Absatz bearbeitet, habe aber keine Bearbeitungsrechte auf dieser Site, daher muss auf die Genehmigung gewartet werden.
rjmunro

2

Es gibt eine Möglichkeit, der GPL oder (praktisch) jeder anderen Lizenz zu "entkommen". Führen Sie eine Reinraumimplementierung durch.

Stellen Sie zwei Personengruppen ein. Die Aufgabe der ersten Gruppe ist es, das Originalmaterial bis ins kleinste Detail zu studieren und zu beschreiben. Die zweite Gruppe, die niemals das Originalmaterial sehen wird, wird eine neue Implementierung basierend auf der Beschreibung schreiben.

So wurde das BIOS auf Original-PC-Klonen erstellt; Das BIOS war das einzige Bit, das IBM anderen Benutzern das Kopieren verweigerte.

Das bedeutet nicht, dass Sie vor Klagen sicher sind. Patente und "Look and Feel" -Kacke gibt es immer noch, und zumindest in den USA kann jeder jeden ohne besonderen Grund verklagen (oder zumindest scheint es so. .)


1

Bezüglich der Frage zur Quake Engine: Code kann unter GPL und auch unter anderen Lizenzen veröffentlicht werden. Valve lizenzierte Quake, indem Sie Geld an iD zahlen. Später erhielt jeder auf der Welt eine GPL-Lizenz (sic) zur Nutzung des Quake-Quellcodes. Als iD die Engine als GPL veröffentlichte, haben sie andere Lizenzen nicht rückwirkend in GPL konvertiert. das wäre unmöglich. Tatsächlich kann iD die Quake-Engine auf Wunsch immer noch unter einer anderen Lizenz lizenzieren, da sie das ursprüngliche Urheberrecht besitzt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.