Should you replace Oracle JDK with OpenJDK? That's what we break down in this blog.
In 2018, Oracle announced that after January 2019, businesses will need to purchase a commercial license (i.e., from Oracle) in order to receive software updates. Further details are available at the Oracle Java SE Support Roadmap page.
A recent Forrester report weighs the options between Oracle JDK and OpenJDK. But we also reached out to Java experts to get their thoughts on the following question:
What tips can you share for companies that migrate from Oracle JDK to OpenJDK?
Read their answers below.
Dr. Heinz Kabutz (@heinzkabutz) is a Java expert with JavaSpecialists.eu.
Companies should probably consider migrating away from OracleJDK to the latest OpenJDK. They should also consider an upgrade plan that moves with the official releases of OpenJDK. That way, they get all the latest features.
Brad Wood (@bdw429s) is Lead Architect and Developer Advocate at Ortus Solutions, Corp.
If necessary, check to see if your organization has any restrictions on the approved software you can use. Perform a test of your system on OpenJDK and make the switch. Most of the OpenJDK issues I've seen are related to missing libraries bundled with the builds so choose a provider that tests their builds well, and ideally passes the JCK (Java Compatibility Kit). After you make the move, ensure you've subscribed to an update channel from your OpenJDK provider so you don't miss important updates.
I get asked a lot of questions by customers considering a migration to OpenJDK.
Two of the biggest questions are:
What differences are there between Oracle JDK and OpenJDK?
There are some differences between Oracle JDK 8 and OpenJDK 8 such as the cryptography policy, but in general, server-side code running on an application server should be unaffected. If you are running a desktop application using a GUI library such as JavaFX, then this is something you will need to watch out for. If you are using Oracle JDK 11, then the transition to OpenJDK 11 should be seamless. The only real way to know is to switch from Oracle JDK to OpenJDK via the JAVA_HOME environment variable and then test.
Can I build OpenJDK myself?
If you decide to build OpenJDK from scratch, then it is not trivial unless you have someone with experience. If you want a prebuilt version of OpenJDK, then AdoptOpenJDK or OpenJ9 are 2 available options.
Justin Reock (@jreock) is a free software evangelist and the Chief Architect for OpenLogic. He resides in Asheville, NC.
A successful migration should involve a thorough inventory of your applications that will be migrated. This inventory should include a risk and time-to-migrate analysis, and a roadmap should be followed which starts with the lowest risk and lowest time to migrate applications. This way your organization will recognize immediate success and become comfortable with the process, both technically and culturally.
For very large migrations, seeking consulting services from an organization (like OpenLogic) who is experienced in this kind of migration can make all the difference in the world, and will still represent both direct and organizational cost savings over time.
It's time to consider replacing Oracle JDK with OpenJDK for Windows and beyond.
Since Oracle announced it is starting to charge for its Java SE 8 subscriptions, is your organization looking into your options? It’s critical for development leaders to make an informed choice that considers the organization-wide impacts on cost, time, resources, and support for maintaining Java applications. In this February 2019 report, Forrester outlines four alternatives for organizations to consider:
The time to decide is now. Read this report from Forrester to learn more about Oracle’s Java SE subscription changes and determine the right path for your organization.