[linux-l] Cygwin Lizenz

olafBuddenhagen at gmx.net olafBuddenhagen at gmx.net
Fr Okt 3 18:19:28 CEST 2008


Hallo,

On Fri, Sep 26, 2008 at 11:45:41PM +0200, Volker Grabsch wrote:

> Nochwas: Die Zusatzklausel erlaubt es, die GPL-Lizenzierung von Cygwin
> fast komplett auszuhebeln.

Falsch.

> Man schreibe eine freie Library, zum Beispiel unter LGPL oder
> MIT-Lizenz, die nichts weiter als ein Wrapper für Cygwin ist. Diese
> Library verteile man ganz normal als freie Software, unter anderem als
> DLL, in die man die Cygwin-DLL statisch hinein gelinkt hat. Laut
> Cygwin-Ausnahmeregel untersteht diese neue DLL der LGPL bzw.
> MIT-Lizenz, und nicht mehr der GPL.
> 
> Die proprietäre Software compiliere man unter MinGW (nicht Cygwin) und
> linke diese dynamisch gegen die neue DLL. Die Software ruft keine
> einzige Cygwin-Funktion direkt auf, sondern nutzt für alles den
> Wrapper, also die Funktionen der neuen DLL.

Du kannst soviel wrappen wie Du willst: Am Ende bilden die Applikation
und die Bibliothek eine gemeinsames Werk, das an die Lizenzen aller
Teile gebunden ist.

> Einziges Problem: Die Ausnahmeregel redet von "programs" bzw. von
> "your application", und nicht von Libraries. Aber kein Problem: Gib
> der Library eine kleine main()-Funktion, und erstelle eine EXE
> anstelle einer DLL. Soweit ich weiß, kann man unter Windows auch
> dynamisch gegen EXE-Dateien linken, oder irre ich mich hier?

Kann schon sein -- sowas geht auch unter GNU... Solche technischen
Spielchen sind lizenztechnisch aber irrelevant. Die eigentliche
Applikation enthält die Bibliothek, und ist durch deren Lizenz gebunden.

> Cygwin ist damit ein hervorragendes Beispiel dafür, dass man
> Standard-Lizenzen nicht einfach abändern sollte, es sei denn, man weiß
> genau, was man tut.

Du meinst RedHats Anwälte wissen nicht was sie tun?

Im übrigen enthalten diverse GNU-Projekte (libgcc, Classpath, Autoconf
Macro Archive) ähnliche Ausnahmen.

> Konkret bei Cygwin hätte die LGPL einen viel besseren Schutz geleistet
> als die GPL plus eigenwillige Zusatzklausel.

Die Zusatzklauseln erfüllen einen gänzlich anderen Zweck, und haben eine
völlig andere Wirkung.

LGPL ist dazu da, dass Standard-Bibliotheken wie glibc, die überwiegend
Funktionalität nachbilden die es auch wo anders gibt, auch in nicht-GPL
Programmen statt der anderen (eventuell unfreien) Bibliotheken verwendet
werden können, so dass die Nutzer zumindest für einige Programmteile
mehr Freiheit erhalten.

Die Ausnahmen bei libgcc, Classpath, und cygwin.dll dienen dazu, dass
Programme, die mit freien Compilern übersetzt wurden, nicht automatisch
an GPL gebunden sind.

-Olaf-



Mehr Informationen über die Mailingliste linux-l