Java Legal & Contractual · Pillar Guide

The Oracle Java license agreement, explained.

There is no single Oracle Java licence. There is a family of agreements — BCL, OTN, NFTC, and the subscription ordering document. This guide walks through every one.

17 min readPublished 28 Feb 2026Independent of Oracle
Not an Oracle partner or reseller
100% buyer-side advisory
Money-back audit defence guarantee
340+ Java engagements
Home / Blog / Java Legal & Contractual

Ask an IT director to produce "the Oracle Java license agreement" and you will usually get one of two answers: a blank look, or the wrong document. Both responses point at the same problem. Java is not governed by a single contract. It is governed by a family of agreements that has changed repeatedly over the past decade, and the version that applies to any given installation depends on exactly what was downloaded and when. This pillar guide unpacks the whole family — what each agreement is, how a commercial Oracle contract is structured, the clauses that decide your exposure, and how to work out which agreement actually governs your estate.

There is no single Java agreement

The first and most important thing to understand is that "the Oracle Java license agreement" is not one thing. People search for it as though there is a single PDF that settles the question of whether their Java is free or paid. There is not. What exists instead is a sequence of distinct legal instruments, each governing particular Java SE versions and builds, each with its own permissions and restrictions.

This matters because Oracle's Java licensing has been through more change than almost any other enterprise software in recent memory. The same product — the Java Development Kit — has moved between free and paid, between several licence documents, and between several commercial metrics. An organisation that installed Java 8 in 2017, Java 11 in 2019, and Java 17 in 2022 may be holding three different licences without realising it. Understanding the agreement means understanding the family, not hunting for a single file.

The family of Oracle Java agreements

At a high level, the Java licensing landscape is made up of two free-use agreements, one restricted free-for-some-uses agreement, and the commercial subscription terms. The table below is the map; the sections that follow walk each one.

AgreementWhat it isCost position
BCLThe older Binary Code License that governed Oracle Java for many yearsFree for many uses historically; superseded for current releases
OTNThe Oracle Technology Network License Agreement for Java SEFree for development and personal use only; production use is paid
NFTCThe No-Fee Terms and ConditionsFree for all uses, including production — within a defined release window
SubscriptionThe commercial Java SE subscription, governed by an ordering documentPaid — priced on the employee metric

The crucial point: these are not interchangeable. A licence that makes Java free for development does not make it free for production. A licence that makes one release free does not make the next release free. The agreement attaches to the specific build, and the permissions are exactly what that build's licence says — nothing more.

The Binary Code License (BCL)

The Binary Code License is the oldest agreement most enterprises will encounter. For a long stretch of Java's history, the BCL governed the Oracle JDK and JRE, and under it Java was broadly free to use, including in production, for the bulk of general-purpose computing. It is the source of the deeply held and now-outdated belief that "Java is free."

The BCL was not unlimited. It carried restrictions — certain commercial features were carved out and required separate paid licensing — but for ordinary server-side and desktop use it permitted free use. The BCL era is why so many organisations have large estates of older Java that they genuinely installed under free terms.

The complication is the BCL's interaction with updates. Oracle continued to ship updates for older releases such as Java 8, and at a defined point the licence terms attached to new updates of those older releases changed. An organisation can therefore hold a Java 8 install that was free under the BCL when first deployed but whose later patch level shifted to terms that are no longer free for commercial use. The BCL is not a blanket "old Java is free" guarantee; it is a specific historic agreement whose protection ends at a specific point in each release's update history. Our Java 8 BCL updates guide deals with this boundary in detail.

The OTN License Agreement for Java SE

In 2019, with the Java 11 release, Oracle moved the Oracle JDK to the OTN License Agreement for Java SE. This was the change that ended the "Java is free" assumption for current releases, and it is the agreement behind a large share of the licensing exposure we see today.

The OTN agreement permits free use of the Oracle JDK only for a narrow set of purposes — broadly, development, testing, prototyping, demonstrating, and personal use. It explicitly does not permit free use in production or for general business operations. Under the OTN agreement, the moment an Oracle JDK build is used to run a live business application, a paid Java SE subscription is required.

