Lizenzierung (LPPL)

Bei fast jedem CTAN-Paket steht als Lizenz LPPL - die Lizenz von LaTeX selbst und der großen Mehrheit der Pakete. Sie ist freie Software, stellt aber eine ungewöhnliche Idee in den Mittelpunkt: die Garantie zu schützen, dass eine Datei mit einem bestimmten Namen überall gleich funktioniert.

Was die LPPL ist

Die LPPL (The LaTeX Project Public License) ist die Lizenz, unter der der LaTeX-Kernel und die Standardpakete verteilt werden; sie stammt vom LaTeX Project. Die aktuelle Version ist 1.3c (veröffentlicht am 2008-05-04; 1.3, 1.3a und 1.3b unterscheiden sich nur in Kleinigkeiten). Sie ist eine Freie-Software-Lizenz: Die FSF erkennt sie als frei an, sie ist OSI-approved und Debian (DFSG)-konform, und ihr SPDX-Identifier lautet LPPL-1.3c. Sie ist jedoch nicht mit der GPL kompatibel, weil die Pflicht, veränderte Versionen als verändert kenntlich zu machen (siehe unten), eine zusätzliche Bedingung ist, die die GPL nicht erlaubt. Außerdem ist sie die häufigste Lizenz auf CTAN.

Der Kern — Dateiintegrität schützen

Warum eine Bedingung verlangen, die gewöhnliche freie Lizenzen nicht haben? Weil TeXs Wert auf Reproduzierbarkeit beruht: Eine bestimmte .tex-Quelle soll überall dasselbe Ergebnis erzeugen. Wenn jemand ein verändertes article.cls unter demselben Namen verteilt, bricht diese Garantie zusammen; dann heißt es „bei mir kompiliert es, bei dir bricht es“. Genau das verhindert die LPPL.

In den alten Versionen (1.0-1.2) war dies eine strenge „Filename Clause“: Eine veränderte Datei musste umbenannt werden. Version 1.3 lockerte das: Heute muss eine veränderte Komponente klar und eindeutig als verändert kenntlich sein, sowohl im Quelltext als auch bei interaktiver Ausführung (in Logs oder Bannern), und die Änderungen müssen dokumentiert werden, etwa durch ein Changelog. Praktisch bleibt es am sichersten, einen Fork umzubenennen.

Das Wartungsmodell

Ein weiteres Merkmal der LPPL ist ein Mechanismus zur Angabe eines Maintenance Status. Jedes Werk hat einen Current Maintainer, und der Status ist einer von drei: maintained (jemand übernimmt Pflege und nimmt Fehlerberichte an), author-maintained (nur der ursprüngliche Autor darf pflegen) oder unmaintained (kein Maintainer oder sechs Monate nicht erreichbar und ohne Aktivität). CTAN empfiehlt „maintained“ statt „author-maintained“, damit das Werk der Community nützlich bleibt.

Genau dadurch kann die Community ein aufgegebenes Paket übernehmen. Wenn ein Werk unmaintained ist, legt die Lizenz einen klaren Weg fest: (1) angemessene Versuche, den aktuellen Maintainer zu finden, etwa per Internetsuche; (2) falls das scheitert, die Absicht zur Pflege in den relevanten Communities ankündigen; und (3) wenn weder der ursprüngliche Maintainer noch der Rechteinhaber innerhalb von drei Monaten widerspricht, können Sie neuer Current Maintainer werden. So bleibt das Ökosystem beweglich, auch wenn ein Autor verschwindet.

Für das eigene Paket verwenden

Ein eigenes .sty/.cls unter der LPPL zu veröffentlichen ist unkompliziert. Setzen Sie an den Anfang jeder Datei einen Hinweis wie unten, lizenzieren Sie sie als „1.3c or any later version“, wählen Sie den Status maintained, und nennen Sie den Current Maintainer sowie die Dateien, aus denen das Werk besteht. Das ist die Form, die CTAN erwartet; beim Upload wählen Sie die Lizenz ebenfalls aus. Beachten Sie: Die LPPL ist nicht Public Domain. Sie dürfen sie frei nutzen, aber die Pflichten zur Identifikation und Dokumentation bleiben bestehen.

document.tex
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
%   https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
% This work has the LPPL maintenance status 'maintained'.
% The Current Maintainer of this work is M. Y. Name.
%
% This work consists of the file mypkg.sty.