Oracle Java Licensing Models & Metrics

Understanding Oracle’s No-Fee Java License (NFTC)

Oracle’s No-Fee Java License (NFTC)

Understanding Oracle’s No-Fee Java License (NFTC)

When Oracle announced the No-Fee Terms and Conditions (NFTC) license for Java 17, it sounded like good news: Java is free again! But as always, the fine print matters.

The NFTC is not a blanket free license — it’s a specific agreement with built-in limits, and “no-fee” doesn’t mean no risk. Oracle’s free period can change with future releases, so misreading the NFTC can lead to compliance trouble.

This guide explains what NFTC allows (and doesn’t), and how to navigate it safely.

It’s aimed at CIOs, IT asset managers, procurement, and legal teams dealing with Java licensing. (For context on how NFTC fits with other Oracle Java licensing models and metrics, see Licensing Models & Metrics Explained.)

Pro Tip: Oracle never gives away revenue — it only defers it.

What Is the NFTC License?

The No-Fee Terms and Conditions (NFTC) license governs Oracle’s JDK starting with Java 17 (released in 2021).

In plain terms, it allows organizations to use Oracle’s Java Development Kit (JDK) for free under certain conditions:

  • Free internal use: You can use Oracle JDK at no cost for your internal business operations (development, testing, and production).
  • Same-company distribution: You may distribute Oracle JDK internally within your organization (across your company’s devices and servers). As long as Java is used within one legal entity, it’s covered by NFTC.
  • Internal commercial use: NFTC permits production use for your business. You can run your applications on Oracle JDK without fees as long as you aren’t providing Oracle’s Java to third parties.

However, the NFTC comes with important caveats:

  • Use at your own risk: Oracle provides no support or guarantees under NFTC. If something breaks or you hit a bug, you’re on your own. There are no Oracle support contracts or SLAs attached to the free license.
  • No long-term promise: NFTC does not grant perpetual rights to that Java version. Oracle can change the terms for future updates or releases. Your “free” usage might only last until Oracle requires payment again.

NFTC is still a formal Oracle license agreement, so it’s wise to review its fine print (see License Agreement Explained for a primer on Oracle’s legal terms).

In short, NFTC gives you free use of Java for now, but there’s no promise it will stay that way. It’s a reprieve, not a permanent return to free Java.

License models per use case, Licensing Oracle Java in Development, Test, and Production.

What’s Free Under NFTC (and What’s Not)

What exactly is “free” with Oracle Java under NFTC, and where do you need to be careful? The table below breaks down key aspects of using Java under NFTC versus under a paid Oracle Java SE subscription:

CategoryUnder NFTCUnder Paid License (Java SE Subscription)Notes
Internal business useAllowedAllowedFree for general-purpose internal use
Commercial redistributionNot allowedAllowedCan’t bundle Oracle JDK in software or devices you sell to others
Support & maintenance⚠️ None from OracleIncludedNo Oracle support or SLAs under NFTC
Security updates⚠️ Limited windowContinuousFree patches only during the active NFTC period for that version
Future versions⚠️ No guaranteeAccess assuredOracle can withdraw NFTC in future releases (revert to paid terms)
Audit protectionNoneCoveredNFTC offers no audit defense or license entitlements for coverage

Under NFTC, your internal use of Java is free and fully functional. But areas like redistribution, vendor support, and long-term updates remain paid territory.

Essentially, anything beyond running Java for your own organization’s use (for example, including Java with a product you ship or getting extended support) is not free under NFTC.

Pro Tip: NFTC means free-to-use — not free-from-change.

The Catch: Future Java Versions May Not Stay Free

The biggest catch with NFTC is that “no-fee” doesn’t mean “forever free.” Oracle has made it clear that it can change Java’s license terms down the road.

In fact, it’s following a pattern: offer the current Java release for free, then reintroduce fees later.

For example, Java 17 was initially free under NFTC, but in late 2024 (one year after Java 21’s release) Oracle ended Java 17’s no-fee term.

Any new Java 17 updates now require a paid license. Looking ahead, Oracle has signaled it will do the same for Java 21 – keeping it free until roughly one year after Java 25’s release, then likely moving Java 21 to paid terms.

If your organization relies on NFTC builds without a backup plan, you risk unplanned costs and scrambling for licenses when Oracle flips Java back to a paid model. Never assume “free Java” will stay free indefinitely.

Why it matters: A “no-fee” license gives temporary relief, but it’s a poor foundation for long-term plans.

And remember, Oracle’s paid Java subscription (charged per employee, see Employee Definition Guide) can quickly become expensive if you suddenly have to license your environment.

Pro Tip: Free under Oracle’s terms means free until it isn’t.

Limitations of the NFTC License

Think of NFTC as a “free trial” of Oracle Java with strings attached. Key limitations include:

  1. No Oracle support: There is no official support or SLA with NFTC. If you hit a bug or outage, Oracle isn’t obligated to help. You get only community resources and public updates — no guaranteed patches beyond what’s publicly released.
  2. No external redistribution: NFTC does not allow redistributing Oracle Java in a commercial product. You can’t embed the Oracle JDK in software or devices that you sell or provide to customers. If your product requires a Java runtime, you’ll need to use an OpenJDK build or obtain a paid Oracle license.
  3. Limited patch life: Oracle provides security patches for an NFTC-covered Java version only during its free period. When that period ends, so do the free updates. NFTC users must upgrade to a newer Java release or go without patches once the free window closes.
  4. Upgrade or else: If you stick with one Java version long-term, you’ll eventually run an outdated, unpatched build unless you start paying. If you chase each free version to avoid fees, you’ll end up upgrading on Oracle’s schedule. There’s an inherent version-lock-in risk when relying on NFTC.
  5. No audit shield: With NFTC, you have no license certificate or support contract. Oracle can audit your Java usage, and if you’re using it beyond NFTC’s terms (e.g., an expired version or improper distribution), you’ll be out of compliance. You may be pressured to purchase licenses. Paying subscribers have paperwork to justify their usage; NFTC users don’t.

