How is OpenJDK builds Different from Oracle JDK builds?
When Donald Smith announced in 2017 that in the next few releases the difference between OpenJDK builds and Oracle JDK builds will be omitted. It has been years already and everyone is still confused. Smith is the senior director of product management at Oracle and announced the news in a blog just a few hours before Mark Cavage talked about Oracle JDK’s new proprietary features.
In the blog, Smith clearly mentioned that there will be no technical differences between the two. When he was asked, he said that there aren’t any technical differences but certain cosmetic and packaging differences. Sometime back in September 2017, Uwe Schindler, Contributor of the Open JDK Project and Apache Lucene PMC Member was invited at a conference to talk about the new improvement.
The Difference Between The Two
Schindler said that Open JDK builds and Oracle JDK builds have had the same Java Core since Java 7. So if you have a version of Java 7 or higher, you can switch between the two binaries with no difficulties. Differences exist when it comes to their implementation. Certain GUI-environments are not present in Open JDK builds, which include options for graphic editing and sound output.
Stephen Colebourne feels that even though you can choose to use Oracle JDK builds, the possibilities through using Open JDK builds are better because Java was built using it. Also, Oracle JDK builds was developed using Open JDK codebase. Earlier, Oracle had more features but with Java 11, that isn’t a problem.
When you purchase Java 11, you get six months of GPL+CE licensed use for free. You can download it from jdk.java.net and it comes with security patches. If you do not purchase Java 11 within six months of its release, you will have obtain the six month license from a different build team and a different URL.
Schindler Explains the Differences
We all know that Java is open source. The way you implement both Open JDK builds and Oracle JDK builds is a little different from one another. The OpenJDK builds that is released with Linux distributions doesn’t come with the many original features.
Oracle JDK builds has several additional tools, which include Flight Recorder. It will soon become a part of Open JDK builds. Many tools were taken out of Java 9 like the jhat and hprof to solve the open source problem. Oracle still dominates the majority of the review process.
If you are a developer, you are sure to love the new development.
Schindler feels that the decision taken by Oracle is a great one because updates will be released faster, which will encourage programmers to contribute their intel to Open JDK.
Until a year ago, developers weren’t keen on contributing because the updates very extremely slow, so they didn’t write a lot of new code/APIs. The developers would find a new job until the update was released, which was of absolutely no use because they already moved on. Now, there’ll be releases every six months.
Java 12 was released in March 2019 with free of cost updates until September 2019. The idea behind this is to move to a long-term solution where the customer directly pays for the updates instead of offering it for free. Only continuously and timely upgrades will make it possible. Another thing in question is — how will certain development companies cope up with regular updates? We’ll only come to know once the releases are regular.