3. Informationen zur Lizenzierung von Talern#
Diese Datei gibt einen Überblick über die Lizenzierung aller Taler-Komponenten und deren Laufzeit-Abhängigkeiten. Eine „Komponente“ ist in diesem Zusammenhang als eine Reihe von Quelldateien zu verstehen, die aus einem einzigen Git-Repository abgerufen werden können. Wenn Komponenten aus Quellen mit unterschiedlichen Lizenzierungssystemen bestehen, z.B. weil wir Drittentwicklungen eine einfache Integration mit Taler ermöglichen wollen, werden diese ebenfalls beschrieben.
Alle Komponenten werden im Allgemeinen unter der Lesser GPL, GPL oder Affero GPL veröffentlicht. Die Hauptstrategie besteht darin, dass Bibliotheken, die Dritte zur Integration in Taler benötigen, unter der LGPL, eigenständige Binärdateien und Testfälle unter der GPL und Webserver, die Webdienste und REST-APIs implementieren, unter der AGPL stehen. Trivialer Code (z. B. Build-Logik) wird gelegentlich auch einfach in den öffentlichen Bereich gestellt. Rechtsvorschriften, die keinen öffentlichen Bereich haben, sollten diesen Code als unter LGPL stehend betrachten.
Das Projekt wurde ursprünglich auf der Grundlage von Code und Dokumentation von GNUnet e.V. und INRIA gestartet und wird von der GNUnet-Gemeinschaft und Taler Systems SA weiterentwickelt. INRIA und GNUnet e.V. haben beide ihre Urheberrechte an Taler Systems SA abgetreten oder geteilt. Daher sollte allgemein gesagt werden, dass der Code dem Copyright von Taler Systems SA unterliegt.
Wir arbeiten auch eng mit dem GNU Anastasis Paket zusammen. Hier gilt die gleiche Aufteilung des Copyrights zwischen den ursprünglichen Entwicklern der BFH und GNUnet e.V., mit dem Unterschied, dass das Copyright an Anastasis SARL abgetreten oder geteilt wurde. Es gibt Vereinbarungen, die es den Entwicklern erlauben, Code zwischen GNU Anastasis, GNUnet und GNU Taler frei zu verschieben, wenn dies technisch gerechtfertigt ist (beachten Sie, dass alle Entwickler die Urheberrechtsvereinbarung von GNUnet e.V. unterzeichnen müssen).
Beachten Sie, dass diese Datei vielleicht veraltet ist. Im Zweifelsfall wenden Sie sich bitte an die beteiligten GNU-Maintainer (derzeit Florian Dold, Christian Grothoff und Martin Schanzenbach), da diese im allgemeinen die Verantwortung und das Recht haben, die geeignete Lizenz für einzelne Komponenten zu bestimmen. (Dieses Recht wird technisch durch die von den einzelnen Mitwirkenden unterzeichneten Copyright-Vereinbarungen gewährt und eingeschränkt und unterliegt möglicherweise Entscheidungsprozessen innerhalb von Anastasis SARL, GNUnet e.V. und Taler Systems SA. In der Praxis war dies jedoch bisher nie ein Problem, da sich bisher alle über die Lizenzierungsstrategie einig waren und die Betreuer nur geringfügige Anpassungen vornehmen, um diese Strategie konsistent umzusetzen, wenn Probleme auftauchen, z.B. wenn Code zwischen LGPL-, GPL- und AGPL-lizenzierten Komponenten verschoben wird oder Entwickler versehentlich die falsche Lizenz in einem Header verwenden)
3.1. In Anlehnung an die AGPL#
Das Hauptziel der AGPL besteht darin, einen Diensteanbieter zu verpflichten, den Quellcode des Dienstes allen Nutzern dieses Dienstes leicht zugänglich zu machen.
Für GNUnet, GNU Taler und GNU Anastasis setzen wir diese Anforderung um, indem wir einen /agpl/
-Endpunkt implementieren, der die Benutzer der API zum Quellcode (entweder ein TGZ oder eine Weiterleitung zum Git-Repository) der Komponente und ihrer Abhängigkeiten leitet (wir glauben, dass es akzeptabel ist, keine unveränderten Abhängigkeiten aufzunehmen, die bereits anderswo leicht verfügbar und auffindbar sind). Der Quellcode (wie in der GPL definiert) muss dann kostenlos und ohne Zugangskontrolle von dieser Adresse in einer für die Entwicklung geeigneten Form heruntergeladen werden können (d.h. einschließlich Build-System und Anweisungen). Alle üblichen Einschränkungen für die Verbreitung von Code unter der GPL gelten ebenfalls.
Wenn Sie Quellen bereitstellen, die gegenüber den von GNU veröffentlichten Upstream-Versionen verändert wurden, müssen Sie daher den /agpl/
-Endpunkt aktualisieren, um auf den veränderten Quellcode zu verweisen. Beachten Sie, dass Sie muss immer den Code der tatsächlich eingesetzten Version zur Verfügung stellen, die Anpassungen, Erweiterungen, Integrationen oder Sicherheitsverbesserungen oder Fehlerbehebungen enthält.
3.2. In Anlehnung an die GPL#
Die GPL verpflichtet Sie, den Quellcode des jeweiligen Programms allen Nutzern zur Verfügung zu stellen, die das Programm ausführen. Dies schließt wiederum alle Anpassungen (Branding, Thematisierung, Erweiterungen, Integrationen oder Sicherheitsverbesserungen oder Fehlerbehebungen) ein, die Sie vorgenommen haben. Der Quellcode für das geänderte Programm muss wiederum unter der GPL veröffentlicht werden und für alle Nutzer Ihres Programms einigermaßen einfach und kostenlos zu finden sein.
Wenn Sie Binärdateien von unmodifizierten Versionen der GNU-Versionen ausliefern, ist dies erfüllt, da GNU die Quellen sowohl über die Git-Repositories des Projekts als auch über die FTP-Spiegel des GNU-Projekts zur Verfügung stellt. Sie müssen dennoch jede Paketierungslogik, die Sie geschrieben haben, um die Binärdateien zu erstellen, für andere verfügbar machen.
3.3. In Anlehnung an die LGPL#
Um die LGPL zu befolgen, tun Sie im Grunde alles, was Sie unter der GPL tun müssen, wenn es um die Quellen geht, die Ihnen zur Verfügung gestellt wurden.
Es ist Ihnen jedoch gestattet, den unter der LGPL bereitgestellten Code in anderen Code zu integrieren, der nicht unter der LGPLv3+ steht. Nichtsdestotrotz müssen Änderungen an unserem bestehenden Code unter der LGPLv3+ bleiben, und wir empfehlen Ihnen dringend, Ihren gesamten Code unter einer geeigneten FLOSS-Lizenz zu veröffentlichen.
3.4. Anleitungen (git://git.taler.net/tutorials)#
Die Spezifikation wurde ursprünglich von INRIA und von Einzelpersonen entwickelt, die dem Rechtssubjekt „GNUnet e.V.“ angehören. Für jede Quelldatei ist in der Kopfzeile angegeben, wer das Urheberrecht innehat, da einige Teile „wortwörtlich“ von der GNUnet e.V.-Stiftung übernommen wurden, während andere „ex novo“ bei INRIA oder Taler Systems SA entwickelt wurden.
Im Allgemeinen wird für sie die GNU GPLv3-Lizenz verwendet; siehe COPYING.GPL.