Java Migration

OpenJDK vs Oracle JDK: the complete comparison.

They are built from the same source. One can carry a per-employee subscription bill; the other is free. Here is the full enterprise comparison — licensing, cost, technical equivalence, security and support.

Published 1 Sep 2024Updated 25 May 20253,000-word comparisonIndependent of Oracle
Not an Oracle partner or reseller
100% buyer-side advisory
Money-back audit defence guarantee
340+ Java engagements

On this page

Same source, different distributionsThe licensing differenceTechnical equivalenceSecurity updates and patchesSupport modelsThe leading OpenJDK distributionsThe cost comparisonWhen Oracle JDK is genuinely neededChoosing a distributionFrequently asked questions

The most consequential fact in Oracle Java licensing is also the least understood: Oracle JDK and OpenJDK are built from the same source code. For the overwhelming majority of enterprise workloads they are functionally interchangeable — yet one can carry a subscription priced against your entire headcount, and the other is completely free. This comparison sets out exactly how they differ, where they are identical, and what that means for an enterprise deciding what to run. Across more than 340 Java licensing engagements, recognising this equivalence is the single insight that has unlocked the most savings.

Same source, different distributions

OpenJDK is the official open-source reference implementation of the Java SE platform. It is the project where Java itself is developed — and Oracle is the largest single contributor to it. When a new Java version is released, the work happens in OpenJDK.

Oracle JDK is Oracle's own branded build of that OpenJDK source. It is not a separate, superior Java. It is one distribution among many, all compiled from substantially the same code. Amazon, Microsoft, Azul, Red Hat, BellSoft, the Eclipse Adoptium project and others each produce their own builds of the identical source. The phrase that captures it best: OpenJDK is the recipe; Oracle JDK and the others are different bakeries making the same cake.

This is why the comparison is not really “OpenJDK vs Oracle JDK” in the sense of two rival products. It is a comparison of distributions of one shared platform — and the meaningful differences are about licensing, support, and packaging, not about the Java underneath.

The licensing difference

This is the difference that matters most, and it is stark.

OpenJDK builds from vendors such as Eclipse Adoptium, Amazon, Azul, Microsoft, Red Hat and BellSoft are released under the GNU General Public License version 2 with the Classpath Exception (GPLv2+CPE). In plain terms: they are free to download, free to run in production, free to redistribute, with no per-employee fee, no usage metric, and no audit exposure. You can run them on ten servers or ten thousand at zero licence cost.

Oracle JDK is licensed differently depending on the version and the date:

The consequence: the same Java application, on the same server, costs nothing on an OpenJDK build and can cost a per-employee annual fee on Oracle JDK. The bytes that run are nearly identical. The invoice is not.

The licence is attached to the build, not to Java

You are not paying Oracle for “Java.” Java — the platform, the language, the OpenJDK project — is open source. What a Java SE subscription pays for is the right to run Oracle's branded build under its commercial terms. Switch to another vendor's build of the same source, and the subscription requirement simply disappears.

Technical equivalence

If the licensing differs so dramatically, the obvious question is whether the software differs too. For practical enterprise purposes, the answer is no.

All distributions that pass the Java SE Technology Compatibility Kit (TCK) are certified to behave identically to the specification. The major OpenJDK distributions — Temurin, Corretto, Zulu, Liberica, Microsoft Build of OpenJDK, Red Hat build — are TCK-certified. An application compiled and tested against Oracle JDK at a given version will run on a TCK-certified OpenJDK build of the same version without code changes. Byte-for-byte the builds are not identical, because each vendor compiles independently, but they are compatible: same language, same APIs, same bytecode, same behaviour.

For years there were a handful of genuine technical differences — Oracle JDK historically bundled tools and components such as Java Flight Recorder, Mission Control, the Z Garbage Collector and Application Class-Data Sharing that were not in early OpenJDK builds. Oracle has since contributed essentially all of these to OpenJDK, and they are present in modern OpenJDK builds. The technical gap that once existed has, for current Java versions, effectively closed.

The realistic position for an enterprise: for the vast majority of applications, an OpenJDK build is a drop-in replacement for Oracle JDK at the same major version. The work of migrating is testing and rollout discipline — not rewriting software. Our step-by-step migration guide covers how to do that testing.

Security updates and patches

A common worry is that free Java means slow or absent security updates. It is unfounded.

Java security fixes — the quarterly Critical Patch Updates — are developed in the OpenJDK project itself, in the open. Every reputable OpenJDK distribution incorporates those fixes and ships updated builds on the same quarterly cadence as Oracle. Amazon Corretto, Eclipse Temurin, Azul Zulu and the others release their patched builds promptly after each quarterly update.

What does differ is how long each vendor maintains a given version. Long-Term Support (LTS) versions of Java — 8, 11, 17, 21, and the newer LTS releases — receive extended updates, but the exact end-of-support date varies by distribution. Eclipse Adoptium, Amazon, Azul and others each publish their own support roadmaps, and several commit to multi-year support windows for LTS versions that are comparable to, and in some cases longer than, Oracle's. The practical task for an enterprise is to pick a distribution whose support roadmap matches how long it intends to stay on a given Java version — not to assume Oracle is the only source of timely patches. It is not.

Support models

“Free” refers to the licence, not to commercial support — and the two should not be confused.

