17 / 06 / 2019
Open Source Lizenzen - Die GPL Lizenz
Author

In unserer Open Source-Reihe beleuchten wir die bekanntesten Open Source-Lizenzen. Die Nutzung von Open Source-Software bietet sich insb. für Startups an, da sie kostenlos ist und zudem durch das breite Angebot an Open Source-Lizenzen Ressourcen bei der Eigenentwicklung von Software gespart werden können. Alle Grundlagen zu Open Source-Lizenzen könnt ihr unseren #StartupBriefings nachlesen:

 

In Fortführung unserer Open-Source-Grundlagen Reihe beleuchten wir nun die einzelnen Open Source-Lizenzen. Wir erläutern:

  • Welchen Ursprung haben die Lizenzen?
  • Welche besonderen Bedingungen sind bei der jeweiligen Lizenz zu beachten?
  • Für welchen Einsatzzweck eignet sich die Lizenz?
  • Mit welchen anderen Lizenzen ist sie kompatibel?
  • Was ist bezüglich der begleitenden Dokumentation zur Software zu beachten?

In den letzten Teilen haben wir uns mit der MIT-Lizenz und der BSD-Lizenz beschäftigt. Im folgenden geht es um die (GNU) GPL Lizenz.

Herkunft der Lizenz

Die GNU GPL stammt aus dem Jahr 1989 und wurde ursprünglich von Richard Stallmann für das GNU-Projekt entwickelt. Er führte bestehende Lizenzen zusammen, die jeweils speziell auf ein einzelnes Programm zugeschnitten waren und entwickelte mit der GNU GPL eine Lizenz, die auf jedes Programm angewendet werden konnte.

Die Free Software Foundation (FSF) veröffentlichte im Jahr 1991 die zweite Version der Lizenz (GLPv2). Die GPLv2“ enthielt erstmals eine sog. „Freiheit-oder-Tod-Klausel“. Diese verpflichtet den Nutzer eines unter GPLv2 stehenden Programms, die Lizenzbedingungen exakt und vollständig einzuhalten. Andernfalls findet die Nutzung des Programms ohne wirksame Lizenz statt und er macht sich schadensersatzpflichtig.

Die dritte Version der GPL wurde 2007 als GPLv3 veröffentlicht. Die GPL 3 orientiert sich nicht mehr so stark am US-amerikanischen Rechtssystem und gilt daher als „globale Lizenz“.

Ausgewählte GNU Lizenzen im Überblick

Neben den GNU GPL, GPLv2 und GPLv3 gibt es noch weitere GNU Lizenzen.

Die GNU Lesser General Public License (LGPL) eignet sich v.a. für Programmbibliotheken und ist in ihrer Ausprägung weniger restriktiv als die übrigen GPL-Lizenzen. Programmbibliotheken werden nicht mit dem proprietären Code verbunden, sondern können getrennt von diesem angesteuert werden. Auf diese Weise greift die Copyleft-Klausel der LGPL nicht und der proprietäre Code muss nicht ebenfalls unter der LGPL lizenziert werden. Dadurch ist eine kommerzielle Nutzung von unter LGPL lizenzierten Programmbibliotheken möglich. Die aktuelle Version ist die LGPLv3.

Eine weitere GNU Lizenz ist die Auffero General Public License (AGPL). Sie basiert auf der GPL, schließt aber das sog. ASP-Schlupfloch. Dank des ASP-Schlupflochs war es Anbietern, die ihr Programm über ein Netzwerk zur Verfügung stellen (z.B. im Hosting oder als Application Service Provider), möglich, den Quellcode nicht offen legen zu müssen. Dementsprechend eignet sich die AGPL v.a. für freie Software, die über ein Netzwerk ausgeführt wird, wie z.B. SaaS-Modelle. Die AGPL gibt es ebenfalls in verschiedenen Versionen. Die aktuelle Version ist die AGPLv3.