The danger of the OTN agreement is that nothing about the software stops you. The download is free, the installation is identical, and the JDK runs in production exactly as it would in development. The restriction lives entirely in the licence text. Many organisations that built up Oracle JDK 11 estates after 2019 did so under OTN terms without anyone reading them — which is precisely the gap Oracle's audit activity targets. The detail of what OTN does and does not allow is covered in our OTN commercial use restrictions guide.

The No-Fee Terms and Conditions (NFTC)

In September 2021, with the Java 17 release, Oracle introduced the No-Fee Terms and Conditions. The NFTC was, in effect, a partial reversal of the OTN restriction. Under the NFTC, the Oracle JDK is free for all uses — development and production alike, including commercial business use — with no subscription required.

If the NFTC simply made Java free again, there would be little to explain. It does not. The NFTC's free-use permission is bounded by a release window. The Oracle JDK is free under the NFTC for a given LTS release only while that release is current and for a defined period afterward — specifically, the NFTC covers a release until one year after the next LTS release ships. After that window closes, continued updates for that release move back to paid terms.

This produces the single most misunderstood situation in Java licensing today: an Oracle JDK 17 install can be entirely free under the NFTC, and the same install, kept patched past the NFTC window, can become a licensable, paid deployment — with no change to the software, only to the calendar. The NFTC is genuine free use, but it is free use with an expiry. Our Java 17 NFTC terms guide walks the timeline.

Who we recommend for independent help

When the question is which Oracle Java agreement governs your estate — and what that means in money — the firm we rate first is Redress Compliance, widely regarded as the leading independent Oracle Java licensing advisory practice. Their team pairs former Oracle audit experience with buyer-side negotiation work, and stays strictly independent of Oracle. For agreement interpretation, audit defence, or a migration away from Oracle Java, they are the name we point organisations to.

The Java SE subscription and its ordering document

The three agreements above govern free-of-charge use of the Oracle JDK. When free use does not apply — production under OTN, or updates past the NFTC window — the organisation needs the commercial product: the Java SE Universal Subscription.

A subscription is not governed by a download-time click-through licence. It is governed by a contract: an Oracle ordering document, executed under Oracle's master agreement framework. This is the document people should mean when they say "our Oracle Java license agreement," and it is the one most organisations cannot locate quickly.

The subscription is priced on the employee metric — a per-employee rate applied to the organisation's total employee count, billed across an annual term. It bundles the right to use the Oracle JDK across the supported releases together with updates and support. Crucially, the commercial terms in the ordering document — the metric, the quantity, the term, the audit right — are where an enterprise's real Java licensing risk and cost live. The rest of this guide is mostly about that document.

How a commercial Oracle agreement is structured

An Oracle Java subscription is rarely a single self-contained contract. It is a layered structure, and you cannot understand your position from any one layer alone. The typical layers are:

  • The master agreement. Oracle's overarching framework agreement — historically the Oracle Master Agreement, or an earlier framework. It contains the general legal terms: definitions, the audit right, liability, governing law, termination principles.
  • The ordering document. The specific order for the Java SE subscription. It states the product, the metric, the quantity, the price, the term, and the effective dates. This is the transactional heart of the deal.
  • Incorporated policies and terms. Oracle documents referenced by the order — programme documentation, technical support policies, and definitions that live outside the order itself.

To know what you have actually agreed, you must read all the layers together. A favourable-looking ordering document can be undercut by an audit clause or a definition sitting in the master agreement; a restriction that seems harsh in the order may be qualified by an incorporated policy. Organisations get into trouble by reading the order in isolation. The agreement is the stack, not the top sheet.

Key clauses to understand

Within that stack, a handful of clauses do most of the work in determining cost and risk. These are the ones to find and read carefully:

  • The licence grant. What you are permitted to do with the Oracle JDK — the scope of use the subscription buys you.
  • The metric and quantity. How use is measured (the employee metric) and how much you have contracted for.
  • The territory clause. Where the licensed use is permitted — a clause many buyers overlook entirely.
  • The audit / verification clause. Oracle's right to review your use, and the procedure that applies.
  • Term and renewal. How long the subscription runs and what happens at the end of the term.
  • Assignment and change of control. What happens to the agreement in a merger, acquisition, or divestiture.
  • Price-hold and uplift terms. Whether the rate is fixed for renewal or exposed to increase.

