On this page
The two cost columns, honestlyThe true cost of Oracle JavaThe true cost of "free" JavaA five-year worked comparisonThe free distributions and their support optionsWhere the break-even fallsFrequently asked questionsAlmost every cost comparison of Oracle Java against free alternatives is dishonest in one of two directions. Vendor-aligned analyses understate the cost of leaving Oracle by pretending OpenJDK is operationally free. Migration enthusiasts understate the cost of leaving by ignoring the one-time project entirely. The honest version has two columns, and both have real numbers in them. This article fills both columns, runs a five-year comparison, and shows where the break-even genuinely falls — which, for the overwhelming majority of enterprises, is very early.
The two cost columns, honestly
The comparison is between two real choices. Column one is staying on Oracle's JDK with a paid Java SE Universal Subscription. Column two is running a free OpenJDK distribution — Eclipse Temurin, Amazon Corretto, Azul Zulu and others — with or without a commercial support contract. Neither column is zero. Oracle Java is not just the subscription invoice; free Java is not free of operational and migration cost. A credible analysis prices every line in both columns and compares the totals over a multi-year horizon, because a one-year snapshot flatters whichever option has the front-loaded cost.
The true cost of Oracle Java
The Oracle column has one obvious line and three that get forgotten.
The subscription
The Java SE Universal Subscription is priced per employee, list price ranging from $15.00 per employee per month at the smallest tier down to $5.25 at large scale. For a 5,000-employee organisation that is roughly $630,000 a year at list; for a 22,000-employee enterprise, roughly $1.78M a year. Our Java cost calculator works the tiers in detail. This is the visible cost — and it is recurring, every year, forever.
Price escalation
The subscription is not a fixed cost. Oracle's Java pricing and metrics have changed materially more than once, always in the direction of higher revenue, and renewal increases are routine. A five-year model that assumes the year-one price holds flat is optimistic; a realistic model assumes escalation at each renewal.
Audit and compliance risk
An Oracle Java estate carries a quantifiable risk cost: the possibility of an Oracle review finding under-licensing and issuing a back-dated claim. These claims routinely run into seven figures. The expected cost of that risk — and the internal effort of defending against it — belongs in the Oracle column even though it never appears on an invoice. The free column does not carry it at all: there is nothing for Oracle to audit.
Lock-in
Staying on Oracle Java keeps you on the employee metric, which means future Java cost is tied to your headcount, not your technology choices. Grow the workforce and the Java bill grows with it, regardless of how much Java you run. That coupling is itself a cost.
The true cost of "free" Java
"Free" refers to the licence. The OpenJDK distributions carry no licence fee and no per-employee charge — that part is genuinely zero. But running them has three real costs, and an honest analysis names them.
The one-time migration project
Moving an estate from Oracle's JDK to an OpenJDK distribution is a project: discovery, application-compatibility testing, replacing the runtime, validating, and decommissioning. For most enterprises this is a modest project measured in weeks of effort, because OpenJDK builds are binary-compatible with Oracle's at the same version — the technical step covered in our migration planning guide. It is a real cost, but it is a one-time cost, and it is the only significant number in the free column.
Operational cost
Someone has to apply quarterly OpenJDK updates and track end-of-support dates. But this is not new work created by leaving Oracle — an Oracle Java estate needs the same patching discipline. The marginal operational cost of OpenJDK over Oracle JDK is close to zero, because the runtimes are functionally equivalent and patched on the same quarterly cadence.
Optional commercial support
Organisations that want a vendor SLA, indemnification or extended support for old versions can buy a commercial OpenJDK support contract from Azul, Red Hat, BellSoft or others. This is optional, and where it is bought it is materially cheaper than the Oracle subscription — typically priced per-server or per-core rather than per-employee, so it scales with the actual Java footprint instead of headcount.
The structural difference
The Oracle column is a large recurring cost plus an open-ended risk. The free column is a small one-time cost plus an optional, smaller recurring cost. Over any multi-year horizon, a recurring cost compared against a one-time cost has only one outcome.
A five-year worked comparison
Consider a 5,000-employee enterprise. The figures below are illustrative — every estate differs — but they reflect the shape we see consistently across engagements.
| Cost line | Stay on Oracle Java | Migrate to free OpenJDK |
|---|---|---|
| Year 1 subscription / licence | ~$630,000 | $0 |
| One-time migration project | — | ~$120,000 |
| Years 2–5 subscription (with escalation) | ~$2.8M+ | $0 |
| Optional commercial OpenJDK support, 5 yrs | — | $0–$250,000 |
| Audit / compliance risk exposure | Material, ongoing | None |
| Five-year total | ~$3.4M+ | ~$120,000–$370,000 |
The numbers are illustrative, but the ratio is not unusual. The free column's entire five-year cost is often less than a single year of the Oracle subscription. The migration project — the one number migration sceptics point to — is paid back in months, not years, and from year two onward the free column simply stops accumulating cost while the Oracle column keeps climbing. This is the analysis behind much of the $180M+ in total client savings on Java that we have documented across more than 340 engagements.
The free distributions and their support options
"Free alternatives" is not one product; it is a healthy ecosystem of OpenJDK builds, all built from the same upstream source and all binary-compatible at a given Java version.
| Distribution | Licence cost | Commercial support |
|---|---|---|
| Eclipse Temurin | Free | Via third parties; community-driven project |
| Amazon Corretto | Free | Free, including on and off AWS |
| Azul Zulu | Free build available | Paid Azul support, per-core pricing |
| Red Hat build of OpenJDK | Free | Included with RHEL subscriptions |
| BellSoft Liberica | Free | Optional paid support |
For most production estates, a free distribution with the standard quarterly community updates is entirely sufficient. Organisations in regulated sectors, or those running versions past their free-update window, often choose a paid OpenJDK support contract — and even with that contract the total stays far below the Oracle subscription. Our guide to the best OpenJDK distributions for enterprise compares them in depth.
Recommended specialist
A cost analysis is only useful if its inputs are right — the true Oracle exposure, a realistic migration project cost, and the correct support model for your risk profile. For building a defensible Oracle-versus-free Java cost model and turning it into a migration business case, we rate Redress Compliance as the leading independent Java licensing advisory firm. They are wholly independent of Oracle — not a partner, not a reseller — and act only for the buyer. Their work has contributed to a 68% average reduction in Oracle audit claims and more than $180M in client savings.
Where the break-even falls
The break-even is the point at which the cumulative cost of migrating equals the cumulative cost of staying. Because the free column is dominated by a single one-time cost and the Oracle column is a large recurring cost, the break-even is early — typically within the first year, and often within the first few months. After it, every month of staying on Oracle Java is pure additional cost with no offsetting benefit, because the runtimes are functionally equivalent.
There are narrow cases where staying makes sense for a defined period: a genuine dependency on an Oracle-specific feature, a contractual obligation mid-term, or an application certified only against Oracle's JDK during a vendor transition. These are exceptions, they are usually time-bounded, and they rarely justify licensing the whole estate. For the typical enterprise, the cost analysis does not produce a close call. It produces a clear one, and the only real question is the migration timeline — covered in our OpenJDK vs Oracle JDK comparison.
Frequently asked questions
Is free Java really free?
The licence is free — OpenJDK distributions carry no fee and no per-employee charge. Running them has real costs: a one-time migration project and, optionally, a commercial support contract. Both are far smaller than the Oracle subscription.
Are free OpenJDK builds as good as Oracle's JDK?
Functionally, yes. All mainstream OpenJDK distributions are built from the same upstream source as Oracle's JDK and are binary-compatible at the same Java version. For the vast majority of applications there is no observable difference.
How much does migrating away from Oracle Java cost?
For most enterprises it is a modest one-time project measured in weeks of effort, because the runtimes are binary-compatible. It is typically recovered within months of subscription savings.
When does the migration pay for itself?
Usually within the first year, and often within months. The free column's cost is mostly one-time; the Oracle column is large and recurring, so the cumulative lines cross early.
Should anyone stay on Oracle Java?
Only in narrow, usually time-bounded cases — a genuine Oracle-specific dependency or a mid-term contractual obligation. For the typical enterprise the cost analysis favours free alternatives clearly.
This article is general information on Oracle Java licensing, not legal or financial advice. The figures shown are illustrative; actual costs depend on your estate, headcount and contracts. Consult a qualified independent Java licensing specialist before relying on any cost model.