Ich plane ein Programm zu entwickeln, das ich später verkaufen möchte. Ich versuche, mich für eine Sprache zu entscheiden, mit der ich sie codieren möchte, und habe mich auf C ++ oder Java beschränkt.
Ich habe die GPL v2- und v3-Lizenzen durchlaufen, die für GNUs GCC und OpenJDK verwendet wurden (ja, ich kann einige rechtliche Aspekte verstehen, aber natürlich nicht alle). Aber es gibt einen Punkt, an dem jeder unklar ist (dies sollte eines der ersten Dinge sein, die beantwortet wurden, IMO): Wenn ich ein Programm mit C ++ / Java entwickle und es mit dem GCC-Compiler oder dem OpenJDK-Compiler kompiliere, kann ich es verkaufen, ohne es zu haben um mein Programm auch unter GPL zu platzieren?
Soweit ich das beurteilen kann, habe ich die vollen Rechte, meinem Programm eine Lizenz zuzuweisen, aber es gibt einen Haken: In der Lizenz steht, dass ich keine Verknüpfung zu einer Bibliothek herstellen sollte, die unter der GPL steht. Wenn ja, muss ich mein Programm unter GPL veröffentlichen.
Jetzt weiß ich nicht, was in C ++ / Java als Bibliothek betrachtet wird. Wenn ich also das normale Material in C ++ (iostream, list, map usw.) oder die normalen Java-Klassen / -Schnittstellen verwende, die als Teil des Standard-JDK verfügbar sind 6 Verteilung (String, Liste, Map usw.), stellt dies eine "Verknüpfung mit den Bibliotheken" dar?
Antworten:
Ja. Die GPL schließt die Ausgabe der Programmausführung ausdrücklich aus:
Das heißt, wenn Sie GCC-Bits oder etwas anderes GPLed in Ihr Programm aufnehmen, dann müsste es ja GPLed sein, sonst nein - die Tatsache, dass sein Objektcode von einem GPLed-Compiler erstellt wurde, ist nicht relevant dafür, ob es GPLed sein soll .
Alle Standard-Sprachbibliotheken, auf die Sie verlinken würden, sind entweder nicht GPLed oder GPLed, haben jedoch eine spezielle Ausnahme, damit Ihre proprietäre Software eine Verknüpfung zu ihnen herstellen kann, wenn Sie sie nicht ändern . Im Fall von C ++ meine ich libgcc, glibc und libstdc ++; Im Fall von Java meine ich alle in der JRE enthaltenen Bibliotheken.
Technisch gesehen können Sie GPL-Software ohnehin legal verkaufen, aber fast niemand verdient damit Geld.
quelle
Sowohl GCC als auch OpenJDK haben explizite Ausnahmen:
quelle
Es ist nicht dunkel. Es gibt eine Ausnahme von der Lizenz , die hier gilt. Dies geht aus der entsprechenden Frage in den GPL-FAQ hervor .
Kurz gesagt, was Sie tun möchten, ist zulässig.
quelle
Das OpenJDK ist GPL-fähig, jedoch mit Ausnahme der Verknüpfung mit Bibliotheken. http://en.wikipedia.org/wiki/OpenJDK
Die Verwendung von OpenJDK-Klassen würde meiner Meinung nach eine Verknüpfung mit einer Bibliothek darstellen (rt.jar).
Eine Bibliothek in diesem Zusammenhang ist aus Sicht von Java sicherlich ein Abhängigkeitsglas, ein Krieg, eine Klasse usw. Wie auch immer, ich bin sicher, Sie können eine Java-App legal verkaufen - es gibt mehr als ein paar, die Oracle / Sun hat keine rechtlichen Schritte eingeleitet.
quelle
Keine Sorge, dies ist eine Frage der Computerprogrammierung oder zumindest eine, die Programmierer sehr betrifft.
Soweit ich weiß, müssen Sie, wenn Sie Software erstellen, die mit einem GPL-Code verknüpft ist, Ihren Quellcode freigeben, wenn Sie Ihr Programm verteilen.
Das bedeutet nicht, dass Sie Ihren Code für sourceforge freigeben müssen, dh wenn Sie von einem Dritten nach dem Code gefragt werden, müssen Sie ihn bereitstellen.
quelle