Reicht nicht, die GPL ist mir noch nicht restriktiv genug
Ich hätte gerne eine klarerer Formulierung und "Plugins" für die
GPLv3, denn diese reicht mir als Autor nicht. Hier meine zwei
Probleme:
Fall 1: Jemand nimmt den Code und entwickelt ihn weiter und schränkt
die Lizenz indirekt ein.
Beispiel ist sveasoft.com. Sie verlangen Geld damit Du auf deren
Seite downloaden darfst (das ist legitim), sie releasen Code (das ist
legitim), geben den Source auch an Dich weiter (aber nicht an andere,
das ist legitim).
Aber wenn Du den Source weitergeben willst (nicht den Code!) dann
- invalidieren Sie Deinen Login und
- erlauben Dir nie wieder Zugriff auf ihre Seiten.
Das ist nicht mehr legitim. Damit schränken sie
direkt die GPL
ein. Das ist als ob man den Leuten sagt: "Natürlich hast Du ein
Recht zu atmen. Aber wenn Du andere Leute beatmest ohne dass diese
für ihr Recht auf atmen zu bezahlen, dann sperren wir Dir die Luft."
Klasse, das ist eine de-fakto Einschränkung des Rechts der GPL, da
ich dieses nicht ausüben kann ohne etwas anderes zu verlieren.
Eine solche indirekte Einschränkung sollte in der GPLv3
explizit
verboten sein. Ich gehe davon aus, diese Einschränkung ist in der
GPLv2 bereits
implizit verboten, aber die Argumentation dagegen ist
derart schwierig, dass es bisher noch nie jemand auf diesem Planeten
gemacht hat (die Fälle sind einfach viel zu esoterisch).
Fall 2: Jemand nimmt den Code und bietet einen Service auf der Basis
des Codes an, ohne den Code weiterzugeben.
Es ist
legitim wenn jemand GPL-Code nimmt und mit dem Einsatz des
Codes Milliarden scheffelt ohne dass der Autor davon einen müden Cent
sieht. Das ist die Natur der GPL, wer das nicht will soll kein GPL
schreiben. Denn bei der GPL geht es um Freedom of Use, nicht um Neid
von Autoren.
Was ich als illegitim ansehe ist, wenn dabei der aktuell verwendete
GPL-Code nicht veröffentlicht wird. Rein technisch findet in solch
einem Fall keine Weitergabe des Binary statt, weshalb auch der Code
entsprechend GPL nicht weitergegeben werden muss. Der Output von
GPL-Code fällt nicht unter die GPL, auch das ist die Natur der GPL.
Was ich gerne hätte wäre eine Möglichkeit, in diesem Fall eine
Weitergabe des Sourcecodes an jeden Teilnehmer des Dienstes
vorzuschreiben (nicht notwendiger an Dritte!). Sprich, jeder, der
auf das System das mit GPL arbeitet zugreift, muss den vollständigen
Source-Code downloaden können, so dass er den Dienst nachbauen kann,
falls die Original-Firma bzw. der Original-Service stirbt.
Dies ist eine Notwendigkeit, um den
Anwender zu schützen damit er
in keine Erpressbare Lage kommt - genau das ist ja die Idee hinter
der GPL, dem Anwender eine Nutzungsfreiheit einzuräumen.
Das ganze kann natürlich per LGPL etc. vereinfacht werden, so dass
nur das Zentralsystem, aber nicht die Plugins etc. veröffentlich
werden müssen usw. etc. pp. Auch infiziert die GPL hier natürlich
nicht die Nutzdaten, die evtl. in der Datenbank liegen.
Es gibt da aber noch einen Sonderfall:
Da immer mehr Systeme herauskommen, in denen der Script-Code bereits
zum großen Teil in der Datenbank liegen, kann es sein, dass evtl.
bereits dieser Script-Code der GPL unterliegen muss. Sprich, man
könnte einen PHP-Ableger schaffen, der dann die "Einschränkung" hat,
dass man allen Scipt-Code, der unter diesem PHP-Ableger läuft, dann
unter GPL veröffentlicht werden muss, wenn man diesen Script-Code im
Internet etc. verwendet.
Mit der derzeitigen GPL ist das einfach nicht zu erreichen! Wenn man
so etwas versucht schreibt man Code, der nicht zur GPL kompatibel ist
(ähnliche Probleme hat man, wenn man versucht, GPL-Code mit Code aus
anderen OSS-Lizenzen zu mixen, wobei allerdings hier meine Forderung
die Rolle der GPL einnimmt und die GPL die Rolle der freizügigeren
Lizenzen).
Nochmals: Niemand muss diesen PHP-Ableger nutzen, also infiziert die
GPL da nichts. Wenn man aber diesen PHP-Ableger nutzen würde, müsste
man diesem entsprechen, sprich die Scripte an denjenigen
veröffentlichen, der auf die Webseiten surft.
Noch ein wichtiger Punkt (Fall 2, teilweise auch Fall 1):
Des weiteren hätte ich gerne einen "Timeout-Paragraphen". Sprich,
wenn eine Firma sicherstellt, dass der Sourcecode nicht verloren
gehen kann wenn sie out-of-business geht, darf sie den Code mit
Verzögerung veröffentlichen. Der Code muss dann öffentlich werden,
sobald das Produkt nicht mehr oder mit wesentlichen Änderungen
angeboten wird, bzw. sobald eine bestimmte Zeit verstrichen ist
(nicht mehr als 1 Jahr).
Die Idee dahinter ist, die GPL hat ein Problem, nämlich sich vom
Mitbewerb abzuheben. Wenn ich fordere, dass im Service-Einsatz die
Software offengelegt wird, haben die Firmen keine Möglichkeit mehr,
sich von anderen Firmen zu profilieren. Das ist sehr hinderlich.
Wenn die Firmen aber den Source erst mit 1 Jahr Verspätung
veröffentlichen dürfen, dann haben sie einen irrsinnigen
Entwicklungsvorsprung gegenüber den anderen Firmen.
Das mit dem Jahr ist kurz und lang zugleich, aber hier muss das
Augenmerk auf den Anwender gerichtet werden! Dieser hat IMHO ein
Recht darauf, den Source-Code zu bekommen. 1 Jahr Verspätung
sollte aber erträglich sein. Gleichzeitig kommen die Firmen unter
Druck, dass sie ihr Angebot laufend weiterentwickeln, denn nach 1
Jahr wird der Code ja veröffentlicht.
Das gäbe dann Firmen wie SVEASOFT eine
rechtlicheinwandfrei*
Grundlage. Sie müssen nicht einmal mehr den Code in ihrem
Entwicklerforum weitergeben, bzw. können natürlich den Teilnehmern
die Erlaubnis entziehen - aber eben nur für 1 Jahr! - den Sourcecode
weiterzugeben. Ich finde, das wäre ein hervorragender Kompromiss!
Nochmals: All das muss in die GPL eingebaut werden, denn dieser
"Timeout-Paragraph" für Derived-Work ist mit der GPL nicht vereinbar.
Und es muss sehr gut formuliert sein, denn der Timeout-Paragraph
darf Firmen, die Hardware mit GPL-Code erzeugen, nicht den Freibrief
geben, die Firmware-Sourcen dann 1 Jahr zurückzuhalten. Ich sehe das
nur wirklich für "Beta-Foren" a la SVEASOFT als legitim an sowie für
Service-Provider, die einen Webservice (also keine Distribution im
eigentlichen Sinne) betreiben der GPL einsetzt.
Die GPL ist nämlich keine Lizenz, die dazu dient, Firmen das
Geldverdienen zu vermiesen, sondern lediglich eine Lizenz, die den
Anwender vor proprietären Auswirkungen von Software schützen soll.
Dies kann sie optimal dann, wenn Firmen angeregt werden, viel Geld
mit "early Adaptors" zu verdienen, aber hinterher der Gemeinschaft
alles offenlegen müssen.
Langer Rede kurzer Sinn:
Die GPL ist mir noch nicht restriktiv genug. Ich würde gerne
permanente weitere Restriktionen in die GPL einbauen können, die dazu
dienen, dass der Anwender, der also in den Nutzen der GPL-Software
kommt, gegenüber dem Service-Provider noch weitere Rechte bekommt,
nämlich den Code zu bekommen, dessen Service er gerade nutzt.
Diese Rechte müssen garantiert werden, damit man die GPL nicht
unterlaufen kann.
All das finde ich legitim. Viele Service-Provider verdienen
schließlich am bereitgestellten Service. Wenn der Anwender aber den
Provider wechselt, kann es sein, dass er wichtige Serviceleistungen
verliert, die er nur mit einem extremen Aufwand selber wieder
herstellen kann, obwohl der Service-Provider diese nur aus GPL
zusammengeschraubt hat. Wenn wir diese Möglichkeit nicht zulassen,
können Firmen den GPL-Code nehmen, weiterentwickeln, nicht
weitergeben, und letztendlich - wie im Fall 1 - indirekt die GPL
aushebeln.
Letzteres ist nicht mehr legitim. Deshalb wäre ich dafür, dass die
GPL die Möglichkeit hat, dass man ihr entsprechende Klauseln einfach
hinzuklinken kann, so dass diese nicht mehr verschwinden können.
In der momentanen V3 kann man zwar solche Klauseln hinzuklinken, aber
diese verschwinden wieder beliebig, da man immer auf die Original-GPL
zurückkann. Und es macht wenig Sinn Software außerhalb der GPL zu
bauen. Die GPL und diese Erweiterungen müssen "kompatibel" sein, so
dass man GPL-Code und diese noch restriktivere Lizenzteile
zusammenstecken kann, weiterentwickeln, und ggf. wieder trennen kann,
wobei der restriktivere Part immer dort überlebt, was aus dem
restriktiveren Part hervorging.
Leider bietet die neue GPL all das nicht, auf das ich meine
Hoffnungen gesetzt hätte.
-Tino
PS: Das sind wirklich ganz konkrete Probleme die ich mit der GPL
habe! Das Patentzeug usw. ist zwar ganz nett, aber das löst meine
Probleme nicht.
PPS: Ich habe keine Zeit, das in irgendwelchen Foren zu vertreten.
Es steht hier. Damit muss das reichen ;)