[linux-l] GPLv3 erschienen

olafBuddenhagen at gmx.net olafBuddenhagen at gmx.net
Di Jul 17 02:36:45 CEST 2007


Hallo,

On Sat, Jul 14, 2007 at 01:41:45PM +0200, Steffen Dettmer wrote:
> * olafBuddenhagen at gmx.net wrote on Tue, Jul 10, 2007 at 04:50 +0200:
> > On Fri, Jul 06, 2007 at 12:30:19AM +0200, Steffen Dettmer wrote:

> > Das gilt auch für die "v2 or later"-Klausel: Derjenige, der die
> > Software *weitergibt*, kann entscheiden, unter welcher Version er
> > das tut -- v2 only oder v3 only oder v2 or later oder v3 or later,
> > alles drin. Falls die Weitergabe unter v3 erfolgt, hat der Empfänger
> > dann keine Wahl mehr; die v2-Option ist weg.
[...]
> Steht ausserdem wörtlich drin "if you distribute copies of the
> library, whether gratis or for a fee, you must give the recipients all
> the rights that we gave you", all schliesst ja wohl v2 ein.

Ich denke der Satz bezieht sich auf die Grundrechte freier Software. Die
speziellen Regeln in den jeweiligen GPL-Versionen sind ja nur Mittel zum
Zweck um die Grundrechte durchzusetzen.

> > Wie gesagt nur wenn Teile drin sind, die v2-only sind. Mit "v2 or
> > later" ist die Erlaubnis, auf eine neue Version umzustellen, bereits
> > gegeben.
> 
> Wieso, die Teile, die v2 or later sind, können nach v2 lizensiert
> werden, auch wenn jemand v3 Teile hinzufügt und das Ergebnis v3 ist.
> Natürlich müsste man sich ggf. sein v2 zusammenbasteln, in dem man
> alle v3 Teile rausschmeisst.

Mit "or later" hat man ja jedem, der den Code unter diesen Bedingungen
erhält, die Erlaubnis erteilt, sich eine spätere Version auszusuchen.
Wenn sich dann jemand entscheidet, ihn unter v3 weiterzugeben, erhält
der Empfänger nach meinem Verständnis den Code nur noch unter
v3-Konditionen, und ist durch diese gebunden; um den Code unter v2
weiterverbreiten zu können, müsste er irgendwo eine Kopie unter den
älteren Bedingungen besorgen...

Ich frage sicherheitshalber mal nach wie das wirklich ist.

> > > Falls man die überhaupt alle findet und erreicht! Theorie mal
> > > beiseite, wie sieht die Praxis aus? Mindestens einer wird nicht
> > > erreichtbar sein...
> > 
> > Xorg-Entwicklern, dass alle Treiber unbedingt MIT sein müssen. Im
> > Endeffekt hat es sich, so viel ich weiß, wieder im Sande
> > verlaufen...)
> 
> ja, genau. In der Praxis funktioniert das halt kaum.

Der Punkt war, dass es zwar in dem Fall an anderen Dingen gescheitert
ist; aber die grundsätzliche Unmöglichkeit, bei einem größeren Projekt
von jedem einzelnen Entwickler ein Einverständnis einzuholen, wurde
eindrucksvoll widerlegt.

> > In vielen Fällen existiert das Problem aber gar nicht. Denn es
> > bedarf eigentlich nicht der Zustimmung der Entwickler, sondern der
> > Copyright-Holder. Das sind bei vielen Projekten die Entwickler
> > selbst; bei vielen anderen Projekten sind aber Copyright-Assignments
> > nötig -- zum Beispiel bei praktisch allen GNU-Programmen, sowie bei
> > praktisch allen kommerziellen GPL-Programmen. (MySQL, Qt etc.)
> > 
> > Dann gibt es nur einen einzigen Copyright-Holder, und der kann ganz
> > problemlos auf v3 umstellen, selbst wenn der Code vorher v2-only
> > war.
> 
> wieso, wenn er einen patch von mir mit v2 only integriert haben würde,
> müsste er den natürlich zuerst entfernen.

Nein. Mit dem Copyright-Assignment erteilst Du ja das Recht, über die
Lizenz zu bestimmen. Der entsprechende Copyright-Owner kann dann
umstellen wie viel er will, auch auf eine gänzlich andere Lizenz. Du
brauchst Deinen Patch in dem Fall streng genommen gar nicht lizenzieren
-- Du hast ja jemand anderem das Copyright erteilt, also das Recht den
Code zu lizenzieren.

> Allerdings hat ja in der Vergangenheit wohl kaum jemand so genau drauf
> geachtet. Daher wundert mich, wie man auf v3 umstellen kann, man muss
> doch erwarten, dass v2-only Code irgendwie reingerutscht ist,
> vielleicht aus einer v2-only Lib kopieriert oder so.

In der Regel trägt jede Datei einen Header, in dem auch die GPL-Version
drin steht. Wenn sich durch Import von Code etwas am Lizenzstatus
ändert, muss das in dem Header auch entsprechend vermerkt werden. Wer da
nachlässig ist, ist selbst schuld.

