How Java licensing got here
For most of its life, Java was free, and that history is the source of the confusion that now costs enterprises millions. When Sun Microsystems owned the platform, the Java runtime shipped on virtually every business machine on earth at no charge, and a generation of IT leaders internalised a simple fact: Java is free. Oracle acquired Sun in 2010, inherited that perception, and then spent the next thirteen years systematically converting it into a revenue line. The conversion was gradual, technical, and easy to miss, which is precisely why so many organisations are now exposed.
The first inflection came in 2019, when Oracle changed the licence on Oracle JDK so that commercial production use of version 8 and later required a paid Java SE subscription, sold on a per processor basis for servers and a Named User Plus basis for desktops. The second and far more consequential change arrived in January 2023, when Oracle retired those metrics for new customers and introduced the Java SE Universal Subscription, priced per employee. The shift from counting Java deployments to counting the entire workforce was the largest single change in the economics of Java, and it is the reason a company running Java on a dozen servers can now face a seven figure subscription quote.
This guide is the pillar for our full Oracle Java advisory practice. It sets out the licensing models, the metric mechanics, the pricing logic, and the audit triggers, then links down to detailed treatments of each: the Universal Subscription, the employee metric, subscription pricing, audit triggers, the OpenJDK alternative, the path to migrating off Oracle Java, and the legacy per processor subscriptions that many enterprises still hold.
Beyond those foundations, the cluster covers the deployment and distribution questions that decide real bills: Oracle Java licensing on VMware, Java licensing in the cloud across AWS, Azure, and GCP, the Java soft audit and how to respond to it, the free alternatives in Amazon Corretto and Azul Zulu, the time limited No Fee Terms and Conditions, and the legacy metrics that still matter, Named User Plus and per processor licensing.
The cluster also covers the version and governance questions that decide compliance: which Oracle Java versions require a licence, how to run continuous Java compliance and how to mount an Oracle Java audit defence, the practical levers for Java cost reduction and third party Java support, the licensing of Oracle GraalVM, and the free distribution choices in Eclipse Temurin and the Microsoft Build of OpenJDK.
Finally, the cluster goes deep on the deployment surfaces and renewal mechanics where exposure actually accumulates: Java container licensing across Docker and Kubernetes, desktop Java licensing for legacy end user applications, the deployment discovery that maps the estate before anyone negotiates, the Java true up that reconciles headcount growth at renewal, and the free certified runtime examined in the BellSoft Liberica comparison.
Is Oracle Java free or paid?
The single most expensive misconception in Java licensing is that Java is either entirely free or entirely paid. It is neither. The cost depends on three things together: which distribution you run, which version it is, and what you use it for. The same line of Java code can be free on one machine and licensable on the one next to it, and the difference lives in the binary, not the application.
Oracle ships two materially different things. Oracle JDK is Oracle's own build, and since 2021 recent feature releases are available under the No-Fee Terms and Conditions licence, which permits free use, including commercial and production use, for a defined window after each release. When that window closes, or if you need the long term support updates Oracle publishes for older versions, the free licence no longer applies and a paid subscription is required. OpenJDK is the open source reference implementation, available from Oracle and from many other vendors, and the builds from those other vendors are free under an open source licence with no Oracle subscription attached at all.
The question is never whether Java is free. It is which Java, which version, and to do what. Get those three right and the bill frequently disappears.
The trap is the Oracle Technology Network licence that governs older Oracle JDK downloads, and the security updates Oracle publishes for them. An enterprise that downloaded Oracle JDK 8 years ago, kept patching it, and never noticed the licence change is, in Oracle's reading, a commercial user requiring a subscription. Because the employee metric now applies, that single legacy install can pull the entire workforce into scope. Distinguishing free builds from licensable ones across a real estate is the first task of any Java engagement, and it is covered in depth in the OpenJDK versus Oracle JDK comparison.
The Java SE Universal Subscription
The Java SE Universal Subscription is Oracle's current and, for new buyers, only Java licensing product. Introduced in January 2023, it bundles the entire Java SE platform, all the components Oracle previously sold as separate desktop and server subscriptions, into a single offering with one defining characteristic: it is priced per employee. The word Universal refers to the deployment scope. A single subscription covers Java wherever it runs in the organisation, on desktops, on servers, in the data centre, and in any cloud, with no separate counting of installations or processors.
On the surface that simplicity is appealing. In practice it is the mechanism by which Oracle decoupled the price of Java from the amount of Java a customer actually runs. Under the prior model, a customer with a small Java footprint paid a small bill, because the bill scaled with processors. Under the Universal Subscription, the bill scales with headcount, so an organisation of fifteen thousand employees pays for fifteen thousand employees regardless of whether Java runs on five servers or five hundred. The detailed mechanics, including what the subscription includes and how it interacts with cloud deployments, are set out in the Universal Subscription guide.
For the large majority of enterprises that adopted Java when it was free and never built a Java centric business, the Universal Subscription represents a dramatic increase in cost for no change in usage. That economic reality is the engine behind the surge in migrations away from Oracle Java, and it reframes the entire licensing conversation from how do we comply to whether we should be paying Oracle for Java at all.
What is the Oracle Java employee metric?
The employee metric is the heart of the Universal Subscription and the part buyers most consistently underestimate. It does not count Java users. It does not count Java developers. It does not count machines, processors, or installations. It counts your total workforce, and Oracle's definition of workforce is expansive by design.
Under Oracle's definition, the employee count includes all full time, part time, and temporary employees, plus the full time, part time, and temporary employees of your agents, contractors, consultants, and outsourcers who support your internal business operations. A retailer with eight thousand store staff who never touch a computer still counts those eight thousand people if it needs Java for a single back office server. The metric is, in effect, a tax on the size of the company rather than the size of the Java estate, and the gap between the two is where the cost shock lives.
| Population | Counts toward metric? | Note |
|---|---|---|
| Full and part time employees | Yes | Entire workforce, Java user or not |
| Temporary and seasonal staff | Yes | Included for the period employed |
| Contractors and consultants | Yes, if supporting operations | Agents and outsourcers in scope |
| Java developers only | Not a separate count | Cannot license developers alone |
| Servers or processors running Java | No | Deployment size is irrelevant to price |
| Number of Java installations | No | Universal scope, headcount based |
The practical consequence is that two organisations with identical Java deployments can face wildly different bills based purely on headcount, and the only lever that reduces the count is reducing the workforce in scope, which is rarely an option. This is why the rational buyer response is so often not to optimise the metric but to escape it, and why the employee metric analysis spends as much time on exit strategy as on compliant counting.
How Oracle Java subscription pricing works
Java SE Universal Subscription list pricing is tiered by employee band. The published list rate begins at fifteen US dollars per employee per month for the smallest organisations and steps down on a per employee basis as the band rises, so that very large enterprises pay a lower rate per head but a far larger total. Critically, the rate that applies is determined by the total employee count, and it is applied to every employee, not merely those above a threshold.
The arithmetic is unforgiving. An organisation of five thousand employees at a list rate in the region of ten to eleven dollars per employee per month is looking at roughly six hundred thousand dollars a year for Java, whether it runs Java on three servers or three hundred. Set against the prior per processor model, where the same three server deployment might have cost a small fraction of that, the increase is frequently tenfold or more. The full pricing tables, worked examples, and the negotiation levers that remain available are in the Java pricing guide.
Java is no longer priced on what you run. It is priced on how many people you employ. For most enterprises that single sentence rewrites the business case.
Discounting exists but is constrained, because the metric itself is the lever Oracle prefers to defend. Where discounts are available they tend to attach to multi year commitments and to bundling with other Oracle spend, which means a Java negotiation rarely stays about Java. It pulls in the customer's broader Oracle relationship, the database estate, and any cloud commitments, and the buyer who treats Java in isolation forfeits the leverage that comes from negotiating the whole picture at once.
Where Java audit findings come from
Oracle's Java compliance effort is unusually data rich because Oracle controls the download infrastructure. Every time a corporate user downloads Oracle JDK from Oracle's website, that download is logged against an IP address and frequently a corporate email domain, and Oracle's Java sales organisation uses that telemetry to target outreach. The result is a compliance motion that often begins not with a formal audit notice but with a friendly email asking to review your Java deployment, a soft audit that is no less consequential for its tone.
The findings themselves cluster into a small set of repeatable patterns, and recognising them in advance is the difference between a contained conversation and an open ended one. The most common is the legacy Oracle JDK that was downloaded and patched for years under the assumption it was free. The second is the bundled Java that arrives inside another vendor's product, where the redistribution licence does not extend to the customer's own use. The third is the expiry of a legacy per processor subscription that Oracle declines to renew on the old terms, forcing the customer onto the employee metric.
| Trigger | What Oracle asserts | Buyer side response |
|---|---|---|
| Oracle JDK download telemetry | Corporate domain downloaded licensable builds | Map downloads to actual deployment and licence terms |
| Legacy JDK 8 patched for years | Commercial use under OTN licence | Establish version, support use, and remediation path |
| Soft audit email | Request to review Java deployment | Control scope and channel before responding |
| Legacy subscription expiry | Renewal only on employee metric | Model migration against renewal cost |
| Bundled third party Java | Redistribution grant does not cover use | Read the host product licence carefully |
The unifying lesson is that Java findings are evidentiary and the evidence is largely in Oracle's hands before the conversation starts. The buyer side wins by establishing its own ground truth first, an independent inventory of every Java binary, its version, its source, and its licence basis, so that the response to Oracle is led by the customer's data rather than Oracle's telemetry. That discipline is identical in structure to broader Oracle audit defence, and the specific Java mechanics are detailed in the Java audit triggers guide.
OpenJDK and the migration option
The decisive fact about Java licensing is that, for the overwhelming majority of workloads, a fully free and fully supported alternative exists. OpenJDK is the open source implementation from which Oracle JDK itself is built, and multiple vendors publish production grade, long term supported OpenJDK distributions at no charge: Eclipse Temurin from the Adoptium project, Amazon Corretto, the Microsoft Build of OpenJDK, Azul Zulu Community, and Red Hat's builds among them. For most applications, replacing Oracle JDK with one of these is a binary substitution with no code change.
Because the alternative is free and functionally equivalent, the question for most enterprises is not whether Oracle Java is worth its price but whether there is any reason to pay for it at all. There are legitimate reasons in a minority of cases, specific commercial features, particular support requirements, or contractual obligations to third parties, but they are the exception. For the rest, a disciplined migration off Oracle Java eliminates the subscription requirement entirely. The comparison of distributions, support models, and the technical considerations is set out in the OpenJDK versus Oracle JDK guide.
The migration must be done properly to be defensible. A single remaining Oracle JDK binary, a forgotten build server, or a developer's local install can sustain an audit claim against the whole employee population, so the work is not merely to install a new runtime but to evidence the complete removal of Oracle's binaries and the absence of any Oracle commercial feature use. Done well, it is the rare licensing move that converts a recurring seven figure cost into zero.
Legacy Java SE subscriptions
Many enterprises still hold the pre 2023 Java SE subscriptions, the per processor and Named User Plus products Oracle sold between 2019 and the introduction of the Universal Subscription. Oracle has stopped selling these to new customers but continues to honour existing agreements, which creates a window of opportunity and a looming cliff. So long as the legacy subscription remains in force, the customer pays on the old, deployment based metric, which for a contained Java footprint is dramatically cheaper than the employee model.
The cliff is renewal. Oracle's clear commercial preference is to move legacy customers onto the Universal Subscription, and at renewal the customer may find the old metric is no longer offered, or is offered only with conditions. The strategic question for any holder of a legacy subscription is therefore not how to renew but what to do before renewal: whether to migrate to OpenJDK while the legacy agreement still provides cover, whether to negotiate an extension of the old terms, or whether to accept the employee metric as the price of staying with Oracle. The full treatment of options, timing, and negotiation is in the legacy Java SE subscription guide.
The buyer side view
The practical takeaway is that Java is now a strategic licensing decision rather than a routine renewal, and the buyer who treats it as routine pays the most. The Universal Subscription has decoupled price from usage and pinned it to headcount, which means the cost of staying with Oracle Java rises with the company and falls only if the company shrinks. For most organisations that is an irrational basis on which to buy a runtime that has a free, equivalent alternative, and the rational response is to escape the metric rather than optimise within it.
Begin with an independent inventory of every Java binary, its version, its source, and its licence basis, so that you hold the ground truth before Oracle frames it from download telemetry. Distinguish the free builds from the licensable ones. Model the employee metric cost honestly, including contractors and agents, and set it against the cost of a clean migration to a supported OpenJDK distribution. Where a legacy subscription is still in force, use the time it buys deliberately. And never negotiate Java in isolation, because its leverage lives in the broader Oracle relationship. The firms that approach Java this way routinely turn a threatened seven figure subscription into a managed migration project, and they do it before a soft audit email forces the timetable. To start on your own estate, begin with the Java advisory service or read the detailed Universal Subscription, employee metric, and migration guides beneath this pillar.
Oracle Java licensing: frequently asked questions
Is Oracle Java free to use?
Some Oracle Java is free and some is not, and the line is the build and the use. Recent Oracle JDK feature releases are free under the No-Fee Terms and Conditions licence for many uses, but commercial production support, older versions, and Oracle commercial features require a paid Java SE Universal Subscription. Most enterprises that believe their Java is free are wrong about at least one build.
What is the Java SE Universal Subscription?
It is Oracle's current Java licensing model, introduced in January 2023, priced per employee rather than per processor or per user. Every full and part time employee, plus most contractors, counts regardless of whether they ever touch Java. It is detailed in the Universal Subscription guide.
How does the Oracle Java employee metric work?
It counts your total workforce, all full, part time, and temporary employees plus the staff of agents and contractors who support your operations, not Java users or installations. A company of 5,000 with ten Java developers still licenses 5,000 employees. See the employee metric analysis.
Can I avoid the Oracle Java subscription by using OpenJDK?
In most cases, yes. Migrating to a free OpenJDK distribution such as Eclipse Temurin, Amazon Corretto, or the Microsoft Build of OpenJDK removes the requirement, provided no Oracle JDK binaries or commercial features remain. The migration must be complete and evidenced; see migrating off Oracle Java.
What triggers an Oracle Java audit?
Common triggers include Oracle JDK download telemetry tied to your domain, expiry of a legacy subscription, prior Oracle contact, a territory review, or a soft audit email from Oracle's Java team. The full list is in the Java audit triggers guide.
How is the Java SE Universal Subscription priced?
List pricing is tiered by employee count, starting near fifteen dollars per employee per month for the smallest band and falling per employee as volume rises, applied to the entire workforce. Worked examples are in the Java pricing guide.