Considering OpenJDK? How to Decide
Today, software development teams are under more pressure than ever to cost-effectively deliver feature-rich software to customers within shorter timelines. As Oracle has announced it is starting to charge for its Java SE subscriptions, perhaps your organization is already looking into OpenJDK as an alternative that can eliminate Java SE subscription costs while keeping the organization well equipped to meet internal and external demands. OpenJDK can certainly be part of this solution.
What Is OpenJDK?
OpenJDK is considered to be the innovation engine for Java SE and is sponsored by the OpenJDK and Java community. The community in turn is made up chiefly of Red Hat, IBM, Azul Systems, Apple, and SAP. Originally, OpenJDK was created so that an open source and freely redistributable version of Java could be made available to users of the Fedora operating system. Since Oracle’s JDK was closed source and couldn’t be distributed through public software channels, there was a need to create a version of Java that could be bundled with Linux distributions.
The original build process was clunky and complicated, partially because you had to have an existing JDK in order to compile OpenJDK. At the time, that meant using the Sun JDK, which would have made parts of the package proprietary and not eligible for public distribution as free software. This lead to the IcedTea project which was capable of bootstrapping OpenJDK using GNU components. After two years of development, Red Hat announced that OpenJDK had successfully passed the Technology Compatibility Kit (TCK) for Java. This was a huge milestone and indicated that OpenJDK could now be a suitable and fully compatible replacement for Java.
OpenJDK vs. Oracle
Fast forward to 2019 and OpenJDK is now upstream from every major Java release including the Oracle JDK. All new Java development begins with contributions to OpenJDK, and those enhancements make their way down to Oracle JDK, Adopt OpenJDK, Azul, IBM OpenJ9, and more. It still maintains its GPLv2 licensing, with a GPL linking exception that allows it to be “linked” to other projects without the copyleft requirements of the GPL applying to that program. In other words, OpenJDK is open, safe, and freely redistributable, so there’s nothing stopping you from using it!
Managing New Costs or Considering Alternatives?
Last year, Oracle announced that effective January 2019, public updates for Oracle Java SE 8 will no longer be available for business, commercial, or production use without a commercial license. The announcement outlined a new support model for its commercial Java runtime product and introduces new fees and higher expenses related to support and licensing costs.
According to the Forrester report - Weighing the Options to Oracle’s New Java SE Subscription, many well-informed application development and delivery (AD&D) teams immediately began sizing up their support options. The report also indicates that many Forrester clients were asking questions about this licensing change. At OpenLogic, we’ve also seen an increase in questions from our clients relating to Java licensing and support and moving to OpenJDK while maintaining the stability and dependability of their applications.
It’s critical for AD&D leaders to make an informed choice when considering OpenJDK vs Oracle JDK. This choice needs to consider the organization-wide impacts on cost, time, resources, and support for maintaining Java applications. In this report, Forrester outlines four alternatives for organizations to consider:
Continue to use Oracle Java SE
The least disruptive but potentially costly option as it requires organizations to secure a commercial support license for Oracle Java SE from Oracle.
Transition to a supported build of OpenJDK
As there’s an open source alternative to almost every commercial software package available, for Oracle Java SE, its OpenJDK. OpenJDK is functionally identical to Oracle Java SE however because it’s open source, there are options for support. Oracle Java vs OpenJDK with support is certainly worth consideration.
Embrace the OpenJDK community model
Organizations can embrace the OpenJDK model and take over full ownership for ensuring security, availability, and support. Teams evaluating the community model need to ensure they have resources in place to monitor and keep systems up to date as security and other upgrades become available, as well as provide effective support to the application teams.
Don’t do anything (and hope for the best)
As this Forrester report says, “we would tend to heavily discount this option.”
In considering OpenJDK vs Oracle JDK, the time to act is now. Read this February 2019 report from Forrester to learn more about the new program and alternatives to Oracle’s Java SE subscription changes and determine the right path for your organization.