Pro Tip: NFTC is like a demo — free to try, not free to trust.

NFTC vs OpenJDK: The Safer Alternative

If Oracle’s “free” license feels risky, consider OpenJDK, the open-source Java. Vendors like Eclipse Adoptium and Amazon Corretto provide OpenJDK builds that are essentially equivalent to Oracle JDK, without Oracle’s licensing strings.

Here’s a quick comparison:

FeatureOracle JDK (NFTC)OpenJDK (Various Distributions)
LicenseOracle’s NFTC (proprietary)Open source (GPL v2 + Classpath Exception)
CostFree for nowFree, always
UpdatesOnly current release (limited free support window)Community LTS updates available for older versions
SupportNone from Oracle (unless you pay separately)No default support (third-party support available)
Commercial useInternal use only; no fee-based redistributionNo restrictions (can be used and bundled freely)
Audit riskMedium – subject to Oracle audits if terms changeLow – no Oracle audits (open-source license)

OpenJDK gives you Java without the worry of sudden license changes. Many enterprises are migrating to OpenJDK distributions to avoid Oracle’s periodic surprises.

Pro Tip: If you need Java without a ticking clock, go OpenJDK.

Checklist – NFTC Compliance Self-Check

Using Oracle Java under NFTC? Do a quick self-check to stay compliant:

  • Verify Java versions: Ensure all your Oracle Java installations are Java 17 or later (NFTC-covered). If you still run Java 8 or 11 from Oracle, those aren’t covered by NFTC and require a different license.
  • Confirm internal use: Make sure you’re not bundling Oracle Java in any software or service you deliver to customers. NFTC covers internal use only.
  • Document your usage: Keep an inventory of which Oracle JDK versions you’re using, and where. Track when each version’s free period ends, and be ready to show your usage was within NFTC’s allowed scope.
  • Plan for end-of-free: Mark when the NFTC period ends for your Java version. Decide in advance whether to upgrade, switch to OpenJDK, or purchase a subscription at that point.
  • Evaluate alternatives: Test OpenJDK or other Java distributions ahead of time. That way, if Oracle’s terms change or your version’s free support ends, you can transition smoothly.

Treat NFTC as a grace period, not a permanent solution. It’s a convenience that buys you time, but you should always be preparing for what comes after the free period.

When to Use NFTC (and When Not To)

Oracle’s NFTC license can make sense in some scenarios and be risky in others. Use these guidelines:

Use NFTC if:

  • You need short-term, compliant access to Oracle JDK and plan to keep up with Java releases.
  • You are developing or testing Java applications and want Oracle JDK without cost.
  • You have a migration or exit plan to OpenJDK or another vendor’s Java in case Oracle’s terms change later.

Avoid NFTC if:

  • You embed Java in software or devices that you distribute externally. NFTC won’t cover that scenario.
  • You require long-term support on a specific Java version (years of patches). NFTC will leave you unprotected after the free period.
  • You need stable, predictable licensing for your Java environment. If you can’t tolerate the risk of Oracle changing terms every few years, opt for a paid subscription or use OpenJDK.

5 Rules for Using Oracle’s No-Fee Java License Safely

To wrap up, here are five rules to help you leverage NFTC safely:

  1. Treat NFTC as temporary, not permanent. Today’s “free” Java could be chargeable tomorrow.
  2. Keep strict version control. Know which Java versions are in use and ensure they’re NFTC-covered. Don’t let any outdated Oracle JDKs linger.
  3. Document internal use. Be ready to demonstrate that your Oracle Java usage stays internal and within the free-use terms.
  4. Plan for changes. Decide early whether you’ll pay or switch when Oracle changes the terms — don’t wait until the free period is over.
  5. Use OpenJDK for critical systems. If a system absolutely cannot risk a licensing change, run it on an OpenJDK distribution from the start.

In essence, Oracle’s no-fee Java license is a temporary free pass — a way for Oracle to keep you on its JDK now, with plans to charge later.

Use that free period to buy time, not to get complacent. By staying vigilant and planning, you can enjoy NFTC’s short-term benefits without falling into a costly trap.

Read about our Java Advisory Services

Oracle Java Licensing Models Explained: How Oracle Counts (and Charges) You

Do you want to know more about our Java Advisory Services?

Author

  • Fredrik Filipsson

    Fredrik Filipsson brings two decades of Oracle license management experience, including a nine-year tenure at Oracle and 11 years in Oracle license consulting. His expertise extends across leading IT corporations like IBM, enriching his profile with a broad spectrum of software and cloud projects. Filipsson's proficiency encompasses IBM, SAP, Microsoft, and Salesforce platforms, alongside significant involvement in Microsoft Copilot and AI initiatives, improving organizational efficiency.

    View all posts