Java wird Open Source

13.11.2006
Sun wird Java unter die GNU General Public License (GPL) und damit die populärste Open-Source-Lizenz stellen. Versionen mit kommerziellem Support wird es aber weiterhin geben („Dual License“).

Dadurch wird es unter anderem einfacher, Java mit Distributionen des gleichfalls quelloffenen Betriebssystems Linux zu verteilen. Mit der GPL hat sich Sun, das bei Open-Source-Lizenzen bislang eher eigene Wege ging, dieses Mal für die in der Community populärste Lizenz entschieden.

„Dadurch, dass wir die Lizenz ändern und dies zu einer freien und quelloffenen Technologieplattform machen, können wir nun wirklich die Milliarde installierte Basis anschauen und überlegen, wie wir die nächste Milliarde schaffen“, erklärte Firmenchef Jonathan Schwartz.

Über die Website Java.net kann man ab heute auf die Open-Source-Versionen von Java für Desktop-Rechner („Java Standard Edition (SE)“) und mobile Geräte („Java Mobile Edition (ME)“) zugreifen. Die Server-Ausführung von Java, die „Enterprise Edition“, hatte Sun bereits im Rahmen des Projekts „Glassfish“ veröffentlicht. Dieser Code steht ab Anfang 2007 dann ebenfalls unter der GPLv2 und nicht länger unter der hauseigenen Community Development and Distribution License (CDDL).

Formale Open-Source-Projekte hat Sun absichtlich noch nicht etabliert. Das Unternehmen will sich an dem Prozess aktiv beteiligen, aber nicht den Ausgang vorschreiben. Zumindest Namen haben die Communities aber schon: „Mobile and Embedded“ für Java ME sowie „Open JDK“ für Java SE. Letzteres startet zunächst mit den drei Kernkomponenten HotSpot, Compiler und JavaHelp; der Rest soll bis März folgen, nachdem Community und Governance-Prozess etabliert sind.

Java als Programmiersprache kommt in vielen Bereichen zum Einsatz, unter anderem Smart Cards und Handys. In vielen Anwendungsbereichen werden aber inzwischen andere Open-Source-Produkte bevorzugt, die großteils frei erhältlich sind. Indem es ähnliche Konditionen anbietet, will Sun Java attraktiver machen und die Kosten der Nutzung senken.

Mit dem Konzept von Open Source hat Sun schon lange Erfahrung. Unter anderem hat es sein Betriebssystem Solaris unter einer Open-Source-Lizenz veröffentlicht. Das 1995 eingeführte Java, das unter anderem ersonnen wurde, um den wachsenden Einfluss von Microsoft zu bremsen, war davon aber bislang ausgenommen.

Sun steuerte die weitere Entwicklung von Java stattdessen über einen Community Process („JCP“), an dem mehrere interessierte Firmen beteiligt waren. Es wollte auf diese Weise sicherstellen, dass sich nicht mehrere zueinander inkompatible Versionen von Java entwickelten („Forking“).

Inzwischen hat sich die Situation grundlegend geändert. Im Jahr 2004 erreichten Sun und Microsoft einen Kartellvergleich, in dessen Rahmen der Redmondern Konzern unter anderem wegen seiner Taktiken gegen Java fast zwei Milliarden Dollar an Sun zahlte. Gleichzeitig sind andere quelloffene Programmierwerkzeuge im Web immer populärer geworden.

Sun hat sich mithin für die GPL als Lizenz für Java entschieden. Die GNU-Lizenz schreibt vor, dass alle Modifikationen an einem Produkt ebenfalls wieder als Open Source verteilt werden müssen.

Einige Firmen wollen aber solche Modifikationen nicht teilen oder werden durch Patentbeschränkungen daran gehindert. Für Solaris und andere Produkte verwendete Sun daher nicht die GPL. Was Java betrifft, brauchte Sun laut Schwartz auch einige Zeit, um sicherzustellen, dass das Unternehmen über alle nötigen Rechte verfügt, um zu garantieren, dass Java-Nutzer nicht von Dritten wegen Verletzung irgendwelcher Patente verklagt werden.

Für Java hat Sun noch eine „classpath exception“ ersonnen. Dieser Lizenzzusatz erlaubt es dem Hersteller, die Nachwirkung der GPL zu beschränken. „Bei Java SE ergänzen wir die GPL durch diesen Zusatz“, erklärte Rich Green, Executive Vice President of Software. „Wenn Sie auf die Bibliotheken und Virtuelle Maschine von Java aufsetzen oder Applikationen damit ausliefern, sind Sie nicht von der Java-Lizenz betroffen.“

Sun will aber trotz der Quellöffnung im Rahmen einer so genannten Dual-License-Struktur auch zukünftig noch kommerzielle Versionen der Java-Produkte für Kunden verkaufen, die kommerziellen Support wünschen. Hewlett-Packard jedenfalls begrüßte die Entscheidung, Java unter die GPL zu stellen. Christina Martino, Vice President des Bereichs Open Source und Linux, erklärte, Sun habe offensichtlich endlich auf seine Entwickler und Linux-Partner gehört: „Wenn Sun das macht, ist die Botschaft von HP: ‚Das wurde auch Zeit’“.

Abzuwarten bleibt, wie sich Suns GPL-Öffnung auf andere Projekte auswirkt, die ein Open-Source-Java anstreben. Die Apache Foundation etwa hatte im Mai 2005 mit „Harmony“ ein Projekt aufgesetzt, das unter der Apache-Lizenz eine quelloffene Variante von Java SE entwickeln will. Dieses befindet sich allerdings noch im „Inkubator“-Stadium und wird noch nicht voll unterstützt.

Ob Sun zukünftig auch die gerade in Arbeit befindliche neue GPL Version 3 unterstützt, ist laut Green noch ungewiss (auch wenn das Unternehmen aktiv an der Ausformulierung beteiligt sei). Sun könnte die GNU-Lizenz künftig aber in jedem Fall auch für andere Produkte wie OpenSolaris verwenden. „Ich bin offen für eine komplette Neubewertung unseres Lizenzierungs-Protokolls“, so Green. (tc)