Ratgeber · 06

GPL „only“ vs. „or later“

Was die GPL-Formulierung „or any later version“ bedeutet, warum der Linux-Kernel auf GPL-2.0-only besteht, warum GPL-2.0-only und GPL-3.0 nicht kompatibel sind und nach welchen Kriterien man wählt.

Zuletzt geprüft: 2026-09-23

Der entscheidende Satz

Der empfohlene Hinweistext der GNU-Lizenzen enthält folgenden Satz.

either version 3 of the License, or (at your option) any later version.

Steht er da, können Empfänger die angegebene Version oder jede später von der FSF veröffentlichte Version wählen und deren Bedingungen befolgen. Das ist „or later“ (SPDX GPL-3.0-or-later). Entfernt man den „or later“-Teil und nennt nur eine bestimmte Version, ergibt sich „only“ (GPL-3.0-only).

Diese Struktur regeln Abschnitt 14 der GPL-3.0 und Abschnitt 9 der GPL-2.0. Insbesondere bestimmt Abschnitt 9 der GPL-2.0, dass bei einem Programm ganz ohne Versionsangabe jede von der FSF veröffentlichte Version gewählt werden kann. Wer nur eine LICENSE-Datei ablegt und die Versionsklausel nicht angibt, riskiert also eine ungewollte Auslegung.

Warum „or later“?

Die FSF empfiehlt „or later“. Der Grund ist künftige Kompatibilität: Erscheint eine neue GPL, weil sich Recht und Technik verändert haben, kann „or later“-Code problemlos mit der neuen Version kombiniert werden. Tatsächlich konnte GPL-2.0-or-later-Code unverändert in GPL-3.0-Projekte übernommen werden, GPL-2.0-only-Code dagegen nicht.

Abschnitt 14 der GPL-3.0 geht noch weiter und erlaubt die Benennung eines „Proxys“: Entscheidet eine vom Rechteinhaber benannte Person öffentlich über die Annahme einer späteren Version, ist diese Entscheidung wirksam.

Warum „only“?

„Or later“ bedeutet auch, einer noch nicht geschriebenen Lizenz im Voraus zuzustimmen. Veröffentlicht die FSF später eine Version mit Bedingungen, die nicht Ihrer Absicht entsprechen, können Empfänger Ihren Code unter dieser Version nutzen.

Das bekannteste Beispiel ist der Linux-Kernel. Der Kernel steht unter GPL-2.0-only. Linus Torvalds hat sich öffentlich gegen die Klausel zu Installationsinformationen der GPL-3.0 (sog. Anti-Tivoisierung) ausgesprochen, und da im Kernel die Urheberrechte Tausender Beitragender stecken, ließe sich die Lizenz praktisch auch gar nicht ändern.

Auswirkungen auf die Kompatibilität

Die Kompatibilitätsmatrix der GNU-Lizenz-FAQ lässt sich so zusammenfassen.

Übernommener Code → mein ProjektGPL-2.0-onlyGPL-2.0-or-laterGPL-3.0
GPL-2.0-onlyMöglichMöglich (Gesamtwerk 2.0-only)Nicht möglich
GPL-2.0-or-laterMöglichMöglichMöglich
GPL-3.0Nicht möglichMöglich (Gesamtwerk 3.0)Möglich
LGPL-3.0Nicht möglichMöglich (Gesamtwerk 3.0)Möglich

Entscheidend: GPL-2.0-only und GPL-3.0 können einander nicht aufnehmen. Beide verlangen „keine zusätzlichen Einschränkungen“, und die zusätzlichen Bedingungen der jeweils anderen (bei 3.0 etwa Patent- und Installationsinformationsklauseln) sind aus Sicht der Gegenseite zusätzliche Einschränkungen. Weitere Kombinationen finden Sie im Kompatibilitätsprüfer.

Kriterien für die Wahl

Wie man es angibt

  1. In LICENSE (oder COPYING) steht der Text der betreffenden Version unverändert. Der Lizenztext selbst unterscheidet nicht zwischen only und or-later.
  2. Die Versionsklausel geben Sie im Hinweis jeder Datei und in der SPDX-Kennung an. Wählen Sie im Generator-Tab „Dateikopf“ „only“ oder „or-later“, werden der offizielle GNU-Hinweis und die SPDX-Zeile gemeinsam erzeugt.
  3. Vermerken Sie es auch in einer Zeile im README (z. B. „Licensed under GPL-3.0-or-later“).
Dieser Artikel enthält allgemeine Informationen und ist keine Rechtsberatung. Besprechen Sie wichtige Entscheidungen mit Fachleuten.

Quellen