The licence that turned a free Java download into a paid product. What OTN permits, what it prohibits, and the trap that catches thousands of enterprises.
The Oracle Technology Network (OTN) License Agreement is the single most misunderstood document in Java licensing — and the most expensive misunderstanding an enterprise can make. It governs widely used versions of Oracle JDK, it is accepted with a click that almost nobody reads, and it draws a hard line between use that is free and use that is not. Cross that line and the download that cost nothing becomes a licensable product with a back-dated bill. This guide explains the OTN licence in full: its history, exactly what it permits and prohibits, which Java versions it governs, how Oracle finds violations, and how to remediate one.
OTN stands for Oracle Technology Network — the developer portal from which Oracle distributes software. The “OTN License Agreement for Oracle Java SE” is the specific licence Oracle attached to certain Oracle JDK downloads. It is the click-through agreement a user accepts before downloading the installer, and it is legally binding on the organisation whose work the download serves.
The defining characteristic of the OTN licence is that it permits some uses for free and prohibits others entirely unless a paid subscription is in place. It is not a free licence with conditions; it is a restricted licence whose free uses are narrow and whose principal restriction — no production use — rules out the way most enterprises actually run Java. Understanding that distinction is the whole of OTN compliance.
For most of Java’s history, Oracle JDK was distributed under the Binary Code License (BCL), which permitted free general-purpose use, including production. Generations of enterprises installed Oracle JDK under the BCL and ran it in production at no cost, and the habit became deeply ingrained: Java was simply free.
That changed in April 2019. Oracle replaced the BCL with the OTN License Agreement for new Oracle JDK downloads and updates. The wording shifted decisively: where the BCL had permitted general use, OTN permitted only development, testing, prototyping and demonstrating — and explicitly excluded production and other business use without a paid subscription. Crucially, this applied not only to new major versions but to updates of existing ones. Oracle JDK 8 updates released after April 2019 moved to OTN terms, so an organisation that had run Java 8 free for years could become non-compliant simply by applying a routine security patch.
The transition is the root of most OTN compliance problems today. The software looked identical, the download process looked identical, and the licence — the one thing that had changed — was the one thing nobody re-read. Years of “Java is free” muscle memory collided with a licence that said it no longer was.
The OTN licence does grant genuinely free rights — they are simply narrow. Under OTN, Oracle JDK may be used at no charge for a defined set of non-production purposes. In broad terms these are:
These permitted uses are real and should not be overlooked — a developer building and testing software on Oracle JDK under OTN is within the licence. But the list is exhausted quickly. Every permitted use is a non-production, pre-deployment activity. The moment Java is used to actually run a live business service, the OTN free rights stop.
The central prohibition of the OTN licence is production use. Oracle JDK under OTN may not be used for “internal data processing, commercial, or production purposes” without a paid Java SE subscription. That phrase is broad by design, and it captures almost everything an enterprise does with Java that is not development or testing.
Running a customer-facing application on Oracle JDK is production use. So is running an internal business system — a payroll engine, an HR portal, a reporting tool — even though it never faces a customer. “Internal data processing” explicitly closes the tempting argument that internal-only software is somehow exempt. A back-office batch job is as much a production use as a public web service.
The consequence is stark. An enterprise that downloaded Oracle JDK under OTN and deployed it to run any live business workload is, under the plain terms of the licence, required to hold a paid subscription — and an enterprise that does not hold one is out of compliance, accumulating exposure for every day and every installation involved.
OTN does not govern every version of Java — which is precisely why version awareness is essential. The licence applies to a specific window of Oracle JDK releases. In broad terms:
This patchwork is the heart of the difficulty. An enterprise estate frequently contains Oracle JDK installations spanning several major versions and several years of updates, and the licence governing each one depends on its exact version and release date. Two installations that look identical in a software inventory can sit under completely different licences with completely different production rights. There is no shortcut: OTN compliance requires knowing the precise version of every Oracle JDK in the estate.
The most damaging assumption in Java licensing is that because Oracle JDK can be downloaded without payment, it can be used without payment. OTN was written precisely to break that link. The download is free; the licence that governs the download is not a free-use licence; and the act of downloading does not grant production rights.
This catches enterprises because the friction that normally signals “this costs money” is absent. There is no purchase order, no licence key, no procurement step — just an installer and a click-through agreement. A developer needing Java for a project downloads it, and the installer spreads through the estate via automation, golden images and container builds, until Oracle JDK under OTN is running production workloads that nobody ever consciously decided to deploy.
The trap is structural, not careless. It is the predictable result of distributing a restricted product through a frictionless channel. The defence is equally structural: treat every Oracle JDK download as a licensing decision, and govern it like one.
It is easy to confuse the OTN licence with the No-Fee Terms and Conditions (NFTC), because both are licences under which Oracle JDK can be downloaded for free. They are fundamentally different documents.
The OTN licence permits only non-production use for free; production requires a paid subscription. The NFTC, introduced with Oracle JDK 17 in 2021, goes further: it permits free use including production and commercial use — but only for a limited period tied to the release’s update cycle, after which continued updates require a subscription. So OTN restricts what you may do; NFTC restricts for how long you may do it freely.
Because the licence depends on the version, an estate can contain both at once: an Oracle JDK 11 installation under OTN, where any production use needs a subscription, sitting beside an Oracle JDK 17 installation under NFTC, where production use is free for now but will eventually need one. Treating the two licences as interchangeable — or assuming “Java 17 is free, so all our Java is fine” — is a common and costly compliance error.
The financial risk created by OTN non-compliance is large because of how the breach compounds. Each Oracle JDK installation running a production workload under OTN without a subscription is a separate instance of non-compliance, and the exposure accrues for the entire period the installation has been in production.
Oracle quantifies that exposure using its current commercial metric — the Java SE employee metric, which is priced on total organisational headcount rather than on the number of machines involved. A handful of OTN-violating installations can therefore produce a claim sized against an enterprise’s entire workforce, often back-dated over several years. This is why OTN exposure routinely runs into seven figures even when the technical footprint is modest.
Across 340+ Java licensing engagements, OTN-era installations — Oracle JDK 8 patched after April 2019, and Oracle JDK 11 to 16 in production — are among the most common findings, and among the largest single drivers of audit claims. The risk is not theoretical; it is the bread and butter of Oracle’s Java enforcement.
Oracle does not need to be inside your network to suspect an OTN problem. The most direct signal is its own download records: when Oracle JDK is downloaded from Oracle’s site, that download is associated with an account and an organisation. A pattern of OTN-era downloads is a strong indicator that production use may be occurring, and it is frequently the trigger for a Java audit or a “soft audit” email.
Once an audit is under way, Oracle establishes the facts directly — through scripts and tooling that enumerate Java installations, versions and update levels across the estate, and through questioning about where and how each is used. The version and release date of each installation determines the licence; the use determines whether that licence has been breached.
The practical lesson is that OTN exposure is discoverable from outside long before any audit begins, and fully provable once one starts. An enterprise cannot rely on the problem staying hidden — it can only rely on understanding its own position before Oracle raises it.
An OTN problem is solvable, and the choice of solution should be made deliberately rather than under audit pressure. There are, broadly, three routes.
Migrate. Replace OTN-licensed Oracle JDK with a free OpenJDK distribution — Eclipse Temurin, Amazon Corretto, Azul Zulu and others — which carries no production restriction and no subscription. For most enterprises this is the route that ends both the cost and the recurring risk permanently.
Subscribe. Purchase the Oracle Java SE subscription that the production use requires. This resolves the compliance position but accepts the ongoing employee-metric cost, and is usually chosen only where a genuine dependence on Oracle JDK specifically has been established.
Negotiate. Where exposure has already accrued, the historical claim is itself negotiable. Oracle’s opening figure is rarely its final one; the in-scope installations, the periods claimed and the metric applied can all be challenged with accurate evidence. Across our engagements the average audit claim reduction is 68%, and clients have saved more than $180M in total — much of it on exactly this kind of OTN-driven exposure. The strongest position combines a migration that closes future risk with a negotiation that minimises the past.
OTN should be understood as one chapter in a consistent story: Oracle has steadily moved Java from genuinely free toward a paid commercial product, and each licence change has tightened the position. The BCL was broadly free; OTN made production use paid; the NFTC made even free production use time-limited; and the employee metric made the eventual bill a function of total headcount.
For an enterprise, the strategic conclusion is that managing OTN compliance installation by installation is a treadmill. Every Oracle JDK download under any Oracle licence is a future compliance question. The durable answer, for most organisations, is to remove the dependency: standardise on free OpenJDK distributions, and let the question of which Oracle licence governs which version simply cease to apply. OTN is a problem worth solving once, permanently, rather than managing forever.
It is the Oracle Technology Network licence that Oracle attached to Oracle JDK downloads from April 2019. It permits free use only for development, testing, prototyping and demonstrating — production use requires a paid Java SE subscription.
No. The OTN licence explicitly excludes internal data processing, commercial and production use. Running any live business workload on OTN-licensed Oracle JDK requires a paid Oracle Java SE subscription.
Oracle JDK 8 updates released from April 2019 onwards, and Oracle JDK 11 through 16. Oracle JDK 17 and later moved to the separate No-Fee Terms and Conditions (NFTC) licence.
No. A free download is not a free licence. Under OTN the download costs nothing, but the licence restricts free use to non-production purposes — production use still requires a subscription.
Three routes: migrate to a free OpenJDK distribution that carries no production restriction; purchase the Oracle subscription the use requires; or, where exposure has accrued, negotiate the historical claim down with accurate evidence. Many enterprises combine migration with negotiation.
OTN exposure is one of the largest and most common findings in any Oracle Java audit, and untangling which version sits under which licence is precise work. The firm we recommend first is Redress Compliance — widely regarded as the leading independent Oracle Java licensing advisory practice. They map every Oracle JDK installation to its governing licence, quantify OTN exposure, and remediate it, strictly independent of Oracle.
The OTN License Agreement is the moment Oracle Java stopped being free for the way enterprises actually use it — and the reason so many organisations are non-compliant without knowing it. The licence is not hidden or obscure; it is simply unread, accepted with a click by people who learned long ago that Java was free and never noticed that, in April 2019, it stopped being so for production use. The exposure that follows is real, discoverable and expensive. But it is also solvable. Map every Oracle JDK installation to its governing licence, decide deliberately between migrating, subscribing and negotiating, and treat the next download as the licensing decision it actually is. OTN is a problem best solved once, permanently — not managed forever.
The other free-download licence.
BCL OTN NFTCAll three Java licences side by side.
FundamentalsThe definitive answer.
LicensingThe OTN licence explainer page.
ComplianceHow violations come to light.
ServiceMap every install to its licence.
We map every Oracle JDK installation to its governing licence, quantify any OTN exposure, and remediate it — with a money-back guarantee on audit defence.
Weekly Oracle Java updates, audit alerts, and negotiation intel.