Considering OpenJDK? How to Decide
Today, software development teams are under more pressure than ever to deliver feature-rich software to customers — faster and for less money.
Now that the Oracle JDK subscription model has changed, you may be looking at options, including the free and open source OpenJDK.
If you would like a one-hour review of the differences between the two technologies, including what most migrations look like, watch this video:
What Is OpenJDK?
OpenJDK is the open source alternative to Oracle JDK.
As an open source project, it is supported by the public community. However, because of its global popularity, the OpenJDK community includes individual JDK and Java contributors as well as corporate sponsors such as Red Hat, IBM, Azul Systems, Apple, and SAP.
Originally, the community JDK was created so that an open source and freely redistributable version of Java could be made available to users of the Fedora operating system. Oracle JDK was closed source and couldn't be distributed through public software channels, so there was a need for an open-source Java version that could be bundled with Linux distributions.
How Was OpenJDK Developed?
The original build process was clunky and complicated, partially because developers needed a JDK to compile it. At the time, that meant using the Sun JDK. However, the Sun JDK license made parts of the preliminary OpenJDK package proprietary and not eligible for public distribution as free software. To overcome this obstacle, Red Hat launched the IcedTea project, which was capable of bootstrapping using GNU components.
After two years of development, OpenJDK successfully passed the Technology Compatibility Kit (TCK) for Java. This was a huge milestone because it meant that it was a suitable and fully compatible replacement for Java and proprietary JDKs such as Oracle JDK.
Why is OpenJDK the Foundation of Other JDKs?
Fast forward to 2019, and OpenJDK is now upstream from every major Java release, including Oracle JDK. All new Java development begins with OpenJDK. And all enhancements to it make their way into proprietary JDK versions, including Oracle JDK, Adopt OpenJDK, Azul, and IBM OpenJ9.
Can OpenJDK Be Used Freely to Develop Software?
To ensure the program is open, safe, and freely redistributable, the project:
- Maintains its GPLv2 licensing.
- Includes the GPL-linking exception, which ensures the technology can be used in other projects, without the copyleft requirements of the GPL applying to that program.
In other words, software built with OpenJDK is not subject to copyright requirements — so anyone can use it for innovation!
Oracle JDK License Changes
As of January 2019, public updates for Oracle Java SE 8 are no longer available for business, commercial, or production use without a commercial license. In addition, license costs have increased dramatically. Without a license, users are unable to receive critical updates needed to protect their software from known risks and take advantage of the new capabilities.
Forrester's Findings on Oracle JDK vs. OpenJDK
According to the Forrester report, Weighing the Options to Oracle's New Java SE Subscription, as soon as Oracle announced the Oracle JDK license change, many well-informed developers immediately began sizing up their Java support options. The report summarizes the key questions developers are asking — and outlines four alternatives for organizations to consider:
- Continue to use Oracle Java SE.
- Transition to a supported build of OpenJDK.
- Embrace the community model.
- Don't do anything.
Continue to Use Oracle Java SE
This is the least disruptive and typically, the most costly option. The advantage is that you can move forward with business as usual, without having to migrate any systems. however, you will need to pay for an Oracle Java SE license, and you will have to pay for future price increases, with little warning. In addition, you will have less control over the future of your application.
Transition to OpenJDK and Get Commercial Support
By migrating applications from Oracle JDK to OpenJDK, you will realize significant cost reductions. And you will have free access to all OpenJDK features and security patches. However, migrating applications to OpenJDK involves work. And you will need to transition from an Oracle support model to a community support model.
Organizations can overcome these challenges by engaging a company, such as OpenLogic. In addition to helping organizations migrate, OpenLogic provides enterprise-level support options that include mission-critical SLAs for OpenJDK as well as hundreds of other open source technologies. So, as an OpenLogic customer, you will receive enterprise support from open source experts for all your open source technologies — including applications developed with OpenJDK.
Embrace the OpenJDK Community Model
You can also opt to migrate applications to OpenJDK and take full ownership over their enterprise support requirements. Teams who are evaluating this approach should ensure they have in-house resources in place to monitor the applications for availability, quickly install software updates, and provide on-demand support to the application teams when any questions or issues arise. While this option gives you the most freedom, it also has the highest risk.
Don't Do Anything
Choosing this option now can create significant risk, because you will lack insight into:
- The long-term cost implications of OracleJDK.
- How much money they can save by migrating to OpenJDK.
- What a migration from Oracle JDK to OpenJDK looks like.
- The resources required to support OpenJDK.
And without this insight, you will lose the ability to quickly make critical, strategic decisions. That is why the Forrester report "heavily discounts this option" — and so do we.
To help organizations understand their JDK options, I held an hour-long webinar, "Oracle JDK vs. OpenJDK: What Just Happened?" where I discuss:
- The business implications of using the Java language.
- Available JDK alternatives.
- What a migration effort looks like.
Watch the webinar to get critical insight into Java that helps boost your business agility, strategy, and competitiveness.