Einen anderen Anwendungsbereich sieht die GNU Free Documentation License (FDL) vor. Sie ist auf die Verwendung für Dokumente abgestimmt und garantiert deren freie Weitergabe.

Copyleft

Die GPL und AGPL enthalten eine sehr starke Copyleft-Klausel. Alle Weiterentwicklungen eines unter GPL oder AGPL stehenden Programms müssen dementsprechend wieder unter der GPL bzw. AGPL lizenziert werden. Die Lizenzbedingungen sehen u.a. auch die Zurverfügungstellung des Quellcodes vor. Wird dementsprechend ein proprietärer Quellcode mit Softwarecode, der unter einer GPL/AGPL lizenziert ist, verbunden, muss der gesamte Quellcode (inklusive des ursprünglich proprietären Teils) offen gelegt werden. Nur für den Fall, dass der Softwareteil, der unter einer GPL/AGPL lizenziert ist, rein privat modifiziert wird, ohne dass er vertrieben werden soll, muss der Quellcode nicht offen gelegt werden.

Lediglich die LPGL enthält eine weniger restriktive Copyleft-Klausel. Sofern die unter LGPL lizenzierten Bibliotheken lediglich mit proprietärem Code verlinkt werden (v.a. dynamisch verlinkt werden), wird der proprietäre Code nicht von einem Copyleft umfasst. Das heißt der proprietäre Code kann weiterhin unter der originären Lizenz vertrieben werden. Weiterentwicklungen der unter LGPL lizenzierten Bibliothek müssen allerdings wiederum unter der LGPL lizenziert werden, um den freien Zugang der OS-Community zu Weiterentwicklungen zu gewährleisten.

Tipp 

Alle Informationen zu Copyleft-Klauseln und deren Folgen findet ihr in unserem #StartupBriefing: Open Source Lizenzen – Grundlagen und Überblick Teil II: Einordnung der OS-Lizenz nach Copyleft.

Kommerzielle Nutzung

Anders als andere OS-Lizenzen ist eine kommerzielle Nutzung von unter GPL/AGPL lizenzierten Programmen ausdrücklich erlaubt.

Allerdings stellen sich im Rahmen einer kommerziellen Nutzung praktische Probleme, da alle Programme, die auf Basis einer GPL/AGPL lizenziert wurden, nur dann verbreitet werden dürfen, wenn sie wiederum unter der gleichen GPL/AGPL lizensiert werden. Damit soll der freie Zugang zum jeweiligen Programm auch in deren Weiterentwicklung sichergestellt werden. Da mit der Lizenzierung unter der GPL/AGPL auch die Offenlegung des gesamten Quellcodes einhergeht, eignet sich die GPL/AGPL in der Praxis weniger für eine kommerzielle Nutzung.

Eine Ausnahme besteht, wenn unter GPLv3 lizenzierte Programme über ein Netzwerk, z.B. im Rahmen einer SaaS-Lösung, genutzt werden, ohne dass eine Kopie der Software übertragen wird. In diesem Fall muss der Quellcode nicht offen gelegt werden.

Programmbibliotheken, die unter der LGPL lizenziert sind, eigenen sich ebenfalls für eine kommerzielle Nutzung, sofern die betreffenden Bibliotheken vom proprietären Code getrennt sind und von diesem lediglich angesteuert werden, z.B. im Rahmen einer dynamischen Verlinkung. In diesem Fall muss lediglich der Quellcode der betreffenden Programmbibliothek, nicht aber des proprietären Codes, offen gelegt werden.

Sonstige Besonderheiten

Die GPLv3 enthält erstmals eine explizite Patentlizenz. Nach dieser lizenziert der Urheber neben dem Programm auch die zugehörigen Patente. Allerdings erstreckt sich die Lizenzierung der Patente nur insoweit sie für die Nutzung des Programms erforderlich ist.

Anforderungen an eine Dokumentation

