Insel: Kurzer Abriss der Java Open-Source-Werdung
Schon seit Java 1.0 gibt es den Quellcode der Standard-Bibliotheken (beim JDK im im Wurzelverzeichnis unter dem Namen src.zip) und jeder Interessierte konnte einen Blick auf die Implementierung werfen. Zwar verschloss Sun nicht den Blick auf die Implementierungen, aber weder die Laufzeitumgebung, noch der Compiler oder die Bibliotheken standen unter einer akzeptierten Open-Source-Lizenz. Sehr über 10 Jahren gab es in der Software-Welt Forderungen an Sun, die gesamte Java-Plattform unter einer bekanntere Lizenzform wie der GNU General Public License (GPL) oder BSD-Lizenz zu stellen. Dabei hat Jonathan Schwartz in San Francisco bei der JavaOne Konferenz 2006 schon angedeutet: ››It's not a question of whether we'll open source Java, now the question is how‹‹. War die Frage also statt des „Ob“ ein „Wie“, kündigte bei der Eröffnungsrede der JavaOne Konferenz im Mai 2007 Rich Green die endgültige Freigabe Java als OpenJDK unter der Open Source-Lizenz GPL 2 an. Dem ging Ende 2006 die Freigabe von Compiler und der virtuellen Maschine voraus.
Die Geschichte ist allerdings noch ein wenig komplizierter. Obwohl OpenJDK nun unter der GPL steht, enthielt es doch Teile wie den Font-Renderer, Sound-Unterstützung, Farbmanagement, SNMP-Code, die als binäre Pakete beigelegt wurden, weil etwa die Rechte zur Veröffentlichung fehlten. Sun nennt diese Teile, die etwa 4 % vom JDK 6 ausmachen, „belasteter Code“ (engl. „encumbered code“) . Das hindere puristische Linux-Distributoren daran, OpenJDK auszuliefern. RedHat veröffentlichte daraufhin im Juni 2007 das Projekt IcedTea, um diese binären Teile auf der Basis vom OpenJDK durch GPL-Software zu ersetzen. So basiert der Font-Renderer zum Beispiel auf FreeType und das Farbmanagement auf little CMS . Mit diesen Ersetzungen schaffte dann OpenJDK + IcedTea im Juni 2008 das Technology Compatibility Kit (TCK) von Sun und heißt nun OpenJDK 6. Darauf hin floss das OpenJDK 6 unter der GPLv2 in Linux-Distributionen wie Fedora und Debian ein.
Labels: Insel











