Freiheit mithilfe des Urheberrechts schützen
Copyleft ist ein Wortspiel mit Copyright. Das Konzept wurde in den 1980er-Jahren von Richard Stallman und der Free Software Foundation (FSF) für das GNU-Projekt entwickelt und ist ein Mechanismus, der das Urheberrecht nutzt, damit die Freiheit von Software nicht verloren geht. Der Rechteinhaber erlaubt jedem Nutzung, Änderung und Verbreitung, knüpft daran aber eine Bedingung: „Wer etwas verbreitet, das auf diesem Code beruht, muss auch den Empfängern dieselben Freiheiten geben.“
Freizügige Lizenzen (MIT, BSD, Apache) kennen diese Bedingung nicht. Deshalb darf jemand freizügigen Code ändern und als geschlossenes Produkt verkaufen. Copyleft unterbindet das und sorgt dafür, dass auch verbesserte Versionen offen bleiben. Wegen dieser Eigenschaft nennt man Copyleft-Lizenzen auch „reziproke Lizenzen“ (reciprocal).
Pflichten entstehen bei der „Verbreitung“
Die Copyleft-Bedingungen greifen, wenn Code an andere weitergegeben wird. Die GPL-3.0 nennt das „convey“ (übertragen).
- Wird ein nur intern genutztes Werkzeug mit GPL-Code gebaut und nicht nach außen verbreitet, entsteht keine Offenlegungspflicht.
- Gibt man Kunden eine App als Installationsdatei oder verkauft Geräte mit der Software, ist das Verbreitung.
- Läuft die Software nur auf dem Server und Nutzer greifen über das Web zu, ist das nach der GPL keine Verbreitung. Diese Lücke schließt die AGPL.
Drei Varianten nach Reichweite
Starkes Copyleft
Typische Vertreter sind GPL-2.0 und GPL-3.0. Alles, was mit GPL-Code zu einem Programm kombiniert und verbreitet wird, muss den GPL-Bedingungen folgen. Nach Auffassung der FSF gilt als Kombination, was – ob statisch oder dynamisch gelinkt – ein einziges Programm bildet.
Schwaches Copyleft
Lizenzen mit enger gefasstem Pflichtenumfang.
- LGPL: auf Bibliotheksebene. Nur Änderungen an der Bibliothek selbst sind offenzulegen; Programme, die sie nutzen, dürfen unter Einhaltung der Bedingungen (z. B. Neu-Linken ermöglichen) proprietär bleiben.
- MPL-2.0: auf Dateiebene. Wer eine MPL-Datei ändert, legt nur diese Datei offen.
- EPL-2.0: auf Modulebene. EPL-Code und Änderungen werden offengelegt, separate Module dürfen eine andere Lizenz nutzen.
Netzwerk-Copyleft
Die AGPL-3.0 verpflichtet schon dann zur Bereitstellung des Quellcodes an die Nutzer, wenn ein geändertes Programm über ein Netzwerk angeboten wird. Sie wurde geschaffen, um die Lücke der GPL im Zeitalter der Webdienste zu schließen.
| Lizenz | Umfang der Offenlegung | Bei reinem Serverbetrieb |
|---|---|---|
| GPL-2.0 / GPL-3.0 | Gesamtes kombiniertes Programm | Keine Pflicht |
| LGPL-2.1 / LGPL-3.0 | Bibliothek und ihre Änderungen | Keine Pflicht |
| MPL-2.0 | Geänderte MPL-Dateien | Keine Pflicht |
| EPL-2.0 | EPL-Code und Änderungen (Modul) | Keine Pflicht |
| AGPL-3.0 | Gesamtes kombiniertes Programm | Bei geänderter Fassung Quellcode bereitstellen |
Häufige Irrtümer
- „Copyleft verhindert kommerzielle Nutzung“ — Nein. GPL-Software darf verkauft werden, und viele Firmen verdienen mit bezahltem Support oder Hosting. Verhindert wird, den Empfängern ihre Freiheit zu nehmen.
- „Wer auch nur eine Zeile GPL-Code ansieht, dessen Code wird GPL“ — Lizenzen regeln Vervielfältigung, Änderung und Verbreitung von Werken. Sich durch das Lesen von Code Ideen zu holen, fällt selbst nicht unter das Urheberrecht. Kommt es allerdings praktisch einem Abschreiben gleich, kann es als Vervielfältigung gelten.
- „Bei einem Verstoß wird mein Code automatisch GPL“ — Folge eines Lizenzverstoßes ist in der Regel der Verlust der Rechte und die Haftung für Urheberrechtsverletzung. Ihr Code wird nicht zwangsweise offengelegt; Sie haben die Wahl, die Bedingungen zu erfüllen oder die Verbreitung einzustellen.
- „Copyleft-Code ist in freizügigen Projekten niemals nutzbar“ — Gemeint ist, dass ein gemeinsam verbreitetes kombiniertes Werk den Copyleft-Bedingungen folgt. Es gibt Wege wie die Aufteilung in getrennte Programme oder das bedingungsgemäße Linken einer Bibliothek mit schwachem Copyleft. Siehe Grundlagen der Kompatibilität.
Fragen zur Entscheidung für Copyleft
- Ist es für Sie in Ordnung, wenn Änderungen an Ihrem Code in geschlossene Produkte einfließen?
- Ist Ihnen die breite Verbreitung als Bibliothek wichtiger oder dass Verbesserungen zurückfließen?
- Wird die Software hauptsächlich installiert oder als Dienst auf Servern betrieben?
Anhand der Antworten auf diese drei Fragen grenzt der Auswahlassistent die Kandidaten ein. Einen ausführlicheren Vergleich bietet Freizügig vs. Copyleft.
Dieser Artikel enthält allgemeine Informationen und ist keine Rechtsberatung. Besprechen Sie wichtige Entscheidungen mit Fachleuten.
Quellen
- GNU — What is Copyleft? — https://www.gnu.org/licenses/copyleft.html
- GNU-Lizenz-FAQ — https://www.gnu.org/licenses/gpl-faq.html
- Text der GNU GPL v3.0 — https://www.gnu.org/licenses/gpl-3.0.html