Brauche ich überhaupt eine Lizenz?

Die Lizenz eines Software-Projekts legt fest, welche Rechte – und Pflichten – der Benutzer der Software erhält, wenn er das Projekt verwendet.  Ohne eine Lizenz erhält der Benutzer keinerlei Rechte, insbesondere darf er die Software weder ändern noch an Dritte weitergeben.

Welche Lizenzen gibt es?

Die Open Source Initiative listet eine ständig wachsende Zahl von Lizenzen auf, die zu ihrer Definition von Open Source passt. Aus dieser großen Menge können wir nur wenige besonders bekannte Lizenzen herausgreifen.

Lizenzen unterscheiden sich im Wesentlichen darin, welche Rechte sie den Benutzern einräumen und welche Pflichten Benutzer erfüllen müssen, wenn sie die Software weitergeben und/oder modifizieren wollen.  Allen hier aufgeführten Lizenzen ist gemeinsam, dass sie Garantien für die Software ausschließen, und es Benutzern verbietet, den Urheber bei Fehlern in der Software zu verklagen.

Besonders freigiebige Lizenzen

Die wohl einfachste Lizenz ist die MIT Lizenz, die Benutzern alle denkbaren Rechte einräumt, sofern die ursprüngliche Copyright-Notiz und Lizenz erhalten bleiben.  Ähnlich frei sind die diversen Dialekte der BSD Lizenz (zu denen auch die Version 1.1 der Apache Software License zählt), die ggf. zusätzlich verlangen, dass Benutzer darauf hinweisen, dass sie diese Software benutzen, wenn sie sie weitergeben.

Die Version 2.0 der Apache Software License enthält einen speziellen Artikel zu Software Patenten.  Grundsätzlich gibt sie Benutzern die gleichen Rechte, wie die MIT Lizenz, sie erteilt auch explizit das Nutzungsrecht für eventuell durch die Software implementierte patentierte Algorithmen.  Dieses Nutzungsrecht erlischt allerdings, falls die Benutzer eine Klage gegen den Urheber der Software oder Dritte anstreben, weil die Software oder eine davon abgeleitete Software Patente des Benutzers verletzen würde.

Copyleft Lizenzen

Die GPL erlaubt Benutzern die Weitergabe und Änderung der Software, allerdings verbietet sie es, eine neue Software, die auf diesem Projekt basiert (ein abgeleitetes Werk), unter einer anderen Lizenz als der GPL zu verbreiten.  Hierzu gehört, auch dass die Quelltexte dieser neuen Software ebenfalls veröffentlicht werden müssen.

Diese oft als viral bezeichnete Eigenschaft der GPL wirkt sich nur dann aus, wenn das abgeleitete Werk überhaupt weiter gegeben wird.  Oft wird eine kommerzielle Software aber nicht an den Endkunden verteilt, sie ist vielmehr als Service verfügbar.  Um auch für solche Fälle erzwingen zu können, dass das abgeleitete Werk frei im Sinne der Free Software Foundation bleibt, wurde die AGPL entwickelt.

Und dazwischen

Zwischen den Extremen “meine Software darf auch verändert in kommerziellen Projekten benutzt werden” und “wenn die Software verändert wurde, muss das abgeleitete Werk meine Lizenz verwenden” gibt es ein relativ breites Spektrum.

Sehr häufig werden Lizenzen gewählt, die es grundsätzlich erlauben, aus ihnen neue Software unter beliebigen Lizenzen zu erstellen, sofern die ursprüngliche Software nicht verändert wurde.  Die Änderungen an der ursprünglichen Software selbst müssen aber unter der gleichen Lizenz wie das ursprüngliche Projekt verteilt werden.  Vertreter dieses Typs sind die Mozilla Public License, die Eclipse Public License und die LGPL.

Public Domain?

Public Domain ist ein spezielles Konzept des angelsächsischen Urheberrechts, das sich so nicht auf beliebige Rechtssysteme übertragen lässt.  Effektiv entspricht Public Domain den Regeln, die die MIT Lizenz explizit ausspricht.

Welche Lizenz passt zu meinem Projekt?

Eine stark vereinfachte Antwort auf diese Frage liefert http://choosealicense.com/.

In keinem Fall sollte ich versuchen eine eigene Lizenz zu entwerfen.  Dies gilt umso mehr, wenn die Software, die ich veröffentliche, möglicherweise mit weiteren Software-Komponenten kombiniert werden soll.  So ist etwa die  JSON License, die den gut gemeinten Satz “The Software shall be used for Good, not Evil.” enthält, genau wegen dieser Einschränkung von der FSF als inkompatibel zur GPL eingestuft worden.  Grundsätzlich lohnt es sich eine der bekannteren Lizenzen zu wählen, da es dadurch meinen Benutzern leichter fällt, zu prüfen, ob meine Lizenz zu ihren Anforderungen passt.

Die “besonders freigiebigen Lizenzen” sollte ich immer dann wählen, wenn ich eine möglichst große Verbreitung meiner Software anstrebe und gut damit leben kann, falls sie in kommerziellen Produkten anderer verwendet wird.  Die Apache Lizenz ist besonders verbreitet und bekannt und hat den Vorteil, dass sie sich auch um die Frage von Software-Patenten kümmert und Klauseln enthält, die gut mit einem Contributor Agreement zusammengeführt werden können.  Wenn ich erwarte, dass meine Software mit anderer Open Source Software gemeinsam in einem Produkt verwendet werden soll, muss ich beachten, dass die Free Software Foundation die Apache Software Lizenz anders als die MIT Lizenz als inkompatibel mit der GPL 2.0 eingestuft hat, sie ist allerdings kompatibel mit der GPL in der Version 3.0.

Die Copyleft Lizenzen wähle ich insbesondere aus philosophischen Gründen, wenn ich will, dass auch alle abgeleitete Software wieder diese Lizenz verwendet.  Hierbei sollte ich beachten, dass die Versionen 2.0 und 3.0 der GPL miteinander inkompatibel sind.

Eine Lizenz aus dem “dazwischen” Feld sollte ich wählen, wenn mir wichtig ist, dass alle Änderungen, die Dritte an meiner Software vornehmen, wieder im Quelltext verfügbar gemacht werden.  Dies stellt aber weder sicher, dass die Änderungen an mich zurückfließen, noch dass diese Quelltexte wirklich öffentlich verfügbar gemacht werden.  Wenn das abgeleitete Werk nur an einen eingeschränkten Benutzerkreis verteilt wird, müssen die Quelltexte auch nur an diesen Kreis weiter gegeben werden.

Lizenzen für Dinge, die keine Software sind?

Für Dokumentation, Web-Sites und ähnliche Dinge, die ja auch zum Projekt gehören, passen die meisten Software Lizenzen nicht.  Hier empfiehlt es sich, aus dem Spektrum der Creative Commons Lizenzen die heraus zu suchen, die am besten zu meinen Wünschen passt.  Create Commons bietet hierzu eine Seite an, die mir hilft, die konkrete Lizenz auszuwählen.