OpenJDK

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
OpenJDK
OpenJDK logo.png
Entwickler Sun Microsystems (Oracle)
Aktuelle Version OpenJDK 8[1]
(10. März 2014)
Betriebssystem Linux
Programmier­sprache C++ und Java
Kategorie Freie Java-Implementierung
Lizenz GPL mit linking exception (Freie Software)
openjdk.java.net

OpenJDK ist die offizielle freie Implementierung der Java Platform, Standard Edition (Java SE) von Sun Microsystems und stellt den freien Nachfolger des Java Development Kit (JDK) dar. Es ist in den Sprachen C++ und Java geschrieben, wird unter der GNU General Public License (GPL) mit Ausnahmen für gelinkte externe Software veröffentlicht und von bekannten IT-Firmen wie Apple, IBM und SAP unterstützt.

Geschichte[Bearbeiten]

Nach Monaten der Spekulation seit der Offenlegung von Solaris über eine Offenlegung von Java[2] verkündete Sun im Mai 2006 auf der Konferenz JavaOne, dass Java im Quelltext unter freier Lizenz als freie Software veröffentlicht werden solle. Am 13. November 2006 begann das Unternehmen mit der Veröffentlichung von HotSpot, JavaHelp und des Java-Compilers javac, der den Kernbestandteil des Java Development Kit darstellt, sein Versprechen einzulösen.[3] Im Mai 2007 kamen die Veröffentlichung des Großteils des Codes der Klassenbibliotheken.

Die Schritte wurden in der Freie-Software-Welt begeistert aufgenommen und als Meilensteine gefeiert.[4][5]

OpenJDK entstand als Abspaltung von Version 6 des JDK, womit dann die ersten Versionen der 7er-Linie als freie Software veröffentlicht wurden. Dabei wird weiterhin eine kommerzielle Version (bzw. hauptsächlich damit verbundene technische Unterstützungsleistungen) vermarktet, die zumindest zunächst weiterhin die in OpenJDK ersetzten unfreien Bestandteile enthält.[3] Da auch Bedarf an einer freien Implementierung der Java SE 6 bestand, wurde von OpenJDK 7 ein OpenJDK 6 abgespalten.[6]

Mit OpenJDK7 wird auch Mac OS X unterstützt.[7]

Ersetzungen proprietärer Teile[Bearbeiten]

Da die Rechte an einigen Code-Teilen nicht gänzlich im Besitz von Sun waren, lagen die entsprechenden Teile nur in kompilierter Form vor und mussten ersetzt werden, um eine vollständig freie Version zu erhalten.[8]

Dies umfasst unter anderem die Software zur Rasterung zweidimensionaler Vektorgrafiken mit Unterstützung für Antialiasing namens Pisces. Pisces berechnet für jedes Element die Abdeckungswerte der einzelnen Bildpunkte, die dann zur weiteren Verarbeitung an den Grafikprozessor übergeben werden, welche dann die einzelnen Elemente zusammenfügt. Es entstammt Suns neuer Referenzimplementierung einer Java-Umgebung für mobile und Embedded-Geräte namens phoneME, dem freien Nachfolger der Java Platform, Micro Edition (Java ME) und ersetzt das zuvor verwendete proprietäre Ductus,[9][10] dessen Leistung der von Pisces’ noch deutlich überlegen ist.[11] Alternativ zu Pisces’ reinem Software-Rendering kann in OpenJDK mittlerweile auch die Grafikbibliothek Cairo verwendet werden, die die Möglichkeit der Hardware-Beschleunigung bietet.

Weiterhin wurde der unfreie Software-Synthesizer mit einer eigens entwickelten Neuentwicklung namens Gervill[12], Code zum Skalieren und Rastern von Schriftarten wurde durch die FreeType-Bibliothek und die Farbmanagement-Software durch das bewährte freie LittleCMS ersetzt.[10]

IcedTea[Bearbeiten]

In einem von Sun unabhängigen Gemeinschaftsprojekt namens IcedTea (das mittlerweile auch zum offiziellen Zweig beiträgt) wurde schließlich die Erstellung einer lauffähigen vollständig freien Version der OpenJDK in einem eigenen Entwicklungszweig vollendet, die auch bei ihrer eigenen Erstellung durch die Verwendung des GNU Compiler for Java (GCJ) ohne die Hilfe proprietärer Software auskommt. Dabei wurde der freie Code von OpenJDK mit Code aus dem GNU-Classpath-Projekt (freie Implementierung der Standardklassenbibliotheken) vervollständigt, wo proprietär gebliebene Bestandteile Lücken hinterlassen hatten, die bisher noch nicht gestopft waren. Im November 2007 konnten IcedTea-Pakete in Fedora 8 aufgenommen werden.

Nachdem von IcedTea zunächst die Implementierung der Java SE 7 umgesetzt wurde, kam im April 2008 eine Variante namens IcedTea6[13] für Version 6 der Java-SE-Spezifikation. Seit Juni 2008 sind die von IcedTea erstellten Pakete offiziell „Java Compatible“ und dürfen die geschützte Bezeichnung OpenJDK tragen.

In Ubuntu 8.04 (veröffentlicht 24. April 2008) und Fedora 9 (13. Mai 2008) war erstmals OpenJDK auf Basis von IcedTea6 enthalten und ab Ubuntu 10.04 ersetzt OpenJDK das Sun JDK als Standard.

Mit Version b10 von OpenJDK6 (März 2008) und Version b53 von OpenJDK7 (April 2009) konnte mittlerweile auch der offizielle Zweig alle (relevanten) proprietären Reste ersetzen.

Weblinks[Bearbeiten]

Quellen[Bearbeiten]

  1. [1]
  2. linuxtoday.com/news_story.php3?ltsn=2006-11-13-023-26-OS-LL-DV
  3. a b www.heise.de/open/artikel/Open-Source-Java-Details-und-Reaktionen-222009.html
  4. What the Community is saying. sun.com (Version vom 6. Juli 2008 im Internet Archive)
  5. linuxfr.org/comments/774737,1.html
  6. openjdk.java.net/projects/jdk6
  7. Oracle and Apple Announce OpenJDK Project for Mac OS X
  8. www.sun.com/aboutsun/pr/2007-05/sunflash.20070508.3.xml
  9. openjdk.java.net/projects/graphics-rasterizer
  10. a b openjdk.java.net/groups/2d
  11. linuxhippy.blogspot.com/2009/09/ductus-vs-cairo-vs-pisces.html
  12. gervill.dev.java.net
  13. langel.wordpress.com/2008/04/04/icedtea6-11-released (Version vom 31. Oktober 2008 im Internet Archive)