Forum: PC Hard- und Software Erweiterung für Programm unter dualer Lizenz nur für GPL-Version freigeben


von Eos (Gast)


Lesenswert?

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?

von Rene H. (Gast)


Lesenswert?

Ja, kann es und eine Lizenz dafür müsste jeder Entwickler selber 
definieren, wäre dann aber natürlich kein GPL mehr.

Grüsse,
René

von Gerd E. (robberknight)


Lesenswert?

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.

von asdfg (Gast)


Lesenswert?

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

von Stefan W. (dl6dx)


Lesenswert?

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

von Stefan W. (dl6dx)


Lesenswert?

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

von greg (Gast)


Lesenswert?

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.

von chris (Gast)


Lesenswert?

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.

von Gerd E. (robberknight)


Lesenswert?

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.

von Oliver S. (oliverso)


Lesenswert?

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

von Linksammler (Gast)


Lesenswert?

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.

von Rolf M. (rmagnus)


Lesenswert?

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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.