OpenJDK

from Wikipedia, the free encyclopedia
OpenJDK

OpenJDK logo.svg
Basic data

developer Sun Microsystems ( Oracle )
Current  version 14
( March 17, 2020 )
operating system Linux , macOS , Windows
programming language C ++ and Java
category Free Java implementation
License GPL with linking exception ( Free Software )
openjdk.java.net

OpenJDK is the official free implementation of the Java Platform, Standard Edition (Java SE) from Sun Microsystems and is the free successor to the Java Development Kit (JDK). It is written in the languages C ++ and Java and is licensed under the GNU General Public License (GPL) published with exceptions for linked external software and supported by well-known IT companies such as Microsoft , Apple , IBM and SAP .

history

After months of speculation since the Solaris disclosure about a disclosure of Java, Sun announced at the JavaOne conference in May 2006 that the source code of Java should be released as free software under a free license. On November 13, 2006, the company began delivering on its promise with the release of HotSpot , JavaHelp and the Java compiler javac , which is the core component of the Java Development Kit. In May 2007, most of the code in the class libraries was released.

The steps were enthusiastically received in the free software world and celebrated as milestones.

OpenJDK emerged as a spin-off from version 6 of the JDK, with which the first versions of the 7-series were published as free software. A commercial version (or mainly related technical support services) will continue to be marketed, which will at least initially continue to contain the non-free components replaced in OpenJDK. Since there was also a need for a free implementation of Java SE 6, an OpenJDK 6 was split off from OpenJDK 7.

From OpenJDK 7, Mac OS X is also supported.

Proprietary Part Replacements

Since Sun did not fully own the rights to some parts of the code, the corresponding parts were only available in compiled form and had to be replaced in order to obtain a completely free version.

This includes, among other things, the software for rasterizing two-dimensional vector graphics with support for anti-aliasing called Pisces. For each element, Pisces calculates the coverage values ​​of the individual pixels, which are then transferred to the graphics processor for further processing , which then combines the individual elements. It comes from Sun's new reference implementation of a Java environment for mobile and embedded devices called phoneME , the free successor to the Java Platform, Micro Edition (Java ME) and replaces the previously used proprietary Ductus, whose performance is still clearly superior to that of Pisces'. As an alternative to Pisces' pure software rendering, the Cairo graphics library can now also be used in OpenJDK , which offers the possibility of hardware acceleration.

Furthermore, the non-free software synthesizer was replaced with a specially developed new development called Gervill, code for scaling and rastering of fonts was replaced by the FreeType library and the color management software was replaced by the tried and tested free LittleCMS .

IcedTea

In a joint project called IcedTea (which is now also contributing to the official branch), a joint project that is independent of Sun , the creation of an executable, completely free version of the OpenJDK was finally completed in its own development branch , which was also created using the GNU Compiler for Java (GCJ ) works without the help of proprietary software. The free code of OpenJDK was completed with code from the GNU Classpath project (free implementation of the standard class libraries), where components that remained proprietary had left gaps that had not yet been filled.

In November 2007, IcedTea packages could be added to Fedora  8.

After IcedTea first implemented the implementation of Java SE 7, a variant called IcedTea 6 for version 6 of the Java SE specification came in April 2008. Since June 2008 the packages created by IcedTea are officially "Java Compatible" and are allowed to use the protected name OpenJDK .

In Ubuntu  8.04 (published April 24, 2008) and Fedora 9 (May 13, 2008) OpenJDK based on IcedTea6 was included for the first time, and from Ubuntu 10.04 onwards, OpenJDK replaces the Sun JDK as the standard.

With version b10 of OpenJDK 6 (March 2008) and version b53 of OpenJDK 7 (April 2009), the official branch has now also replaced all (relevant) proprietary remnants.

Usage in Android

Currently, a large part based Android - programming interface (API) to Oracle's Java technology . For technical reasons but not least because of multiple copyright disputes between Google and Oracle, these APIs will be replaced by the corresponding components from the OpenJDK system in the future.

Large parts of the system are already occupied by OpenJDK data, which is replacing Oracle Java data.

OpenJDK variants

After Oracle changed the licensing terms for delivery and use of the Oracle JDK and no long-term support (ger .: long-term support, short LTS) in the form of security updates for under a permissive open source license provides standing Oracle OpenJDK, developed producers such as Alibaba , Amazon , Azul Systems, BellSoft, IBM (Adopt, OpenJ), Red Hat and SAP own variants.

Version (build) LTS Permissive
license
TCK
conformity
Unmodified
OpenJDK source code
Commercial
support
AdoptOpenJDK / IBM Java SDK Yes Yes No Optional Yes
Alibaba Dragonwell Yes Yes Yes No No
Amazon Corretto Yes Yes Yes No No
Azul Zulu Yes Yes Yes No Yes
BellSoft Liberica JDK Yes Yes Yes No Yes
ojdkbuild Yes Yes No Yes No
Oracle Java SE Yes No Yes No Yes
Oracle OpenJDK No Yes Yes Yes No
Red Hat OpenJDK Yes Yes Yes No Yes
SAP SapMachine Yes Yes Yes No No