> Angenommen, ich hätte ein Sicherheitsmodul mit Linux, v2 only.

Du meinst also ein Gerät, was sich über die Wünsche des Besitzers
hinwegsetzt.

> Nur würde Linux auf v3 umlizensieren. Damit könnte ich umlizensierte
> Linuxe nicht mehr einsetzen. Allerdings müsste das v3 Linux meine v2
> Teile entfernen, weil man die ja nur nach v2 lizensieren darf, sprich,
> insbesondere dürfen meine Treiber auf Sicherheitsmodulen eingesetzt
> werden.

Du willst also v2-only nehmen, um sicherzustellen, dass Dein Code
niemals in Programmen landet, die nicht auf solchen versklavungs-Geräten
eingesetzt werden dürfen.

Nun gut, ich hoffe Du hast Verständnis, dass sowas nicht im Sinne der
GPL-Erfinder ist.

Ich hoffe Du hast ebenfalls Verständnis, dass mich das nicht davon
überzeugt, dass die "or later"-Klausel problematisch ist.

> > Wenn dann ein Hardwarehersteller diese neue Version der Software für
> > seinem Gerät einsetzen will, muss er dann die Bedingungen der GPLv3
> > erfüllen. Das heißt er muss nicht nur die Quellen weitergeben,
> > sondern dem Nutzer auch die Möglichkeit einräumen, modifizierte
> > Software auf diesem Gerät zu betreiben.
> 
> Oder er nimmt die letzte v2 Version, zieht die v2 Patches rüber und
> schon gibts ein fork. Nee, es gibt kein Linux mehr auf dem System,
> weil der Hersteller dann wohl zu vxworks oder so wechseln würde.

Wird die Welt dadurch schlechter? Wohl kaum.

Wird die Welt dadurch besser? Ja! Wenn Hersteller, die die Freiheiten
nicht an die Anwender weitergeben wollen, keine freie Software einsetzen
dürfen, im Gegensatz zu denjenigen, die die Freiheiten weitergeben,
haben letztere einen Wettbewerbsvorteil. Sehr wünschenswert.

> > Wenn es v2-only Teile gibt, und die Copyright-Holder dieser Teile
> > nicht erreichbar sind, *und* sich diese Teile nicht relativ einfach
> > durch neuen Code ersetzen lassen, steckt man bei v2 fest. In allen
> > anderen Situationen ist der Umstieg machbar.
> 
> Ist das nicht zu erwarten?

Kenne keine konkreten Zahlen. Ich denke aber dass, es für eine große
Mehrheit aller GPL-Projekte keine wesentlichen Probleme gibt.

> Es reicht ja theoretisch, wenn eine Funktion aus einer v2 Source
> kopiert wäre oder so. Wer will das Sicherstellen?

Das kann man nie sicherstellen, ebenso wenig wie man sicherstellen kann,
dass jemand nicht Code aus einem proprietären Programm kopiert hat.
Damit muss man einfach leben.

> Ohne Sicherstellung kann man doch aber nicht auf v3?

Wenn man so übervorsichtig wäre, dürfte man niemals Software
veröffentlichen, die nicht ausschließlich selbst geschriebenen Code
enthält...

> > Linus zum Beispiel glaubt, dass selbst Linux auf v3 umzustellen
> > ginge, wenn man es denn will -- obwohl ein erheblicher Teil des
> > Codes v2-only ist.
> 
> Keine Idee, wie das funktionieren könnte.

Man fragt halt alle Entwicker, deren v2-only Code irgendwo verwendet
wird, ob man wechseln darf. Den kleinen Rest an v2-only Code, der von
Leuten stammt, die entweder unaffindbar sind oder nicht einwilligen,
ersetzt man dann halt durch neuen.

Klar, einfach ist das nicht. Nicht umsonst ist "or later" die empfohlene
Variante -- genau um diese Schwierigkeiten zu vermeiden.

> Oben geht es ja um nicht 100% "v2 or later" sondern um Software mit v2
> only und v2 or later Teilen. Bisher interessierte es keinen, wenn v2
> only Software illegalerweise unter "v2 or later" weitergegeben wurde,
> weil es praktisch ja gleich war.

Halte ich für unwahrscheinlich. Wenn jemand etwas unter v2-only gestellt
hat, war das eine ganz bewusste Entscheidung. Jemand der das macht, wird
sicherlich auch darauf achten, dass man sich daran hält.

> Aber wenn jetzt ein Sicherheitsmodulhersteller plötzlich kein
> (aktuelles) Linux mehr einsetzen darf, ja, nichtmal neue Versionen
> seines eigenen Treibers selbst einsetzen darf, dann könnte er
> vielleich einen v2 only Patch irgendwo finden und klagen.

Dann entfernt man halt den inkriminierten Code. So viel kann es ja nicht
gewesen sein, wenn es bisher niemandem aufgefallen ist.

-Olaf-



Mehr Informationen über die Mailingliste linux-l