Hi!
Ein Script zur automatisierten Bildverarbeitung/-konvertierung war
bisher unter GPL gestellt und wird vom Programmierer nun unter eine
kommerzielle Lizenz gestellt. Fortan existieren die alte GPL-Version als
Fork und die neue kommerzielle Version. Für das Programm werden/wurden
Erweiterungen ("Extension") von verschiedenen Autoren unter GPL
gestellt. Die Extensions können nicht ohne das Programm, das Programm
aber natürlich ohne die Extensions aber mit eingeschränkter
Funktionalität.
Kann das Programm sich einfach der GPL-basierten Extensions bedienen?
Gibt es ggfl. eine Lizenz die dies untersagt?
Eos schrieb:> Kann das Programm sich einfach der GPL-basierten Extensions bedienen?> Gibt es ggfl. eine Lizenz die dies untersagt?
Wenn Du es nur bei Dir selbst nutzt kein Problem.
Wenn Du aber das Hauptprogramm und diese GPL-basierten Extensions
zusammen als ein Paket verkaufst/verschenkst/zum download anbiestest,
machst Du das, was in der GPL als "distribute" bezeichnet wird. In
diesem Moment verlangt die GPL, die ja in der Extension zum Einsatz
kommt, dass auch alle anderen damit gelinkten Programmteile (und damit
eben auch das Hauptprogramm) auch unter GPL stehen müssen.
Manche Leute versuchen das mit einem automatisierten Downloader zu
umgehen, wenn der aber vollautomatisch oder auch nur mit einem Mausklick
aktiviert wird, halte ich es für sehr zweifelhaft ob man dadurch das
Linking nach GPL verhindern kann.
Erst wenn der Endnutzer selbst hergeht, sich selbst die Extension bei
dem Entwickler der Extension herunterlädt, sie installiert und dem neuen
Hauptprogramm bekannt macht ist das ganze wieder kein Problem - solange
das Hauptprogramm auch ohne die Extension funktioniert. Denn dann
verbreitest Du keine miteinander gelinkte Version von beidem.
Eos schrieb:> Kann das Programm sich einfach der GPL-basierten Extensions bedienen?> Gibt es ggfl. eine Lizenz die dies untersagt?
Programmier doch in die Extensions eine Abfrage der Lizenz des
Hauptprogrammes. Wenn die nicht GPL ist, dann Meldung und Ende.
asdfg
Gerd E. schrieb:> Wenn Du aber das Hauptprogramm und diese GPL-basierten Extensions> zusammen als ein Paket verkaufst/verschenkst/zum download anbiestest,> machst Du das, was in der GPL als "distribute" bezeichnet wird. In> diesem Moment verlangt die GPL, die ja in der Extension zum Einsatz> kommt, dass auch alle anderen damit gelinkten Programmteile (und damit> eben auch das Hauptprogramm) auch unter GPL stehen müssen.
Das ist so nicht vollständig. Das simple Zusammenfassen von
GPL-lizensierter und anderer Software auf einem Datenträger impliziert
nämlich noch nicht, dass damit die GPL auch für die andere Software
gilt:
GPL v2 Abschnitt 5 letzter Absatz:
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work, and
which are not combined with it such as to form a larger program, in or
on a volume of a storage or distribution medium, is called an
“aggregate” if the compilation and its resulting copyright are not used
to limit the access or legal rights of the compilation's users beyond
what the individual works permit. Inclusion of a covered work in an
aggregate does not cause this License to apply to the other parts of the
aggregate.
(Zitiert nach http://www.gnu.org/licenses/gpl.html)
In der deutschen Übersetzung:
Ferner bringt auch das einfache Zusammenlegen eines anderen Werkes, das
nicht auf dem Programm basiert, mit dem Programm oder einem auf dem
Programm basierenden Werk auf ein- und demselben Speicher- oder
Vertriebsmedium dieses andere Werk nicht in den Anwendungsbereich dieser
Lizenz.
Zitiert nach http://www.gnu.de/documents/gpl-2.0.de.html
Dies ist natürlich nur der Fall, wenn das Hauptprogramm keinen Code aus
den Erweiterungen zurück übernommen hat.
Und: Für beigefügte GPL-lizensierte Erweiterungsmodule gelten natürlich
alle aus der GPL entstehenden Anforderungen.
Grüße
Stefan
asdfg schrieb:> Programmier doch in die Extensions eine Abfrage der Lizenz des> Hauptprogrammes. Wenn die nicht GPL ist, dann Meldung und Ende.
Was vollkommen witzlos wäre. Da GPL-lizensiert, lässt sich die Abfrage
ja einfach entfernen.
Grüße
Stefan
Die GPL hindert einen Endnutzer erstmal nicht daran, die Extensions mit
dem Programm zu nutzen. Kannst natürlich eine eigene Zusatzlizenz bauen
die das regelt, aber dann ist es halt auch keine GPL mehr.
Beim verteilen des Programmes mit den Extensions kommt es dann im Detail
darauf an wie die Extensions technisch umgesetzt sind.
Wenn die extensions durch linking ( DLL so ) angesprochen werden, dann
muss das ganze programm gpl sein. Als extension geht nur über fork (exec
und consorten oder system).
Was anderes ist wenn die extensions lgpl lizenziert sind, dann ist auch
dynamic linking erlaubt, nicht jedoch statisches linking.
chris schrieb:> Wenn die extensions durch linking ( DLL so ) angesprochen werden, dann> muss das ganze programm gpl sein.
ja
> Als extension geht nur über fork (exec> und consorten oder system).
nicht in allen Fällen. Die Frage ist auch wie Daten zwischen den beiden
Prozessen übergeben werden.
Wenn das ein paar Kommandozeilenparameter hin und ein paar generische
Text-Strings zurück sind dürfte das passen.
Wenn Du jedoch ein komplexes, programmspezifisches und nicht
standardisiertes Protokoll zwischen den Prozessen sprichst, ist es
durchaus realistisch das gesamte Konstrukt auch als Linking zu
betrachten und damit dann für beide Programme GPL zu fordern.
Gerd E. schrieb:> Wenn das ein paar Kommandozeilenparameter hin und ein paar generische> Text-Strings zurück sind dürfte das passen.>> Wenn Du jedoch ein komplexes, programmspezifisches und nicht> standardisiertes Protokoll zwischen den Prozessen sprichst, ist es> durchaus realistisch das gesamte Konstrukt auch als Linking zu> betrachten und damit dann für beide Programme GPL zu fordern.
Prima. Dann schreib ich mal eben einen x-beliebigen Windows-Treiber für
irgend eine Hardware, stell den unter GPL, und schon muß Microsoft sein
Windows-Code unter GPL stellen und veröffentlichen...
Oliver
Oliver S. schrieb:> Dann schreib ich mal eben einen x-beliebigen Windows-Treiber für> irgend eine Hardware, stell den unter GPL, und schon muß Microsoft sein> Windows-Code unter GPL stellen und veröffentlichen...
Unter der Voraussetzung, dass der Windows-Kernel seine Treiber
monolithisch dazulinkt, und nicht ähnlich "fork","ldopen","modprobe",etc
bei Bedarf dynamisch lädt/aktiviert:
Sobald Microsoft deinen Treiber nimmt, und mit auf die
Windows-Installer-CD packt: Ja.
Oliver S. schrieb:> Prima. Dann schreib ich mal eben einen x-beliebigen Windows-Treiber für> irgend eine Hardware, stell den unter GPL, und schon muß Microsoft sein> Windows-Code unter GPL stellen und veröffentlichen...
Da hast du wohl was gründlich falsch verstanden. Du kannst Microsoft
nicht dazu zwingen, deinen Code zu veröffentlichen. Und so lange sie das
nicht tun, brauchen sie auch nicht die Lizenz zu beachten, unter der er
steht.