The Convergence of OpenJDK and the Oracle JDK

In 2018, Oracle changed the license of their JDK. Instead of a single JDK build available both for commercial and free users, they offered two different JDK builds:
            • Oracle JDK (commercial), which can be used in development and testing for free, but you have pay to use it in production.
            • Oracle Open JDK (open source), which can be used in any environment for free.

JDK Builds

  • There is only one set of source code for the JDK. It is hosted in Mercurial at OpenJDK.
  • Anyone can take the source code, produce a build, and post it. So, Oracle created a certification process that should be used to ensure the build is valid.
  • This certification is run by the Java Community Process, which provides a Technology Compatibility Kit (TCK or JCK as Java). If an organization produces an OpenJDK build that passes the TCK then that build can be described as "Java SE compatible".
  • The most popular and famous builds are distributed by Red Hat, Azul and community-led Adopt OpenJDK.



Oracle Commercial JDK

  • If you want to use Oracle JDK in production environment you have to pay for a license.
  • You can still use Oracle JDK for free in development and testing environments.
  • LTS Options: If you are using Oracle Java 9 or 10 you should change your JDK vendor, because Oracle will no longer support these versions even on a commercial basis.



RedHat Open JDK

  • Red Hat OpenJDK 8 (Open Java Development Kit) is a free and open source implementation of the Java Platform, Standard Edition (Java SE).
  • The RedHat OpenJDK build is free to use within a Red Hat Enterprise Linux (RHEL) which is paid for licences.
  • Red Hat was acquired by IBM in 2018 what provided them with a greater level of scale, resources, and capabilities.
  • LTS options: Major LTS OpenJDK versions (7, 8,  and 11) on RHEL are fully supported by Red Hat and Red Hat is committed to providing code-level patches for bug fixes. Major versions are supported for at least 6 years. For instance, OpenJDK 1.8 is supported until June 2023.



Oracle OpenJDK

  • Vanilla version JDK which is supported by Oracle engineers and the community. They usually get the newest features first.
  • Oracle OpenJDK is free to use in all environments including production.
  • LTS options: No LTS, there is a 6-month support cycle for each version, then you have to update JDK if you want to use a supported version of Java. It can cause security risks due to constant updates and unstable GDK.


References

Yorumlar

Popular

Java 14 New Features

HTTP/2

Pretenders, Contenders and Liars