Copy-Left-Effekt

  • Software Sammelwörter
  • Besprechungstisch aus Glas mit Tablet und Unterlagen
  • Mann mit flacher Hand und leuchtemden Würfel vor blauem Hintergrund

Die GPL-Lizenzen enthalten Vorgaben, wonach die Software, die unter der GPL steht, nur dann weitergegeben werden darf, wenn der Quellcode offengelegt, die Nutzung der Software frei bleibt und auf die Lizenz- und Urheberrechte hingewiesen wird.

Durch die Übernahme von OSS-Komponenten, für die der Urheber die freie Nutzung durch Anwendung der GPL als zwingende Lizenzbestimmung vorgegeben hat, kann sich ein Widerspruch bei der Einräumung der Nutzungsbedingungen ergeben, wenn der Nutzer Programmteile, die der GPL unterstehen in eigene proprietäre Softwareprogramme einbindet, für die er eine freie Nutzung ausschließt.

Die GPL sehen dabei vor, dass bei Verstoß gegen die Freigabepflicht das Nutzungsrecht an den OSS-Komponenten entfällt (sog. Copyleft-Effekt). Die Übernahme von OSS-Komponenten in ein Gesamtwerk kann insoweit zu einer Infizierung führen, wonach eine proprietäre Ausgestaltung der Lizenzbedingungen für das Gesamtwerk zu einem Verlust der Nutzungsrechte an den OSS-Komponenten führt und damit eine lizenzkonforme Nutzung des Gesamtwerks nicht mehr möglich ist. Für diesen Fall kann das Gesamtwerk nur dann rechtskonform ausgeliefert werden, wenn der Anbieter seine Lizenzbedingungen an die GPL anpasst und damit im Ergebnis sein eigenes Lizenzmodell aufgibt.

Der Effekt greift immer dann, wenn Open Source-Komponenten in ein Gesamtwerk eingebunden werden und nicht als getrennte und unabhängige Programme betrachtet werden können. Es existieren keine pauschalen Lösungsansätze zur technischen Umsetzung der Einbindung, um den Copy-Left-Effekt zu vermeiden. Insoweit lassen sich allenfalls nur grundsätzliche Hinweise für die Praxis geben:

  • Bei der Entwicklung sollten technische Ansätze gewählt werden, die eine möglichst klare Trennung und Eigenständigkeit der Programme erkennen lassen.
  • Gegen eine technische Trennung sprechen insbesondere statische Verlinkungen und tiefgreifende Funktionsaufrufe („function calls“).
  • Für eine technische Trennung spricht es, wenn die Kommunikation zwischen den Programmen nur über Kommandozeilenparameter erfolgt.
  • Beim Vertrieb sollten die Trennung und Eigenständigkeit der Produkte beibehalten werden.