Immer wieder steht man bei seinen Projekten vor der Frage, welche Lizenz(en) man denn verwenden solle. Das Angebot ist groß und unübersichtlich, nicht selten dauert es eine Weile, bis man die "Richtige" gefunden hat, insbesondere beim ersten Mal. Ich werde im Folgenden versuchen, einige freie Lizenzen (OpenSource-Lizenzen) übersichtlich darzustellen.
Disclaimer: Weder bin ich Anwalt, noch habe ich Jura studiert! Die folgende Übersicht ist lediglich ein Produkt umfassender Recherche, ohne Garantie auf Richtigkeit!
Inhalt:- Definitionen und Richtlinien
- Lizenzen ohne Copyleft
- Lizenzen mit Copyleft
- Lizenzen für Dokumentationen
- Frequently Asked Questions
- Copyleft - Freiheitseinschränkung?
- Quellen
0. Definitionen der Begriffe "freie Software" und "Open Source"
Wann ist eine Software eigentlich frei? Wann ist sie Open Source? Dafür sind im Laufe der Zeit verschiedene Definitionen zustande gekommen. Auf die verbreitetsten drei werde ich im Folgenden eingehen.
0.1 Die "Free Software Definition" (FSD)
Die Free Software Definition[1] ist die erste gebräuchliche Definition. Sie wurde 1986 von Richard Matthew Stallman geschrieben und umfasste damals zwei Punkte:
- Die Freiheit, ein Programm zu kopieren, und an einen Nachbarn weiterzugeben, damit er es genauso nutzen kann.
- Die Freiheit, ein Programm verändern zu können, damit der Nutzer es kontrollieren kann, statt anders rum. Dies impliziert, dass der Nutzer Zugang zum Quellcode haben muss
Die moderne Free Software Definition umfasst vier Punkte:
- Freiheit 0: Die Freiheit, das Programm zu jedem Zweck zu nutzen.
- Freiheit 1: Die Freiheit, die Funktionsweise des Programms nachzuvollziehen.
- Freiheit 2: Die Freiheit, Kopien des Programms weiterzugeben.
- Freiheit 3: Die Freiheit, das Programm zu verbessern und auch diese verbesserte Version weiterzugeben.
Schon von Anfang an betont Stallman, "free" beziehe sich auf die Freiheiten und nicht auf den Preis. Freie Software muss nach seiner Definition nicht kostenlos sein. Er selbst brachte eine lange Zeit seinen Lebensunterhalt mit dem Verkauf von Emacs auf.
0.2 Die "Debian Free Software Guidelines" (DFSG)
Angelehnt an die FSD formulierte das Debian-Projekt (eine GNU/Linux-Distribution) 1997 einige Richtlinien[2], nach denen entschieden wird, ob eine Software frei ist. Sie sind um einiges umfangreicher:
- Das Programm muss freie weitergegeben werden können (sowohl in Binär- als auch in Quellcode-Form)
- Der Quellcode muss offengelegt werden.
- Die Lizenz muss erlauben, dass abgewandelte Versionen unter den gleichen Bedingungen weitergegeben werden darf.
- Keine Diskriminierung gegenüber Einzelpersonen oder Personengruppen
- Keine Einschränkung des Einsatzbereichs
- Jeder Empfänger des Programms bekomt die verbundenen Rechte automatisch, ohne die Lizenz erst separat anfordern zu müssen.
- Die Lizenz darf nicht davon abhängen, ob das Programm als Teil der Debian-Distribution weitergegeben wird oder nicht.
- Die Lizenz darf andere Programme nicht einschränken.
Als Beispiele werden explizit die
GPL, die BSD-Lizenz und Perl's Artistic License genannt.
0.3 Die "Open Source Definition" (OSD)
Wenig später spaltete sich von der Freie-Software-Bewegung die Open-Source-Bewegung ab, die mit "Open Source" einen Begriff einführte, der weniger die ideologischen Elemente freier Software beschreiben sollte, als mehr direkt auf die Offenlegung des Quelltexts anspielt. Dazu gründete man die Open Source Initiative (OSI), die die DFSG in etwas abgeänderter Version als Open Source Definition[3] übernahm. Debian-spezifische Formulierungen wurden verallgemeinert und "Free Software" durch "Open Source" ersetzt. Da sie nahezu identisch zur DFSG ist, führe ich sie nicht weiter aus - allerdings sollte man im Hinterkopf behalten, dass die OSI einige Lizenzen weniger streng auslegt als das Debian-Projekt, weshalb einige Lizenzen von der OSI akzeptiert werden, von Debian jedoch nicht.
1. Lizenzen mit Copyleft
Was bedeutet "Copyleft"? Copyleft[4][5] ist die Anforderung an abgeleitete Werke, der gleichen (/kompatiblen/neueren/strikteren) Lizenz zu unterliegen, wie das Ursprungswerk. Es kann unterschiedlich "stark" sein, wie an den folgenden Lizenzen erkenntlich ist.
GNU General Public License Version 2 (GPLv2) [FSD/DFSG/OSD]
Erscheinungsjahr: 1991
Herausgeber: Free Software Foundation
Copyleft: Viral, erstreckt sich über das gesamte Programm, bei Bibliotheken auch auf alle Programme, die diese Bibliothek statisch oder dynamisch einlinken.
Lizenztext:
auf gnu.org
GNU General Public License Version 3 (GPLv3) [FSD/DFSG/OSD]
Erscheinungsjahr: 2007
Herausgeber: Free Software Foundation
Copyleft: Viral, erstreckt sich über das gesamte Programm, bei Bibliotheken auch auf alle Programme, die diese Bibliothek statisch oder dynamisch einlinken.
Besonderheiten:
- Ausdrückliches Verbot von Tivoisierung.
- DRM ("Digital Restrictions Management") darf gebrochen werden, ohne gegen den Digital Millenium Copyright Act (DMCA) zu verstoßen.
Lizenztext:
auf gnu.org
Affero General Public License Versionen 1 und 2 (AGPL) [FSD/DFSG/OSD]
Erscheinungsjahr: 2002
Herausgeber: Affero Inc.
Aufbauend auf der GPLv2
Zusätzliche Klauseln: Der Quelltext muss auch allen Benutzern im Netzwerk verfügbar gemacht werden, bspw. bei CMS auf Webseiten etc.
GNU Affero General Public License Version 3 (AGPLv3) [FSD/DFSG/OSD]
Erscheinungsjahr: 2007
Herausgeber: Free Software Foundation
Aufbauend auf der GPLv3
Zusätzliche Klauseln: Der Quelltext muss auch allen Benutzern im Netzwerk verfügbar gemacht werden, bspw. bei CMS auf Webseiten etc.
Lizenztext:
auf gnu.org
GNU Library General Public License Version 2.0 [FSD/DFSG/OSD]
GNU Lesser General Public License Version 2.1 [FSD/DFSG/OSD]
Erscheinungsjahr: 1991
Herausgeber: Free Software Foundation
Aufbauend auf der GPLv2
Erlaubt jedoch, dass proprietäre Software gegen den unter der
LGPL stehenden Code statisch oder dynamisch gelinkt wird.
Lizenztext (2.0):
auf gnu.org
Lizenztext (2.1):
auf gnu.org
Achtung bei statischem Linken: Hier greift zwar nicht das Copyleft, aber du musst dennoch die ungelinkten Objektdateien mitliefern[6] (siehe auch FAQ)
Aber: Manche Projekte (z.B. FreePascal) benutzen eine veränderte Version, bei der du genau das nicht musst.
GNU Lesser General Public License Version 3 [FSD/DFSG/OSD]
Erscheinungsjahr: 2007
Herausgeber: Free Software Foundation
Aufbauend auf der GPLv3
Erlaubt jedoch, dass proprietäre Software gegen den unter der
LGPL stehenden Code statisch oder dynamisch gelinkt wird.
Lizenztext:
auf gnu.org
Achtung bei statischem Linken: Hier greift zwar nicht das Copyleft, aber du musst dennoch die ungelinkten Objektdateien mitliefern[6] (siehe auch FAQ)
Mozilla Public License Version 1.1 (MPLv1.1) [FSD/DFSG/OSD]
Erscheinungsjahr: 1998
Herausgeber: Mozilla Foundation
Inkompatibel zur
GPL! Wenn Kompatibilität gewünscht, wird auf Version 2.0 oder eine Duallizenzierung verwiesen.
Copyleft: Schwach, erstreckt sich nur auf die lizenzierte Quelldatei und kann problemlos mit proprietärem Code gemischt werden.
Lizenztext:
auf mozilla.org
Mozilla Public License Version 2.0 (MPLv2.0) [FSD/DFSG/OSD]
Erscheinungsjahr: 2012
Herausgeber: Mozilla Foundation
Kompatibel zur
GPL, im Gegensatz zum Vorgänger.
Copyleft: Schwach, erstreckt sich nur auf die lizenzierte Quelldatei und kann problemlos mit proprietärem Code gemischt werden.
Lizenztext:
auf mozilla.org
Common Development and Distribution License (CDDL) [FSD/OSD]
Erscheinungsjahr: 2004
Herausgeber: Sun Microsystems
Aufbauend auf MPLv1.1, nicht
GPL-kompatibel!
Ergänzt, dass Lizenzen erlischen, wenn der Lizenznehmer gegen den Lizenzgeber wegen Patentverletzungen klagt.
DFSG-Kompatibilität ungeklärt.
Eclipse Public License (EPL) / Common Public License (CPL) [FSD/DFSG/OSD]
Erscheinungsjahr: 2001 (CPL) / 2004 (EPL)
Herausgeber: IBM (CPL) / Eclipse Foundation (EPL)
Inkompatibel zur
GPL!
Die CPL wird als
ersetzte Lizenz geführt, IBM und Eclipse haben sich darauf geeinigt, dass die EPL die CPL ablöst. Grundsätzliche Änderungen gibt es keine.
Copyleft: Schwach, nur innerhalb eines "Moduls"
Lizenztext (EPL):
auf eclipse.org
2. Lizenzen ohne Copyleft
Originale BSD-Lizenz (4 Klauseln) [FSD/DFSG/?]
Enthält eine umstrittene "Werbeklausel", daher von der OSI nicht aufgenommen und nicht mit der
GPL kompatibel.
Modifizierte/neue BSD-Lizenz (3 Klauseln) [FSD/DFSG/OSD]
FreeBSD-Lizenz (2 Klauseln) [FSD/DFSG/OSD]
X11-Lizenz (nahezu identisch) [FSD/DFSG/OSD]
Beliebteste Non-Copyleft-Lizenzen,
GPL-kompatibel
Boost Software License [FSD/DFSG/OSD]
GPL-kompatibel
Lizenztext:
auf boost.org
Apache License 1.0 [FSD/?/?]
GPL-inkompatibel aufgrund Werbeklausel
Lizenztext:
auf apache.org
Apache License 1.1 [FSD/?/OSD]
GPL-inkompatibel aufgrund des strengen Verbots der Nutzung von Apache-bezogenen Namen
Lizenztext:
auf apache.org
Apache License 2.0 [FSD/DFSG/OSD]
Kompatibel zur GPLv3, nicht jedoch zur GPLv2.
Lizenztext:
auf apache.org
Do What The Fuck You Want To Public License (WTFPL) [FSD/DFSG/OSD]
Eine Public-Domain-Lizenz. Null Einschränkungen.
Lizenztext:
WTFPL
3. Lizenzen für Dokumentationen
GNU Free Documentation License (GFDL)
Primär innerhalb des GNU-Projekts verwendet, früher auch von der Wikipedia.
Copyleft-behaftet.
Erlaubt
invariant sections, weshalb viele GFDL-Werke nicht vom Debian-Projekt als frei anerkannt werden.
Lizenztext:
auf gnu.org
FreeBSD Documentation License
Vom der FreeBSD-Distribution verwendet.
Ohne Copyleft, kompatibel mit der GFDL.
Lizenztext:
auf freebsd.org
Creative-Commons-Lizenzen
Eine ganze Reihe von Lizenzen werden von der Creative-Commons-Gemeinschaft veröffentlicht.
Die Lizenzen lassen sich nahezu beliebig aus folgenden Modulen zusammensetzen:
- BY - Namensnennung
- SA - Share Alike (Copyleft)
- ND - No Derivative (keine Ableitungen)
- NC - Non-Commercial (keine kommerzielle Nutzung)
Im aktuellen Lizenzensatz ist Namensnennung immer vorgesehen und kann nicht abgewählt werden.
Es ist nicht empfohlen, die Lizenzen für Software zu verwenden.[7][8]
4. Frequently Asked Questions- Darf ich freie Software verkaufen?
Ja, auch zu jedem Preis! "Free" bezieht sich auf die Freiheiten, nicht auf die Kosten. Der Verkauf kann eine gute Möglichkeit darstellen, die Entwicklungskosten aufzubringen.[9][10]
- Ich habe ein GPL-Programm mit ein paar Erweiterungen versehen, die ich aber nur selbst nutze. Muss ich sie veröffentlichen?
Nein, die GPL zwingt nicht zur Veröffentlichung. Aber wenn du dich dafür entscheidest, beachte auch das Copyleft!
- Ich habe eine GPL-Bibliothek und möchte eine proprietäre Software schreiben, die darauf aufbaut.
Gib's auf - das Copyleft umfasst sowohl statische als auch dynamische Bindungen. Es wäre allerhöchstens möglich, ein zweites Programm zu schreiben, das die Bibliothek einbindet und die Funktionen über IPC zur Verfügung stellt. Aber das ist dann sehr grenzwertig und interpretationsabhängig. Eine Ausnahme liegt vor, wenn es sich bei der GPL-Bibliothek um einen Betriebssystemkern handelt (Danke an franktron und JamesTKirk)
- Ich habe eine LGPL-Bibliothek, die ich statisch einbinde. Gilt hier das Copyleft?
Nein, aber bei statischer Bindung musst du dennoch dem Nutzer die Möglichkeit geben, die Bibliothek durch eine veränderte Version zu ersetzen. In der Praxis heißt das, dass du deine ungelinkten Objektdateien mitgeben musst, damit der Nutzer sie gegen seine veränderte Bibliothek linken kann. Dieser Sachverhalt besteht nicht bei dynamischer Bindung (DLLs). [6]
- Ich möchte in ein GPL-Programm Quelltext einbinden, der mit einer anderen Copyleft-Lizenz versehen ist. Welche Bedingungen habe ich zu erfüllen?
Zuerst solltest du sicherstellen, dass alle verwendeten Lizenzen kompatibel sind. In der Regel gilt für das Gesamtprogramm dann die strikteste Lizenz. Das ist meistens die GPL, nur die AGPL ist noch strikter.
- Kann ich ein Programm unter einer der Creative-Commons-Lizenzen veröffentlichen?
Die Verwendung der CC-Lizenzen für Software ist NICHT empfohlen! (Danke an BUG) [7][8]
- An wen kann ich mich wenden, wenn die Lizenz gebrochen wird?
Hilfe gibt's u.A. von Harald Welte und dem Software Freedom Law Center (Danke an Assarbad)
- Sind die Lizenzen auch für andere Werke als Software anwendbar?
Nicht jede, aber der überwiegende Teil schon. Selbst die GPL spricht nur von "work" und explizit nicht von "program" oder "software", und der Begriff des Quellcodes wird auf allgemeiner Ebene formuliert. Dies ist in anderen Lizenzen ähnlich gehandhabt. So bringt es immer wieder Verwunderung, wenn Bilder unter die GPL gestellt werden, aber an sich ist das problemlos möglich.
- Darf ich "obfuscated code" unter freie Lizenzen stellen?
Das kommt darauf an, wie dort der Begriff "Quellcode" definiert wird. Ich bediene mich mal wieder der GPLv2 und v3 als Beispiel: "The source code for a work means the preferred form of the work for making modifications to it.".
Da dies auf obfuszierten Code nicht zutrifft, kann dieser nicht als Quellcode angesehen werden, obwohl der Compiler daraus das gleiche erzeugt wie aus dem eigentlichen.
5. Ist das Copyleft nicht eine Freiheitseinschränkung?
Nicht selten kriegen sich innerhalb beider Bewegungen Entwickler darüber in die Haare, ob ein starkes Copyleft (insbesondere die
GPL/AGPL) nicht eine Freiheitseinschränkung sei.
Standpunkt Pro-Permissive/Contra-Viral
Ich möchte, dass jeder meinen Code nutzen kann. Egal ob für freie Software oder für proprietäre.
Argumentation der FSF (Pro-Viral/Contra-Permissive)
Ohne Copyleft könnte jeder die Software in proprietäre Lizenzen überführen. Das GNU-Projekt zielt aber darauf ab, dass
jeder die vier Freiheiten bekommt. Hätten die Distributionen jedoch die Möglichkeit, die Software proprietär zu verbreiten, würden die Freiheiten nicht bei den Nutzern ankommen.[11][4]
Argumentationsgang von Torvalds (Pro-Viral/Contra-Permissive) (halb Zitat, halb nach Sinn wiedergegeben)
Ich will, dass jeder mit der Software machen kann, was er will. Ein verrückter Wissenschaftler könnte sie benutzen, um die Weltherrschaft zu übernehmen (Haie mit Laserkanonen auf dem Kopf!!!!) Aber dann möchte ich, dass er mir auch etwas dafür zurückgibt. Ich gab ihnen den Quellcode meiner Software, dann wünsche ich mir auch den der Erweiterungen. Danach können sie meinetwegen die Welt erobern, ich mag Laserhaie.[12]
Weiterer Pro-Viral-Contra-Permissive-Standpunkt
Manchmal arbeite ich an freier Software, und manchmal an proprietärer Software ‑ aber wenn ich an proprietärer Software arbeite, erwarte ich, dass man mich dafür bezahlt. Ohne Copyleft würde ich indirekt an proprietärer Software mitarbeiten.[11]
6. Quellen
[1]
http://www.gnu.org/philosophy/free-sw.html
[2]
http://www.debian.org/social_contract#guidelines
[3]
http://www.opensource.org/docs/osd
[4]
http://www.gnu.org/copyleft/copyleft.de.html
[5]
http://www.opensource.org/faq#copyleft
[6]
http://de.wikipedia.org/wiki/GNU_Les...Public_License
[7]
http://wiki.creativecommons.org/FAQ#...to_software.3F
[8]
http://de.creativecommons.org/faqs/#...heinen_antwort
[9]
http://www.gnu.org/philosophy/selling.de.htm
[10]
http://www.opensource.org/faq#commercial
[11]
http://www.gnu.org/philosophy/pragmatic.de.html
[12]
http://en.wikiquote.org/wiki/Linus_Torvalds#2006
Weiterlesen:
Zum Schluss möchte ich zum wiederholten Male darauf verweisen, dass kein Anspruch auf Richtigkeit besteht!
Verbesserungs- und Ergänzugsvorschläge sind gern willkommen.
Falls ich irgendwo falschen Nonsens schreibe, weist mich bitte, bitte darauf hin, dann wird's korrigiert.
Im Zweifel: Einfach mal in den Lizenztext schauen, so schwer sind die gar nicht