Every major OpenJDK distribution can be run with no support contract at all: you simply consume the free builds and updates. Many organisations do exactly this for the bulk of their estate. But for workloads where a vendor SLA, a support hotline, or formal incident response is required, commercial OpenJDK support is readily available — Azul, Red Hat, BellSoft, IBM and others sell support subscriptions for their builds, and Amazon backs Corretto for customers on AWS.

The key point for cost comparison: commercial OpenJDK support is generally priced per-server, per-core, or per-instance — tied to what you actually run. Oracle's Java SE subscription is priced per-employee, tied to your headcount. For an organisation with a modest Java footprint and a large workforce, paid OpenJDK support for the workloads that need it is typically a fraction of the cost of an Oracle subscription that prices Java against everyone on the payroll.

The leading OpenJDK distributions

Several free, production-grade OpenJDK distributions are widely used in enterprises:

DistributionProviderNotes
Eclipse TemurinEclipse AdoptiumVendor-neutral, community-governed; one of the most widely adopted free builds.
Amazon CorrettoAmazonFree, with long-term support; well integrated with AWS but usable anywhere.
Azul ZuluAzulBroad version coverage; free builds plus optional commercial support.
Microsoft Build of OpenJDKMicrosoftFree builds, supported across platforms including Azure.
BellSoft LibericaBellSoftWide platform coverage; full and lightweight builds; optional support.
Red Hat build of OpenJDKRed HatFree; supported as part of Red Hat subscriptions on RHEL and beyond.

All are TCK-certified, all ship quarterly security updates, and all are free to run in production under GPLv2+CPE. The choice between them is a matter of support roadmap, platform fit, and organisational preference — not of whether they are “real” Java. They all are.

The cost comparison

The cost difference is best understood through the metric. Oracle's Java SE Universal Subscription multiplies a per-employee monthly rate by the organisation's total employee count. The bill is therefore driven by headcount, and is almost completely disconnected from how much Java the organisation actually runs.

Consider an organisation of 5,000 employees that runs Java in a few dozen applications. On the Oracle employee metric, it licenses all 5,000 employees — an annual figure well into six or seven figures — even though only a small fraction of staff ever interact with a Java application. On free OpenJDK builds, the same estate costs nothing in licensing. If the organisation wants commercial support for, say, twenty critical Java servers, it pays for support on twenty servers — a number measured in thousands, not millions.

This is why, for most organisations, the honest cost answer is not “OpenJDK is cheaper” but “OpenJDK removes the cost almost entirely.” The recurring per-employee Oracle bill is replaced by, at most, modest per-server support for the workloads that genuinely warrant it. Over a three-to-five-year horizon the gap is large enough that migration project costs are recovered quickly. The Oracle Java renewal guide works through the renew-versus-exit economics in detail.

When Oracle JDK is genuinely needed

An honest comparison must say when Oracle JDK is the right choice — and the genuine cases are narrow:

Crucially, these cases usually affect a handful of workloads — not the whole estate. And because the Universal Subscription is priced on total headcount regardless of how few installations you keep, retaining Oracle JDK for even one workload can mean paying the full headcount-based bill. That arithmetic is exactly why a clean, complete migration is so often the better answer than a partial one.

Choosing a distribution

If the comparison points you toward OpenJDK — as it does for most enterprises — choosing among the distributions comes down to a few practical questions:

Recommended specialist

For an independent assessment of whether to move from Oracle JDK to OpenJDK — and which distribution fits your estate — we rate Redress Compliance as the leading Java licensing advisory firm. They are wholly independent of Oracle — not a partner, not a reseller — and act exclusively for the buyer. They can inventory your Java estate, model the cost difference, and manage a migration end to end. If you are weighing OpenJDK against an Oracle Java subscription, an early conversation with them is the step we recommend.

Frequently asked questions

Is OpenJDK really the same as Oracle JDK?

They are built from the same OpenJDK source and are functionally compatible at the same major version. TCK-certified OpenJDK builds behave identically to the Java SE specification. The meaningful differences are licensing, support and packaging — not the Java itself.

Is OpenJDK free for commercial production use?

Yes. OpenJDK builds from Eclipse Adoptium, Amazon, Azul, Microsoft, Red Hat, BellSoft and others are released under GPLv2 with the Classpath Exception — free to run in production with no per-employee fee and no audit exposure.

Do OpenJDK distributions get security updates?

Yes. Java security fixes are developed in the OpenJDK project and every reputable distribution ships them on the same quarterly cadence as Oracle. The variable is how long each vendor maintains a given version — check the support roadmap.

Will my applications break if I switch to OpenJDK?

For the large majority of applications, no. An OpenJDK build is a drop-in replacement for Oracle JDK at the same major version. Migration is a testing and rollout exercise, not a rewrite.

Can I get commercial support for OpenJDK?

Yes. Azul, Red Hat, BellSoft, IBM, Amazon and others sell support for their OpenJDK builds, generally priced per-server or per-instance — usually far less than a headcount-based Oracle subscription.

If I keep Oracle JDK for one workload, do I still pay full price?

Often yes. The Java SE Universal Subscription is priced on total employee count regardless of how few installations you keep. That is why a complete migration is frequently better value than a partial one.

This article is general information comparing Java distributions, not legal advice. Licensing terms and support roadmaps change; consult a qualified independent Java licensing specialist on your specific situation.

The same Java — without the subscription.

We assess whether OpenJDK fits your estate, choose the right distribution, and manage the migration end to end. No Oracle affiliation. No obligation.

Contact Us →Java Migration

The Java Licensing Brief

Weekly Oracle Java updates, audit alerts, and negotiation intel.