The shared source code

The fact that resolves most of the Java cost debate is that Oracle JDK is itself built from OpenJDK. OpenJDK is the open source reference implementation of the Java SE platform, developed in the open with Oracle as a major contributor. When Oracle produces Oracle JDK, it compiles essentially that same source, adds a small number of commercial extras, and ships it under Oracle's own licence. The core runtime, the just in time compiler, the garbage collectors, the class libraries, and the language implementation are the same code.

This shared lineage is why the comparison is so lopsided in practice. The customer is not choosing between two different pieces of technology with a quality trade off; the customer is choosing between two distributions of the same technology with very different licences attached. That framing is the foundation of the migration case set out in the migrating off Oracle Java guide, and this article sits beneath the Oracle Java licensing pillar.

Is OpenJDK the same as Oracle JDK?

For the purpose that matters to most organisations, running their applications correctly and performantly in production, OpenJDK and Oracle JDK are effectively the same. An application that runs on Oracle JDK will, in the overwhelming majority of cases, run identically on a well maintained OpenJDK build of the same version, because the bytecode the application produces and the runtime that executes it are governed by the same specification and the same implementation. There is no performance penalty inherent in choosing the free build.

The two are the same engine in different packaging. The price on the packaging is the difference, not what is inside it.

Where people perceive a difference, it is almost always a difference in the distribution rather than in the platform: a different update cadence, a different support contact, a different installer, a different set of certified platforms. Those are real considerations when choosing a distribution, but they are not reasons to believe the free Java is somehow lesser Java. The genuine technical exceptions, the Oracle only commercial features, are narrow and are addressed below.

The licensing difference

This is where the distributions diverge sharply. OpenJDK distributions are released under open source licensing, principally the GNU General Public License with the Classpath Exception, which permits free use, including commercial and production use, with no subscription and no per employee charge. A business can deploy Eclipse Temurin across ten thousand servers and owe nothing.

Oracle JDK is different. Recent feature releases are free under Oracle's No-Fee Terms and Conditions licence for a defined period, but commercial production support, older versions under the Oracle Technology Network licence, and Oracle's commercial features require the paid Java SE Universal Subscription, which is priced per employee across the whole workforce. The same deployment that costs nothing on OpenJDK can cost a six or seven figure annual sum on Oracle JDK, a gap quantified in the Java pricing guide.

OpenJDK distributions versus Oracle JDK
DimensionOpenJDK distributionsOracle JDK
LicenceOpen source, GPL with Classpath ExceptionNFTC free window, then paid subscription
Commercial production costFreePer employee subscription
Core technologySame OpenJDK sourceSame OpenJDK source plus extras
Security updatesFree, vendor maintainedSubscription for older versions
Commercial featuresNot includedIncluded

The main OpenJDK distributions

There is no single OpenJDK product; there is a set of distributions, each a packaged build of the OpenJDK source maintained by a different vendor or community. The leading options for enterprise use share the essential property of being free for commercial use while differing in support model and platform focus.

  • Eclipse Temurin, from the Adoptium project, is the vendor neutral community standard, widely adopted and broadly certified.
  • Amazon Corretto is Amazon's distribution, free and supported, with long term support and tight integration into AWS environments.
  • Microsoft Build of OpenJDK is Microsoft's distribution, free and supported, favoured in Azure and Windows centric estates.
  • Azul Zulu offers a free community build alongside commercially supported tiers for organisations that want a paid support contract without Oracle's employee metric.
  • Red Hat build of OpenJDK is integrated with Red Hat subscriptions and common in Red Hat Enterprise Linux estates.

The choice among them is a function of platform, existing vendor relationships, and whether the organisation wants free community support or a paid support contract from a non Oracle vendor. None carries an Oracle subscription, and selecting between them is part of the migration work rather than a barrier to it.

Support and update lifecycles

A common objection to leaving Oracle is the fear of losing support and security updates, and it does not survive contact with the facts. The major OpenJDK distributions publish regular security updates aligned to the quarterly Java patch cycle, and several provide long term support for designated releases for as long as or longer than Oracle's free window. The vendors maintaining these streams, Amazon, Microsoft, Red Hat, Azul, and the Adoptium community, are well resourced and have a direct interest in keeping the platform secure.

For organisations that require a contractual support relationship with a named throat to choke, paid support is available from several of these vendors without any per employee Java charge. The result is that an enterprise can have commercial grade support for Java from a reputable vendor while owing Oracle nothing, which removes the last common reason cited for staying on the Oracle subscription. Where Oracle has already raised a compliance question, the response follows the same path as any Java audit matter.

The commercial feature exceptions

The honest qualification to all of the above is the small set of Oracle commercial features, capabilities historically available only in Oracle JDK and not in the open source builds. Over time many such features have been contributed to OpenJDK and are now freely available, but a residual set remains Oracle specific, and an application that genuinely depends on one of them cannot simply move to a free distribution without addressing that dependency.

In practice these dependencies are rare, and most organisations discover on inspection that they use none of them. The discipline is to check, during the classification step of a migration, not only which Java is installed but whether any Oracle only feature is actually invoked, because a free runtime that still calls a commercial feature leaves exposure. This is one of the specific checks our Java advisory service performs before certifying an estate as Oracle free.

The buyer side view

The practical takeaway is that the choice between OpenJDK and Oracle JDK is, for most enterprises, a choice between free and paid versions of the same technology. The platform is shared, the performance is equivalent, free distributions are supported and secured by reputable vendors, and the only genuine technical lock in is a narrow set of commercial features that most organisations do not use. Once that is understood, the per employee subscription stops looking like a necessity and starts looking like a decision that needs justifying.

Verify that your applications do not depend on Oracle commercial features, select a supported OpenJDK distribution that fits your platform, and treat the subscription as something to be paid only where a specific, identified requirement makes it unavoidable. For the majority, that requirement does not exist. Read the Java licensing pillar for the full landscape, the migration playbook for the move itself, and the Universal Subscription guide to understand exactly what you would be declining to pay for.

OpenJDK vs Oracle JDK: frequently asked questions

Is OpenJDK the same as Oracle JDK?

Functionally they are nearly identical, because Oracle JDK is built from the OpenJDK source. For the vast majority of applications the behaviour, APIs, and performance are equivalent. The differences are in licensing, support, and a small set of Oracle commercial features, not the core platform. See the Java licensing pillar.

Is OpenJDK free for commercial use?

Yes. Distributions such as Eclipse Temurin, Amazon Corretto, and the Microsoft Build of OpenJDK are released under an open source licence permitting free commercial and production use, with no Oracle subscription and no per employee charge. This is the basis of the migration case.

Does OpenJDK get security updates?

Yes. The major distributions publish regular security updates and long term support for designated releases, maintained by Adoptium, Amazon, Microsoft, Azul, and Red Hat, often for longer than Oracle's free window. The pricing being avoided is set out in the Java pricing guide.