Installation programs for various operating systems and processor architectures are available, which can also include support for OpenWebStart , which is based on Java Web Start , and the free JavaFX implementation OpenJFX ; these were outsourced as independent projects with the introduction of Java Version 11. The Java applet technology is no longer available since Java version 9, which is also on the lack of support in modern browsers is due.

ojdkbuild

ojdkbuild is based on the OpenJDK implementation supplied with Red Hat Enterprise Linux (RHEL), the source code of which is available in the free RHEL branch CentOS . ojdkbuild tries to achieve the greatest possible compatibility with 64-bit Windows systems and offers appropriate installation versions for Microsoft Windows. The release cycle of updates for long-term supported versions (LTS) is based on the "Critical Patch Updates" (Oracle CPU) published by Oracle every three months.

The installation program for Microsoft Windows, the Windows Installer , also includes OpenJFX 8 (including a WebKit runtime environment) and contains a free implementation of Java Web Start technology based on IcedTea-Web, but without the support of Java applets or the corresponding Web browser extensions. The mentioned extensions are not part of the source code of the CentOS project and are supplemented by the ojdkbuild project.

As of the ojdkbuild version based on OpenJDK 11, it also includes “Flight Recorder” and “Mission Control”, which were released by Oracle for the OpenJDK project.

Web links

Individual evidence

  1. JDK 14 . (accessed on April 15, 2020).
  2. https://jdk.java.net/13/
  3. linuxtoday.com
  4. a b Open Source Java Details and Responses.
  5. What the Community is saying. sun.com ( Memento from July 6, 2008 in the Internet Archive )
  6. linuxfr.org/comments/774737,1.html
  7. openjdk.java.net
  8. Oracle and Apple Announce OpenJDK Project for Mac OS X ( Memento of November 13, 2010 in the Internet Archive )
  9. sun.com
  10. openjdk.java.net
  11. a b openjdk.java.net
  12. Ductus vs Cairo vs Pisces ( Memento from August 20, 2011 in the Internet Archive )
  13. Gervill - Software Synthesizer ( Memento from October 4, 2011 in the web archive archive.today )
  14. langel.wordpress.com/2008/04/04/icedtea6-11-released ( Memento from October 31, 2008 in the Internet Archive )
  15. Java litigation: US judiciary advocates copyright on APIs - Golem.de. In: www.golem.de. Retrieved January 4, 2016 .
  16. Android N: Google's mobile system will be based on open source Java OpenJDK. heise online, accessed on January 4, 2016 .
  17. a b Bernard Steppan: Oracle changes license model: Java costs explode? In: computerwoche.de. Computerwoche , December 11, 2018, accessed on August 22, 2020 .
  18. Time to look beyond Oracle's JDK .
  19. Difference between OpenJDK and AdoptOpenJDK
  20. Java is Still Free
  21. Technology Compatibility Kit (TCK): Gaining Access to the JCK. In: openjdk.java.net. Oracle , accessed August 22, 2020 .
  22. OCTLA Signatories List. In: https://openjdk.java.net/ . Oracle , accessed August 22, 2020 .
  23. AdoptOpenJDK - Open source, prebuilt OpenJDK binaries . Retrieved July 10, 2020.
  24. Home - Java SDK . Retrieved July 10, 2020.
  25. Alibaba Dragon Well . Retrieved July 10, 2020.
  26. Amazon Corretto . Retrieved July 10, 2020.
  27. Amazon Introduces Amazon Corretto Crypto Provider (ACCP) .
  28. Zulu Community: Free, tested builds of OpenJDK managed by Azul engineers . Retrieved July 10, 2020.
  29. Download Liberica JDK, OpenJDK, Java 8, Java 11, Linux, Windows, macOS . Retrieved July 10, 2020.
  30. a b ojdkbuild / ojdkbuild . Retrieved July 10, 2020.
  31. Java SE . Retrieved July 10, 2020.
  32. ^ JDK Builds from Oracle . Retrieved July 10, 2020.
  33. OpenJDK Overview . Retrieved July 10, 2020.
  34. An OpenJDK release maintained and supported by SAP . Retrieved July 10, 2020.
  35. Java 11 without WebStart and JavaFX: Oracle wants to streamline Java. In: computerwoche.de. Computerwoche , December 20, 2018, accessed on August 22, 2020 .
  36. ojdkbuild: motivation. In: github.com/ojdkbuild/ojdkbuild. Red Hat ojdkbuild Community Project, October 21, 2018, accessed August 22, 2020 .