Die GPL/AGPL sieht eine Reihe von Dokumentationspflichten vor, welche der Nutzer zu erfüllen hat. Hält er diese nicht ein, erlischt die Lizenz und er macht sich schadensersatzpflichtig.

Die wohl tiefgreifendste Dokumentationspflicht umfasst die Offenlegung des Quellcodes. Dieser kann auf einem Datenträger mitgeliefert werden.

Alternativ kann ein schriftliches Angebot unterbreitet werden, den Quelltext auf einem Datenträger zum Selbstkostenpreis zur Verfügung zu stellen. Diese Vorgehensweise empfiehlt sich, wenn Programme, die unter LGPL lizenziert sind, mit proprietärem Code in einem gesonderten Lizenzvertrag vertrieben werden.

Wird das Programm online vertrieben, genügt auch eine Download-Möglichkeit auf derselben Website.

Mit der Programmkopie ist auch eine Kopie des jeweiligen Lizenztextes mitzuliefern. Der Lizenztext kann in Papierform oder als Datei, in der Regel als Textdatei, beigefügt werden.

Zudem muss ein „geeigneter“ Copyright-Vermerk angebracht werden und vorhandene Copyright-Vermerke dürfen nicht entfernt werden. Ein Copyright-Vermerk kann z.B. in folgender Form erfolgen:

© 2019 [Name des Rechteinhabers]

Auch ein Hinweis auf den Haftungsausschluss ist anzubringen. Etwaige vorhandene Hinweise dürfen nicht entfernt werden. Zwar ist der Haftungsausschluss nach deutschem Recht unwirksam, er muss dennoch zur Erfüllung der Lizenzbedingungen angebracht werden. Dokumentationspflichten im Überblick:

  • Offenlegung Quellcode (Datei, Angebot zur Verfügungstellung Quellcode, Download bei Online Vertrieb)
  • Lizenztext (Papierform oder Textdatei)
  • Copyright-Vermerk (z.B. in folgender Form: © 2019 [Name des Rechteinhabers])
  • Hinweis auf Haftungsausschluss

 

Verträglichkeit mit anderen Lizenzen

Aufgrund der in der GPL/AGPL enthaltenen Copyleft-Klauseln kann man GPL/AGPL-lizensierte Programme nur eingeschränkt mit anderen OS-Lizenzen kombinieren. GPL/AGPL ist nur mit anderen OS-Lizenzen kompatibel, sofern die andere OS-Lizenz keine Lizenzpflichten vorsieht, die nicht auch in der jeweiligen GPL/AGPL vorhanden ist. Ein Beispiel hierfür ist die Vereinbarkeit der GPL mit der BSD-Lizenz ohne Werbeklausel.

Die GPL/AGPL ist auch mit einer anderen OS-Lizenz kompatibel, wenn die andere OS-Lizenz eine sog. Kompatibilitäts- oder Öffnungsklausel enthält. Beispiele hierfür sind Ziffer 3 der LGPL Version 2.1, die eine Öffnungsklausel für GPL enthält und die GPLv3, die eine Kompatibilität mit Affero GPL und die Öffnung für Apache License 2.0 vorsieht.

Weitere Informationen zur Kompatibilität der GPL findet ihr unter: http://www.gnu.org/licenses/license-list.html

Fazit

  • Von der Verwendung der GPL/AGPL im Rahmen einer kommerziellen Nutzung ist eher abzuraten, da sie strenge Copyleft-Klauseln enthält, die zur Zurverfügungstellung des gesamten Quellcodes verpflichten
  • GPL/AGPL ist mit vielen anderen OS-Lizenzen inkompatibel
  • Eine Ausnahme bildet die LGPL, die keine strenge Copyleft-Klausel enthält und sich v.a. für Programmbibliotheken eignet

 

Hier geht es zur Open Source-Blogreihe

 

Fragen?

Unsere Expertin

Unser Newsletter

 

 

Get in touch