Oracle Java Licensing Guide: JDK Cost Optimization for Enterprises
An enterprise guide to Oracle Java (JDK) licensing: which usage is paid, what the employee-based subscription means, migrating to OpenJDK builds (Temurin, Corretto) and audit readiness.
Does using Oracle Java cost money?
The answer depends on which distribution, which version and under which terms — and that ambiguity is one of the most expensive knowledge gaps in enterprises. The critical distinction: Java itself (the OpenJDK source base) is free and open; commercial use of Oracle's own JDK distribution, however, may require a paid subscription depending on version and conditions. This guide builds the path from inventory to decision to migration. An important note: license terms have been changed by Oracle over time and can change again — this framework structures your decision process; the final assessment belongs with current contract texts and, where needed, a licensing specialist.
A short history: why did the rules get so confusing?
The confusion comes from the rules changing several times. For many years Oracle JDK was effectively free in enterprise use; in 2019 commercial use was tied to a subscription; Oracle then introduced a more permissive no-fee license (NFTC) for certain current versions — but that permissiveness is bounded by version and time, and when the window closes, continuing to receive updates moves you to the paid side; in 2023 the subscription shifted to an 'employee-based' model. The result: JDK copies under different license regimes can coexist on different servers of the same enterprise — and most enterprises do not know which copy sits under which regime.
The employee-based model: why it changes everything
Where older models priced by usage scale (processors/users), the employee-based subscription prices by your total employee count — regardless of how many servers or people actually use Java. The practical consequence is stark: a large enterprise running Oracle JDK in a single internal application can, in theory, face a subscription obligation at the scale of the whole organization. This model eliminates the 'leave it on that one box, it will be fine' approach and makes the decision binary: either buy the Oracle subscription deliberately (with its support value), or clean the Oracle JDK footprint out entirely. In between is the riskiest place to stand.
Distribution options: the same Java, different packages
Distribution | Character | Evaluation note |
|---|---|---|
Oracle JDK | Oracle's commercial distribution | Support + long patch windows with subscription; terms vary by version |
Eclipse Temurin | Community (Adoptium) build | Widespread enterprise choice; free, regular updates |
Amazon Corretto | Amazon's free distribution | Long support commitment; usable inside and outside AWS |
Azul Zulu and others | Free base + paid support options | For enterprises wanting commercial support without Oracle |
The technical fact: all of these are built from the same OpenJDK source base and pass TCK compatibility testing — application behavior is practically identical. The decision is commercial, not technical: support needs, patch windows and license risk.
Inventory: the precondition of the decision
A sound decision starts with a complete inventory — and the Java inventory is wider than assumed: server applications, developer machines, CI agents, container images (the JDK inside the base image!), third-party products with embedded Java (ETL tools, application servers, monitoring agents) and desktop clients. Practically, discovery feeds from three sources: configuration/asset management, filesystem scanning (automated java -version), and container registry analysis. The output table must be crisp: where, which distribution, which version, which license regime, business criticality.
Migration: low-risk but disciplined
Moving to an OpenJDK-based distribution is among the lowest-risk operations in Java modernization — behavioral compatibility is high. It still demands discipline: distribution swap + regression/load tests in a test environment; changing only the distribution while keeping the JDK version fixed (never move two variables at once); verifying environment details like cryptography/certificate configuration and character sets; updating container base images and CI pipelines; and checking third-party support matrices (some commercial products mandate specific distributions). The phased approach from our legacy modernization article applies here too: start with non-critical systems, proceed in waves.
Audit readiness: documents, inventory, process
Software license audits (Oracle's included) are a fact of enterprise life. The prepared organization holds three assets: a current inventory (the table above, timestamped), a download/usage policy (who may install a JDK, from which source — one developer's habitual oracle.com download can contaminate a clean inventory), and migration evidence (dated records of the exit from Oracle JDK). Audit communication runs under legal/procurement coordination; the technical team supplies data, contract owners make commitments.
Business impact: a risk item becomes a budget item
This work ends in one of two scenarios, both healthy: a deliberate Oracle subscription (justified by support value, budgeted) or a full OpenJDK migration (license risk zeroed, patching planned via community/alternative support). The only unhealthy state is today's common one: no inventory, unclear regimes, open to audit surprises. In mid-to-large enterprises the price of that ambiguity is calculated at organization scale because of the employee-based model — while the migration project's cost is typically a small fraction of it.
Frequently asked questions
Is OpenJDK reliable enough for production?
Yes — the reference implementation is OpenJDK itself; major cloud providers and enterprises run OpenJDK-based builds in production. The question is not reliability but having a planned patch/support channel.
When is an Oracle subscription rational?
Genuine need for Oracle's support channel (critical case support), long patch needs on very old versions, or commercial terms bundled with Oracle product agreements. The decision should come from pricing those values — not from fear.
Where does GraalVM fit?
It is a separate product family with its own version/license structure (community and commercial forms). If you use native images, add it as its own line in the license assessment.
Is there risk if Oracle JDK exists only on developer machines?
Under the employee-based model's logic, the 'small exception' concept has weakened; policy clarity (a standard distribution on all machines, developers included) is the right practice for both audits and consistency.
Java licensing checklist
Full JDK inventory completed (servers, CI, containers, embedded, desktop)
Each copy tagged with distribution + version + license regime
Decision made: deliberate subscription or full OpenJDK migration
Migration waves planned; regression/load tests defined
Container base images and CI pipelines updated
Download policy published; inventory made a continuous process
Audit file ready: inventory + policy + migration evidence
SSH Yazılım runs Java inventory discovery, license risk assessment and OpenJDK migration projects end to end. Let us bring your Java costs under control together.