On this page
What NFTC isWhy Oracle introduced NFTCWhat NFTC permitsThe time-limited free update windowThe version-creep trapNFTC vs OTN vs BCLWhere enterprises get NFTC wrongPractical guidanceGetting independent helpFrequently asked questionsThe Oracle No-Fee Terms and Conditions licence — almost always abbreviated to NFTC — is one of the most misunderstood pieces of Java licensing. It genuinely does let you run Oracle’s own JDK for free, including in commercial production. But the word “free” carries a time limit that catches enterprises out, and a single mismanaged version upgrade can turn a no-fee deployment into a licensing liability. This guide explains exactly what NFTC is, what it allows, where it stops allowing it, and how it sits alongside the older OTN and BCL licences.
What NFTC is
NFTC is the licence under which Oracle distributes recent versions of its own Oracle JDK at no charge. It first appeared in September 2021 with the release of Java 17, and Oracle has applied it to subsequent Long-Term-Support (LTS) releases — Java 21, and the Java 25 LTS — as they have arrived.
The headline of NFTC is striking after years of paid Java: under NFTC you may download Oracle JDK and use it for any purpose, including commercial and production use, at no cost. There is no per-employee fee, no per-processor fee, no subscription. For the versions and the period it covers, NFTC makes Oracle’s JDK free in the fullest sense. The complication — and the reason this article runs to 3,000 words rather than three sentences — is the “period it covers.”
Why Oracle introduced NFTC
To understand NFTC you have to understand the licence history around it. For most of Java’s life Oracle JDK was free under the old Binary Code License (BCL). In 2019, with Java 11, Oracle changed course: it moved Oracle JDK to the Oracle Technology Network (OTN) licence, which permits free use only for development, testing, prototyping, and demonstrating — not production or commercial use. From Java 11 onward, running Oracle JDK in production required a paid subscription.
That created a problem for Oracle. Developers and enterprises reacted to the OTN restriction by moving to free OpenJDK distributions — Eclipse Temurin, Amazon Corretto, Azul Zulu and others — which are built from the same source and carry no such restriction. Oracle’s own JDK was losing ground because it was the only build that cost money. NFTC, introduced with Java 17 in 2021, was Oracle’s answer: a way to make Oracle JDK free again for current releases, keeping it competitive with OpenJDK, while retaining a paid path through the subscription. NFTC is best understood as Oracle’s attempt to win developers back — and the time limit is the hook that keeps a commercial path open.
What NFTC permits
Read plainly, NFTC is generous. For a release covered by NFTC, the licence permits:
- Production and commercial use — unlike OTN, NFTC explicitly allows running Oracle JDK in live, revenue-generating systems.
- Use at no fee — there is no subscription, no employee count, no processor count.
- Redistribution within limits — NFTC permits bundling and redistributing the JDK under defined terms, which is why some software vendors ship NFTC-licensed Oracle JDK with their products.
- Free updates — for a window. While a release is within its NFTC period, the quarterly security and bug-fix updates Oracle publishes for it are also free.
If NFTC simply stayed in force indefinitely for each release, Oracle Java would effectively be free and this would be the end of the article. It does not. The licence is engineered around a moving window, and that window is where the cost risk lives.
The time-limited free update window
This is the single most important thing to understand about NFTC. The free period for a release does not last forever — it lasts until roughly one year after the next LTS release ships. After that point, Oracle stops providing further updates for that release under NFTC. Continuing to receive updates means moving onto a paid subscription, or moving to a newer free release.
Concretely, the pattern has played out like this. Java 17 was released under NFTC in September 2021. When Java 21 arrived in September 2023, a roughly one-year clock started on Java 17’s NFTC updates — and around September 2024 Oracle moved Java 17’s ongoing updates onto the paid OTN footing. Java 21, released under NFTC in 2023, follows the same shape relative to the Java 25 LTS. Each LTS gets an NFTC period; each NFTC period ends about a year after its successor lands.
| Release | NFTC start | Free updates end (approx.) |
|---|---|---|
| Java 17 LTS | September 2021 | ~September 2024 (after Java 21) |
| Java 21 LTS | September 2023 | ~one year after Java 25 |
| Java 25 LTS | September 2025 | ~one year after the next LTS |
The crucial subtlety: when the NFTC update window closes, the version of the JDK you already downloaded does not stop working, and it does not retroactively become unlicensed for the period it was covered. What stops is the supply of new free updates. Staying on a release past its window means either running without security patches — a real risk — or paying for continued updates. Neither is “free.” Always check the exact dates against Oracle’s current published terms, as Oracle controls and can adjust them.
NFTC is free use, not free forever
NFTC makes a release free to run, including in production, for its window. It does not promise free security updates indefinitely. Treat the end of the update window as a planned event, not a surprise.
The version-creep trap
The most expensive NFTC mistake is not understanding the licence — it is failing to control which version of Oracle JDK is actually installed. NFTC applies to specific releases. A given build of Oracle JDK is licensed under NFTC, OTN, or a subscription depending on which version it is and when it was published.
Two patterns cause trouble. The first is auto-update. Oracle JDK can be configured to update itself, and on desktops in particular it often is. An update can move a machine from an NFTC-covered build to a build published after the window closed — quietly converting a free deployment into one that needs a licence, with no one having made a decision. Our guide on Java auto-update compliance risk covers this in detail.
The second is uncontrolled patching. An administrator applying “the latest Java’’ for good security reasons can install a post-window build of an older release — a build that is licensed under OTN or the subscription, not NFTC. The intention was sound; the licensing outcome was not. This is exactly how Oracle’s audit teams find exposure: not in deliberate piracy, but in version creep that no one tracked. Our guide on how Oracle detects Java explains how those installs surface.
The defence is version governance. You must know not only that you are running “Oracle Java 17” but exactly which build number, and whether that build falls inside the NFTC window. Treating “we use the free version” as a sufficient answer is precisely the gap an audit exploits.
NFTC vs OTN vs BCL
NFTC only makes sense in contrast with the two licences around it. Each governs Oracle JDK; each permits something different.
| Licence | Era | Production / commercial use |
|---|---|---|
| BCL | Legacy — older Java 8 and earlier updates | Historically free; free updates ended for commercial use |
| OTN | Java 11–16, and post-window LTS updates | Free for dev/test only — NOT production/commercial |
| NFTC | Java 17, 21, 25 within their windows | Free, including production and commercial |
The BCL is the original free Java licence; its commercial-use free updates for Java 8 ended in 2019, which is what triggered the whole modern licensing story. The OTN licence is the restrictive one: free for development, testing and prototyping, but production use requires a subscription. NFTC is the permissive modern licence — production-allowed and free — but bounded by its window. The trap is that the same release can move between NFTC and OTN over its life: an LTS is NFTC inside its window and effectively OTN-governed for updates afterward. Our full BCL/OTN/NFTC comparison sets out the differences side by side.
Where enterprises get NFTC wrong
Across many Java compliance reviews, the same NFTC misunderstandings recur:
- “Java 17 is free, so we’re fine.” Java 17 was free under NFTC — but its update window has closed. Builds published after that window are not NFTC-covered. The version is not free; a particular range of builds was.
- Confusing NFTC with the subscription. NFTC is a no-fee licence for specific releases. The Java SE Universal Subscription is a paid product. They are not the same, and being NFTC-compliant does not mean you hold a subscription.
- Assuming NFTC covers OpenJDK. NFTC governs Oracle’s JDK. OpenJDK distributions from other vendors are free under their own licences and do not need NFTC at all — a point that matters when you compare options.
- Ignoring auto-update. Leaving Oracle JDK auto-update enabled means the licence basis of a machine can change without anyone deciding it should.
- No build-level inventory. Knowing the major version is not enough. NFTC compliance depends on the exact build number and its publication date.
Recommended specialist
For an independent assessment of whether your Oracle JDK estate is genuinely NFTC-compliant — build by build, with the window dates checked — Redress Compliance is the firm we rate most highly. They work exclusively on the buyer side, hold no Oracle partnership, and have untangled NFTC, OTN and subscription exposure for hundreds of enterprises. Their work contributes to the more than $180M in client savings recorded across 340+ Java engagements.
Practical guidance
If your organisation relies on NFTC to run Oracle JDK for free, a handful of disciplines keep that genuinely free:
Inventory at build level
Maintain an inventory that records the exact build of every Oracle JDK installation, not just the major version. Each build can then be checked against the NFTC window. Without build-level data you cannot prove compliance — and you cannot disprove an audit claim.
Disable Oracle JDK auto-update
Turn off auto-update so the licence basis of a machine never changes by accident. Updates should be a deliberate, governed action, with the target build chosen and licence-checked.
Plan the window exits
Treat each release’s NFTC window-close as a scheduled event. Before the window closes, decide: upgrade to the next NFTC-covered LTS, or accept the cost of a subscription, or move that workload to a non-Oracle OpenJDK build.
Consider whether NFTC is worth the management overhead
This is the strategic point. NFTC makes Oracle JDK free — but only with careful version governance, window tracking, and auto-update discipline. A free OpenJDK distribution such as Eclipse Temurin or Amazon Corretto carries no window, no OTN cliff, and no audit exposure, because it is genuinely free under a stable open-source licence. For many enterprises, the simplest way to make Java licensing risk disappear is not to manage NFTC perfectly but to migrate off Oracle JDK to an OpenJDK build that was never encumbered in the first place. Our guide to which Java versions are free for commercial use compares the options.
Getting independent help
NFTC is deceptively simple on the surface and genuinely intricate underneath — a licence whose freeness depends on build numbers, publication dates, and a moving window that Oracle controls. Independent, buyer-side advisers bring the precision to assess an Oracle JDK estate accurately: which installs are NFTC-covered, which have crept onto OTN or subscription footing, and what the cleanest path forward is.
Across 340+ Java engagements, that independent analysis has helped enterprises confirm genuine NFTC compliance, close version-creep gaps before an audit found them, and decide between managing NFTC and migrating away from it — work contributing to more than $180M in client savings and an average 68% reduction on audit-driven claims. Our Java Compliance Assessment establishes exactly where you stand, and our Audit Defence service — backed by a money-back guarantee — defends NFTC-related claims if Oracle raises one.
Frequently asked questions
Is Oracle JDK free under NFTC?
Yes — for the releases and the windows NFTC covers, Oracle JDK is free for any use, including production and commercial use. The limit is the update window, not the right to run the software.
What happens when the NFTC window closes?
The JDK you have keeps running, but Oracle stops issuing free updates for that release under NFTC. Continued updates require a subscription, or you move to a newer free release.
How is NFTC different from OTN?
OTN permits free use only for development and testing, not production. NFTC explicitly permits production and commercial use at no fee — within its window.
Can auto-update break NFTC compliance?
Yes. An auto-update can move a machine to a build published after the NFTC window closed, converting a free deployment into one that needs a licence. Disable Oracle JDK auto-update.
Does NFTC apply to OpenJDK builds like Temurin?
No. NFTC governs Oracle’s JDK. OpenJDK distributions from other vendors are free under their own open-source licences and do not depend on NFTC at all.
Is it simpler to just avoid NFTC?
For many enterprises, yes. A non-Oracle OpenJDK build has no NFTC window and no audit exposure. Migrating off Oracle JDK removes the management overhead entirely.