Java unter der GPL: Welcher Code muss Open Source sein?

Dies ist für manchen Anlass zur Besorgnis, denn die Anforderung, den Quellcode kostenlos herausgeben zu müssen, könnte die Geschäftsmodelle von professionellen Java-Entwicklern gefährden. Sun hat sich schnell bemüht, solchen Befürchtungen entgegenzutreten, und der Entwicklergemeinde versichert, dass auch mit der GPL-Veröffentlichung für die Java-Entwickler alles beim Alten bleibt. Der Grund hierfür ist die Classpath-Ausnahme, die für das Classpath-Projekt entwickelt wurde, einer Open-Source-Portierung der Java-Standard-Klassenbibliothek. Mittlerweile wird diese Classpath-Ausnahme auch für andere Open-Source-Java-Projekte wie Kaffe verwendet. Der Text der Classpath-Ausnahme ist kurz und lesenswert:

Das statische oder dynamische Binden dieser Bibliothek an andere Module erzeugt ein kombiniertes Werk auf Basis dieser Bibliothek. Daher decken die Bedingungen der GNU General Public Licence die gesamte Kombination ab.

Als spezielle Ausnahme gewähren die Inhaber dieses Copyrights für diese Bibliothek Ihnen die Erlaubnis, diese Bibliothek an unabhängige Module zu binden, um eine ausführbare Datei zu erzeugen, unabhängig von den Lizenzbestimmungen dieser unabhängigen Module, und diese ausführbare Datei nach eigenem Gutdünken zu kopieren und zu vertreiben, vorausgesetzt, dass Sie gleichzeitig die Lizenzbestimmungen aller gebundenen unabhängigen Module erfüllen. Ein unabhängiges Modul ist ein Modul, das nicht von dieser Bibliothek abgeleitet ist oder auf ihr basiert. Falls Sie diese Bibliothek modifizieren, können Sie diese Ausnahme auf Ihre Version der Bibliothek ausweiten, aber Sie sind nicht dazu verpflichtet. Sollten Sie sich entschließen, dies nicht zu tun, löschen Sie einfach diese Ausnahmeregelung aus Ihrer Version.

Kernaussage dieser Klausel ist, dass die einfache Einbeziehung von Java-Code – sei es durch Linking zu Java-Methoden oder die Erweiterung von Java-Klassen – nicht erfordert, dass man seinen gesamten Code unter die GPL stellen muss. Nur die direkte Modifikation von Java-Code bezieht sich auf den „Copyleft“-Charakter der GPL. Wenn man zum Beispiel eine GPL-lizenzierte Java-Klasse erweitert und diese in einem eigenen Projekt verwendet, würde die Classpath-Ausnahme bedeuten, dass man sein Projekt nicht unter der GPL veröffentlichen muss. Wenn man allerdings die Original-Klasse verändert und diese Änderungen veröffentlichen will, dann müsste dies unter der GPL erfolgen.

Fazit

Nur Entwickler, die an Java selbst arbeiten und nicht einfach mit Java, sind verpflichtet, ihren Code als Open Source zu veröffentlichen.

Page: 1 2

ZDNet.de Redaktion

Recent Posts

Bedrohungen in Europa: Schwachstellen in der Lieferkette dominieren

Hinter 84 Prozent der Zwischenfälle bei Herstellern stecken Schwachstellen in der Lieferkette. Auf dem Vormarsch…

6 Tagen ago

Bericht: Apple arbeitet an faltbarem iPad

Es kommt angeblich 2028 auf den Markt. Das aufgeklappte Gerät soll die Displayfläche von zwei…

6 Tagen ago

HPE baut Supercomputer am Leibniz-Rechenzentrum

Das System basiert auf Hardware von HPE-Cray und Nvidia. Die Inbetriebnahme erfolgt 2027.

7 Tagen ago

Bund meldet Fortschritte in der Netzversorgung

Die Bundesnetzagentur hat ihr Gigabit-Grundbuch aktualisiert. Drei von vier Haushalten sollen jetzt Zugang zu Breitbandanschlüssen…

7 Tagen ago

Vorinstallierte Schadsoftware auf IoT-Geräten

Mit dem Internet verbundene Digitale Bilderrahmen oder Mediaplayer können mit Schadsoftware infiziert werden und sind…

1 Woche ago

iOS und iPadOS 18.2 beseitigen 21 Sicherheitslücken

Schädliche Apps können unter Umständen einen Systemabsturz auslösen. Mindestens eine Anfälligkeit erlaubt eine Remotecodeausführung.

1 Woche ago