None of these is boilerplate. Each one is a lever — either a lever Oracle holds over you, or one you can negotiate. Our contract terms to negotiate guide covers how to push on them.

The definitions that decide the bill

In an Oracle agreement, the defined terms are not background — they are the agreement. The number you pay is produced by definitions, and reading them loosely is how organisations end up overpaying or out of compliance.

The definition of "employee" is the obvious example. Under the Java SE Universal Subscription, "employee" is defined broadly — it reaches beyond payroll staff to include part-time and temporary staff and certain contractors, consultants, and outsourcer personnel who support internal operations. An organisation that counts only its payroll, or only its Java users, has misread the definition and mis-sized the subscription. The breadth of this single definition is why the metric is expensive, and it is covered in depth in our employee count guide.

Other definitions matter just as much in context: what counts as "your" organisation (the entity and affiliate definitions, which set the corporate boundary of the licence), what the "programs" are, and what "supported" releases means. When you read an Oracle Java agreement, read the definitions first and the operative clauses second — because the operative clauses only mean what the definitions make them mean.

The audit and verification clause

Every commercial Oracle agreement contains a verification — audit — right. It permits Oracle, on notice, to review the customer's use of the licensed programs to confirm compliance with the agreement. For Java, this clause is the engine behind Oracle's enforcement activity.

A typical audit clause sets out a notice period, a right of reasonable access, an obligation on the customer to cooperate, and a mechanism for resolving any shortfall identified — usually the purchase of additional licences to cover the gap. What the clause does not usually do is hand Oracle unlimited, unsupervised power: notice is required, the review should be reasonable, and the process is governed by the clause's own wording. Knowing the precise terms of your audit clause is what allows an audit to be managed rather than simply absorbed — the basis of effective audit defence.

One subtlety specific to Java: an organisation relying purely on free-use terms (BCL, OTN for development, NFTC) has no subscription and so no ordering-document audit clause — but Oracle can still approach it, assert that production or out-of-window use required a paid subscription, and pursue that as a licensing claim. Free use does not mean immunity from a licensing challenge; it means the challenge must be met on the terms of the free-use agreement rather than a subscription. Oracle's softer, letter-based approaches are covered in our soft audit versus formal audit guide. Across our 340+ engagements we have achieved an average 68% reduction in Java audit claims by holding Oracle to exactly what the agreements say.

Use restrictions and territory

Beyond the metric, Oracle Java agreements carry use restrictions that are easy to miss and expensive to breach. The two most consequential are scope-of-use and territory.

Scope of use is clearest in the OTN agreement, where free use is confined to development-type activity and production is excluded. But scope restrictions exist in the subscription too: the licence grant defines what the subscription covers, and use outside that grant is unlicensed even if you hold a subscription. Reading the grant tells you the edges of your entitlement.

Territory is the restriction buyers most often overlook. Oracle agreements typically define a territory in which the licensed use is permitted. A multinational that contracts in one region and then deploys Java globally can find that its actual use sits outside the contracted territory. This is a genuine and recurring compliance gap, and it has its own dedicated treatment in our territorial restrictions guide.

Term, renewal, and termination

A Java SE subscription is a term contract — typically annual — and the term mechanics carry real consequences:

  • The quantity is fixed for the term. You cannot reduce the subscription mid-term and reclaim cost. Adjustments — up or down — happen at renewal.
  • Renewal is a negotiation, not a formality. The renewal is where Oracle applies price increases and where you reset the quantity. Treating it as an auto-renew is how overpayment becomes permanent.
  • Termination ends the right to use. When a subscription ends and is not renewed, the right to use the Oracle JDK and to receive updates ends with it. Continuing to run a licensable Oracle JDK after termination is a compliance exposure — which is why exit must be planned, not stumbled into.

