[linux-l] Cygwin Lizenz

Volker Grabsch vog at notjusthosting.com
Fr Sep 26 23:45:41 CEST 2008


Michael Wiedmann <mw at miwie.in-berlin.de> schrieb:
> Lizenzierungsproblematik:
> 
> - existierender Source Code steht unter einer MIT Lizenz (was mir
>   das Recht zu modifizieren einräumt)

Hehe, diese Lizenz nehme ich auch sehr gerne. Sie ist zwar
äquivalent zur BSD-Lizenz (2-Klausel), aber etwas kürzer
und zudem netter formuliert. Wenn man die MIT-Lizenz liest,
bekommt man das Gefühl, die Software in einem feierlichen
Schenkungs-Akt erhalten zu haben. :-)

> - dieser modifizierte Source Code  soll unter Cygwin zum Einsatz kommen
>   und linkt dynamisch gegen drei Cygwin DLLs.

JFTR: MinGW ist um einiges schlanker, die entstandenen EXE-
Dateien kommen meist ohne zusätzliche DLLs aus, und es werden
keine wahnwitzigen Forderungen an eine Software gestellt, die
lediglich POSIX-Basisfunktionalitäten nutzen möchte.

Ich stimme zwar Grundsätzlich der Argumentation von Stallman
zu, dass man einzigartige Libraries besser unter GPL statt LGPL
stellt, um freie Software stärker zu fördern. Doch im konkreten
Fall der Cygwin-DLL finde ich das übertrieben.

> - Nach der '*** NOTE ***' in http://cygwin.com/license.html
>   existiert eine Ausnahme für unter einer OSD Lizenz stehende Software,
>   dass das Ergebnis nicht wiederum unter GPL stehen muss (sondern eben
>   unter seiner eigenen Lizenz bleibt, in diesem Fall eben MIT).
> 
> Schlussfolgerung:
> Ich kann das entstehende Binary zusammen mit den fraglichen DLLs
> vertreiben (sofern ich die Sourcen der DLLs selbst zugänglich mache).
> 
> Habe ich das richtig verstanden?

Ich denke, ja. IANAL, aber genauso verstehe ich das auch.

Wenn ich die Zusatzklausel richtig verstanden hat, kannst du dir
das Zugänglichmachen der Cygwin-Quellen sogar sparen, wenn du die
Cygwin-Library einfach statisch in deine EXE hinein linkst. Denn
in dem Fall verteilst du die Cygwin-DLL ja gar nicht mehr.

--------------------------------------------------------------

Nochwas: Die Zusatzklausel erlaubt es, die GPL-Lizenzierung von
Cygwin fast komplett auszuhebeln. Es wäre besser gewesen, Cygwin
gleich unter LGPL zu stellen, das hätte mehr gebracht.

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.

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?

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. Lieber auf eine andere Standard-
Lizenz ausweichen, die den eigenen Bedürfnissen besser entspricht.

Konkret bei Cygwin hätte die LGPL einen viel besseren Schutz
geleistet als die GPL plus eigenwillige Zusatzklausel. Würde
man nämlich die Idee der Zusatzklausel retten wollen und alle
Lücken stopfen, käme man letztlich bei der LGPL an.


Gruß,

    Volker

-- 
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR



Mehr Informationen über die Mailingliste linux-l