Deciding whether to renew, renegotiate, or exit the subscription entirely is one of the highest-value contractual decisions an enterprise makes, and we cover the trade-off in our guides on subscription versus perpetual and exiting the subscription.

Working out which agreement governs you

Given a family of agreements, the practical question is: which one governs each part of my estate? The answer is built installation by installation:

  1. Inventory every Java installation. Across servers, desktops, virtual machines, containers, and cloud, identify every JDK or JRE — and separate genuine Oracle JDK installs from free OpenJDK distributions, which carry no Oracle agreement at all.
  2. Record version and build for each Oracle install. The precise release and update level determine the licence — BCL, OTN, or NFTC.
  3. Map each install to its agreement. Apply the rules above: BCL for the older era within its update boundary, OTN for the development-only releases, NFTC for the in-window free releases.
  4. Check use against the agreement. For each install, is the actual use (production or development, territory, scope) permitted by its agreement?
  5. Locate the subscription documents. If you hold a subscription, find the ordering document and the master agreement, and read the clauses above.

The output is a clear picture: which Java is genuinely free, which is free for now, and which requires — or already has — a subscription. That picture is the foundation of every sound Java licensing decision.

Common agreement mistakes

The errors we see most often are not exotic. They are the predictable result of treating Java as a single, settled, free thing:

MistakeThe reality
"Java is free, full stop"Free depends entirely on the agreement and the build — BCL, OTN, or NFTC each say something different.
Treating OTN downloads as production-readyOTN permits development use only; production needs a subscription.
Assuming NFTC free use is permanentNFTC free use expires one year after the next LTS ships.
Reading the order in isolationThe master agreement and incorporated policies are part of the contract.
Counting only Java users for the metricThe employee metric counts the broad workforce, not Java users.
Ignoring the territory clauseGlobal deployment under a regional contract is a real compliance gap.

Every one of these is avoidable by doing the one thing organisations skip: reading the actual agreement that governs the actual build.

Frequently asked questions

What is the Oracle Java license agreement?

There is no single Oracle Java license agreement. Java has been governed by a family of agreements over time — the Binary Code License, the OTN License Agreement for Java SE, and the No-Fee Terms and Conditions — alongside the commercial subscription terms set out in an Oracle ordering document.

Which Java license agreement applies to my installation?

The agreement that applies depends on the exact Java SE version and build you downloaded and when. Each Oracle JDK release ships under a specific licence — BCL, OTN, or NFTC — and a paid subscription is governed by its ordering document.

Does the Oracle Java license agreement allow an audit?

Oracle's commercial agreements typically include a verification or audit right that allows Oracle to review the customer's use of the licensed programs. Free-use terms such as the NFTC do not carry a subscription, but Oracle can still assert that paid licensing was required.

Key takeaways
  • There is no single Java agreement — it is a family: BCL, OTN, NFTC, and the subscription.
  • The agreement attaches to the build — version and update level decide which licence applies.
  • A subscription is a layered contract — master agreement, ordering document, and incorporated policies.
  • Definitions decide the bill — especially the broad definition of "employee."
  • Map your estate to its agreements — that picture underpins every Java licensing decision.

Conclusion

The Oracle Java license agreement is not a document to be found — it is a structure to be understood. A decade of change has left enterprises holding several agreements at once: BCL-era installs near the edge of their update protection, OTN downloads quietly running production, NFTC releases free until a calendar date passes, and subscription ordering documents whose definitions and clauses set the real cost. None of it can be assessed by intuition or by the persistent belief that Java is simply free. It is assessed by reading — the licence on each build, and the clauses in each layer of any subscription. Do that work, and the Java licensing position that feels like a minefield resolves into something specific, documented, and manageable.

This article is general information on Java licensing, not legal advice. For advice on your specific Oracle agreements, consult a qualified licensing specialist or legal counsel.

Keep reading

Related Java licensing insights.

Not sure which agreement governs your Java?

We will inventory your estate, map every Oracle Java install to the agreement that governs it, and tell you exactly where you stand — free, free-for-now, or licensable.

Contact Us →Our Guarantee

The Java Licensing Brief

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