Java Licensing

Oracle Java 17 Licensing Model: No-Fee Terms with Hidden Strings Attached

Oracle Java 17 Licensing Model: No-Fee Terms with Hidden Strings Attached

Oracle Java 19’s New Licensing Model: No-Fee Terms with Hidden Strings Attached

Oracle’s licensing for Java took a sharp turn with Java 17, introducing a so-called “No-Fee” license that isn’t as free as it sounds.

CIOs and CFOs must confront the hard realities of this Oracle JDK 17 licensing change to avoid compliance nightmares and surprise costs. Oracle has effectively turned Java into another revenue engine, with complex rules and traps that can lock customers into expensive contracts​.

In this advisory, we clearly explain what Java 17’s No-Fee Terms and Conditions (NFTC) mean, how they differ from previous models like Java 11’s, and what executives need to do about it.

Oracle Java 17 and the NFTC License Model

Java 19 is distributed under Oracle’s No-Fee Terms and Conditions (NFTC) license – a model first introduced with Java 17 and continued with Java 18.

Under the NFTC, Oracle permits the free use of its JDK for all users (including commercial production use) during a limited support period. Unlike past Oracle licenses, there’s no click-through or upfront fee, making it easy to download and deploy Java 19 without payment or paperwork​.

However, “No-Fee” doesn’t mean “no obligations.” The NFTC license is essentially a free trial with an expiration date. Oracle JDK 17 was free to use in production only for as long as Oracle provided updates for it.

Once Java 17’s support window closed, the free ride ended. In other words, Oracle’s official Java 17 builds came with zero cost initially, but only for a defined time frame – after that, Oracle expects you to either upgrade or start paying. We detail these timeline constraints below.

How Java 17’s Licensing Differs from Java 11

Oracle Java 11 (the 2018 Long-Term Support release) was the first version under Oracle’s new paid model, requiring a subscription for any commercial use. Companies running Oracle’s JDK 11 in production had to either buy a Java SE subscription or use the free OpenJDK builds as an alternative.

There were no free long-term updates for Oracle JDK 11. Oracle stopped providing public updates after 2019, effectively forcing businesses to pay if they wanted to stay on that version.

By contrast, Java 17’s NFTC license flipped the script by making Oracle’s JDK free to use for a period. This is a stark change from Java 11’s OTN (Oracle Technology Network) license, which limited free use to development or personal purposes only. The table below summarizes the key differences:

AspectOracle Java 11 (2018 LTS)Oracle Java 19 (2022)
License ModelOracle Technology Network (OTN) License – free for development/testing only; paid subscription required for production use​.Oracle No-Fee Terms and Conditions (NFTC) – free for all uses, including production, but only during the active support period​.
Free UpdatesNone for production after initial release. Public updates for Java 11 ceased in 2019, so patches required a paid Oracle support plan​.Provided at no cost during Java 19’s support window. Oracle supplied security patches and updates for Java 19 for its short active lifecycle without charge​.
Duration of SupportLong-Term Support (LTS) version: Oracle offers many years of patches but only for paying customers (free use was not extended past 2019)​.Non-LTS release: time-limited support (approx. 6 months). Java 17 received free updates until the next version (Java 20) arrived; it has no extended free support beyond that​.
Post-Support OptionsRemain on Java 11 without updates (insecure), or buy a Java SE subscription for ongoing patches and support. Many organizations instead migrated to OpenJDK or other distributions to avoid fees.Upgrade to a newer Java version (e.g. Java 20 or 21) to continue getting free updates, or purchase an Oracle Java subscription once Java 19’s free period ends​. Using Oracle JDK 19 in production beyond its free window without a paid license means no new patches and potential non-compliance.

In short, Java 11’s Oracle license was a strict paywall for businesses, whereas Java 17’s license offered a temporary free pass. But that pass is strictly time-bound – a crucial point for CIOs and CFOs.

The Time-Bound ‘No-Fee’ Support Window

Oracle’s NFTC license is a ticking clock. It grants free use of Java only during a defined support period, after which the “no-fee” deal expires. This is not a perpetual free license – it’s a strategy to push you to upgrade regularly.

Key facts about this time-bound model:

  • Short Lifespan for Non-LTS: Java 17 was a non-LTS (feature release) on Oracle’s six-month release cycle. Oracle provided Java 19 updates under NFTC for its entire 6-month support life​. Once Java 20 came out (March 2023), Java 17 received no further updates. In effect, the no-fee support for Java 17 lasted only from its release in September 2022 until the next release. After that, Oracle considers Java 17 end-of-life for free support.
  • LTS Versions Get a Bit More Time: For Long-Term Support versions (like Java 17 or Java 21), Oracle extends free updates until one year after the next LTS release. For example, Java 17 (released in 2021) was free under NFTC until one year after the release of Java 21. Once the grace period passed (September 2024), Oracle stopped providing free updates for Java 17 and switched to a paid license model for any further patches. The same pattern will apply to Java 21 when Java 25 comes out. Bottom line: even LTS versions are only “no-fee” for a few years at most.
  • “No-Fee” Expires – Fee Kicks In: Oracle has been explicit that after the NFTC window closes, any new updates will be released under the old paid license (the OTN agreement)​. In September 2024, Oracle announced that any new updates for Java 17, 18, 19, and 20 (which were initially no-cost) will now fall under the paid OTN terms​. In practice, for Java 17 this means if there were to be any updates beyond its initial support period, you’d need a subscription to legally use them. There is no free lunch beyond the deadline.
  • No Oracle Support Entitlement: NFTC only covers the right to use and get updates during the free period. It does not entitle you to Oracle’s technical support or any support past the cutoff. Oracle describes NFTC as a stop-gap for those who always stay on the latest version, not a way to get long-term support for free​. If you lag, you’re on your own unless you pay.

In essence, the “no-fee” promise self-destructs on a schedule. CIOs must ensure that their organizations either upgrade Java in a timely fashion or face a licensing switch when the current version expires.

CFOs should treat the NFTC period as a temporary cost waiver – with a potential bill looming once it’s over.

Compliance and Cost Risks Under NFTC

Relying on Java 17’s NFTC license without a plan can put organizations in a compliance trap and incur hefty costs down the line.

Key risks to understand:

  • License Non-Compliance: After the free period, continuing to use Oracle Java without meeting the new terms can violate the license. Oracle has explicitly warned that once Java 17’s free window ends, running Oracle JDK 17 in production without a subscription will violate the license. The same logic applies to Java 17: if you continue using Oracle’s JDK 17 after its support lifecycle ends (e.g., to run an app on an outdated Java 17 in 2024 or 2025), you are running unpatched Oracle software outside the NFTC terms. While the NFTC license doesn’t magically expire on the binaries you already downloaded, any new usage or updates would fall under fees. Oracle’s License Management teams are aggressively enforcing these rules. They track downloads of Java patches and have ramped up audits of organizations using Oracle Java without proper licensing​. If your IT staff quietly kept using Oracle Java 17, thinking it’s “free forever,” expect trouble – Oracle is actively looking for such cases.
  • Audit Exposure: Oracle now views Java as a significant revenue source and is not hesitant about auditing for compliance. The company reportedly keeps years of download records and will notice if you downloaded updates past the free period without a subscription. Experts estimate that one in five companies using Oracle Java can expect a formal audit in the next few years​. Failing an audit (e.g. found running Oracle JDK versions outside allowed terms) can lead to steep back-license fees and penalties. CIOs should assume Oracle will check. The complexity of Java licensing works to Oracle’s advantage – any misunderstanding on your part can become a source of revenue for them.
  • Security vs. Licensing Dilemma: When Java 17’s free support ended, you faced a tough choice: run without critical patches, or pay up. Oracle no longer provides free security fixes once the NFTC period closes​. If a new vulnerability in Java 17 is discovered after support ends, only paying customers (with a Java SE Subscription) get the patch​. Running Java in production without security updates is a serious risk, but applying Oracle’s update would break the license terms unless you have a subscription. This puts organizations in a “pay or accept risk” bind. Many compliance frameworks and cybersecurity policies won’t allow the use of unsupported software, effectively forcing you to upgrade or purchase support.
  • Surprise Costs: The NFTC model can lure companies into thinking Java is free, then hit them with costs later. If you’re not prepared to jump to a new Java version on Oracle’s schedule, you could end up having to buy Oracle’s support for the old version on short notice. And Oracle’s Java SE subscription is not cheap. In 2023, Oracle switched to an employee-based licensing model for Java, requiring you to license every employee in your organization, regardless of how many use Java​. The list price is about $15 per employee per month for a small company and scales down to around $5 at very large volumes. That means even a mid-sized firm (with 500 employees) would owe on the order of $90,000 per year for Java support. This can be a nasty budget shock if you were caught off guard. Failing to plan for the end of Java 19’s free period could corner you into an expensive subscription to stay compliant.
  • Operational Disruption: Even aside from direct fees, rushing upgrades to stay within the NFTC window can disrupt IT roadmaps. Oracle’s cadence might not sync with your business cycles. CIOs need to consider the cost (in time and resources) of performing Java version upgrades every 6-12 months. Skipping an upgrade might save effort in the short term, but it then triggers the licensing costs and security issues described above. It’s a risk either way – one that must be budgeted and managed.

In summary, using Oracle Java 19 “for free” requires careful compliance management. The moment you fall out of Oracle’s strict timeline, your organization is exposed – either to unsupported software or to Oracle’s licensing enforcement.

CFOs should treat this as a contingent liability: it’s free now, but mishandling it can incur significant costs later.

After the Free Period: What Happens When Java 17 Support Ends

Java 17’s no-fee support was strictly time-bound, and now that time is up. Here’s what happens once Oracle’s free support for a version ends, and what CIOs/CFOs must do next:

  • End of Updates: Oracle issued its last free public update for Java 17 when Java 20 was released. After that, no further patches or bug fixes are provided for Java 17 under NFTC. The software doesn’t stop running, but it immediately becomes outdated. Any new security vulnerabilities discovered will remain unpatched in Oracle JDK 17 unless you have a paid support agreement (for LTS versions), and for non-LTS versions like 17, Oracle doesn’t even offer extended support to buy. Oracle essentially abandons the program in terms of maintenance.
  • License Reverts to OTN (Paid): With the free update window closed, Oracle will make any additional Java 17 fixes (if they are ever published) available only under the old license, which requires a subscription for commercial use. Practically, Oracle is unlikely to release further Java 17 fixes, as non-LTS releases are not maintained. But if they did, you would see a license prompt and would need to be a subscriber to legally deploy them. This means the NFTC license no longer applies to new distributions after the cutoff. Important: The NFTC license you agreed to for Java 19, which you have already installed, does not retroactively disappear. You can continue to use the last version you got under NFTC terms indefinitely for internal use. However, that’s running with no safety net— no updates, no support.
  • Upgrade or Pay (No In-Between): Once Java 17 is out of support, organizations have two realistic choices: migrate to a supported Java release or start paying Oracle. Upgrading keeps you on a free path – for example, moving applications to Java 20 (and then Java 21 LTS) to regain free support. Oracle’s strategy is exactly to force this decision. Many companies followed this route when Java 17’s free period ended: they upgraded to Java 21 to continue receiving patches for free. On the other hand, if upgrading that frequently is not feasible for your environment, an alternative is to purchase Oracle’s Java SE Subscription to receive further updates for an older version. However, for Java 17 specifically, Oracle would likely recommend upgrading to an LTS. Either way, sticking with Java 17 without action is not tenable for a responsible enterprise.
  • Security & Compliance Implications: Running an end-of-life Java 17 in production for the long term is a risky move. Without updates, known vulnerabilities can be exploited, leading to potential data breaches or system failures. This could also violate regulatory compliance, for example, by banks or healthcare organizations failing to follow security best practices. Insurance and audits may flag unsupported software as a liability. In licensing terms, if an Oracle audit finds you still on Java 19 and that you downloaded patches beyond its free period, they will treat it as unlicensed use, subject to back fees. Most likely, though, Oracle’s larger concern is if you fail to upgrade and don’t buy a subscription for an LTS – that’s where they press for compliance. For Java 17, the safer assumption is that Oracle expects no one to remain on it; they want you on an LTS, whether you pay or not.
  • Option to Switch Vendors: One often overlooked “exit” after free support ends is to switch to an OpenJDK distribution from another provider. Oracle’s free updates may stop, but the OpenJDK project and other vendors (e.g., Eclipse Adoptium’s Temurin, Amazon Corretto, Azul, Red Hat) might continue to provide builds of Java 17 or 21 for a longer period. If you were on Java 19, you’d likely upgrade to Java 20 or 21 anyway, and you could choose a non-Oracle build to avoid Oracle’s licensing entirely going forward. This approach allowed organizations to extend Java 17 support via third parties without paying Oracle​. Since Oracle JDK and OpenJDK builds are virtually identical starting with Java 11, switching the runtime provider has a minimal technical impact. It’s a critical strategic choice to avoid being stuck when Oracle’s free period ends.

The takeaway: after Java 17’s free support ends, doing nothing is not an option. If you haven’t already, you must either migrate your systems off Java 17 or budget for Java support via Oracle or another vendor.

CIOs should ensure upgrade plans are in place well before the NFTC deadline hits. CFOs should be prepared for the possibility that if the organization drags its feet, the “free” Java will become a paid subscription requirement to stay secure and compliant.

Oracle’s Broader Java Strategy: Free Carrot, Costly Stick

It’s important to view Java 17’s licensing change in the context of Oracle’s broader Java strategy. Oracle isn’t being benevolent by offering NFTC; it’s a calculated move with an endgame:

  • Monetization of Java: Since Oracle acquired Sun Microsystems (and Java with it), it has been looking to monetize Java to recoup its $7.4 billion investment. The free-to-use model that Java had under Sun is gone. Oracle’s Java licensing journey went from Sun’s generous free updates to a strict subscription model in 2019, and then to a hybrid model by 2023, which offers temporary free use followed by an expansive subscription mandate. The NFTC license is a tool to drive the uptake of the latest Java version (so Oracle stays relevant in the developer community), while ultimately funneling enterprises into paid plans if they cannot keep up.
  • “Embrace, then Charge” Tactic: By making the newest Java releases free for a while, Oracle entices organizations to adopt the Oracle JDK (rather than alternatives). It’s an adoption strategy: get everyone on Java 17, 19, or 21 by removing cost barriers initially. But that embrace comes with a time bomb – after a set period, Oracle pulls the rug out (reverting to a paid model). At that point, companies that have standardized on Oracle’s JDK face a difficult choice: either upgrade fast (possibly faster than their normal cycles) or start paying Oracle to continue receiving updates. Oracle is betting that many enterprises, especially large ones with complex apps, will opt to pay for stability rather than rush upgrades. It’s a clever way to have it both ways: seem “developer-friendly” upfront, but ensure a revenue stream in the long run.
  • Complexity and Confusion: Oracle has intentionally made Java licensing confusing. Different versions have different rules; for example, Java 8 and 11 require a subscription, while 17 and 21 are currently free. Note that 17 is free only briefly. “With Oracle Java, it’s never clearly spelled out in one place,” as one licensing expert put it​. This complexity itself serves Oracle’s strategy: it causes compliance anxiety and mistakes. Oracle’s sales teams and auditors can leverage this confusion to sell more subscriptions or catch companies out of compliance. The NFTC introduction, while positive on the surface, actually adds another layer of complexity – many businesses aren’t even aware that the license terms changed again with Java 17/19. Oracle’s broader Java strategy is to keep customers off balance. Even the decision to keep older versions (Java 8, 11) under a paid model, while offering newer ones for free for a time, creates a maze of rules. The company knows that many enterprises will err on the side of caution (i.e., buying a subscription) when faced with this complexity.
  • Pushing the Subscription Model: Oracle aims to encourage customers to opt for its Java SE Universal Subscription. The NFTC free period is merely deferring the subscription pitch by a couple of years. Oracle radically changed this subscription in 2023 to charge per employee, which can dramatically increase the cost for large organizations​. By doing so, Oracle positions Java as an enterprise-wide licensed product, much like a database or enterprise app. They want Java to generate steady, recurring revenue. The “free LTS for three years” approach with NFTC is likely intended to soothe community relations and keep Java from fracturing, so that Oracle remains central to Java distribution, while Extended support becomes a premium service. It’s similar to a drug dealer giving a free taste – the goal is to get you hooked into a cycle where you eventually pay.
  • No Sympathy for Stragglers: Oracle’s strategy assumes that those who truly cannot upgrade rapidly (due to legacy systems, regulatory validation needs, etc.) are typically big enterprises with deep pockets – exactly the kind of customers Oracle can extract money from. By offering a free path only to those who stay on the bleeding edge, Oracle is effectively saying: “If you fall behind, you will pay.” And they are enforcing it. Reports in late 2023 and 2024 show Oracle ramping up audits and even refusing to renew older Java contracts unless customers switch to the new (more expensive) model​. Oracle is serious about squeezing revenue from Java, and NFTC is one piece of that puzzle.

In summary, Java 17’s NFTC licensing is not a gift; it’s a strategic maneuver by Oracle. They are balancing community pressure for a “free Oracle JDK” against their desire to make Java a cash cow.

The result is a licensing scheme that gives CIOs and CFOs a brief reprieve on costs, only to hit them later if they don’t continually upgrade or proactively sign up for subscriptions. Understanding Oracle’s motives helps executives realize that they must actively manage their Java usage – or Oracle will manage it for them, at a high cost.

Recommendations for CIOs and CFOs

Facing Oracle Java 19’s licensing changes, CIOs and CFOs need to take decisive action. Here is blunt guidance to stay ahead of the risks:

  • Don’t Be Fooled by “Free”: Treat Oracle’s NFTC Java as a temporary free trial, not a permanent solution. Mark the dates on your calendar when the free support for each Java version you use ends. For Java 17, the free period has already expired – if you’re somehow still running it in production in 2025, you are on borrowed time and out of compliance. Never assume Oracle Java is “free” beyond the initial window; that assumption can cost you dearly later.
  • Enforce an Upgrade Cadence: If you intend to stick with Oracle’s free-by-cadence model, plan your Java upgrades. For LTS versions, this means upgrading to the next LTS within one year of its release. For non-LTS, it means updating with every feature release, if those are in use (most enterprises will avoid using non-LTS in production). Build these upgrades into your IT roadmap and budget. Missing Oracle’s upgrade deadline is not an option – it will either leave your systems unpatched or force you into a rapid, unplanned purchase of licenses. Ensure that your engineering teams understand they must regularly test and certify new Java versions; the era of relying on one Java version for a decade is over (unless you’re willing to pay for it).
  • Audit Your Java Usage Now: Take an immediate inventory of where the Oracle JDK is deployed in your organization. Identify any installations of Oracle Java 11, 17, 19, etc. and what license terms they are under. This is critical: you can’t manage what you don’t know. Many firms have Oracle JDK installed in their apps or servers without knowing it. Once you have an inventory, determine which instances are out of compliance or approaching end of free support. Eliminating unneeded installations or replacing them proactively can save you from an audit disaster. Don’t wait for Oracle to come knocking – by then, it’s too late. Oracle’s auditors are actively hunting for organizations that haven’t kept track. Staying ahead of them is your best defense.
  • Consider Ditching Oracle JDK Altogether: The blunt truth is that you don’t have to use Oracle’s Java distribution at all. There are fully free, open-source builds of Java (OpenJDK) from other providers that have no strings attached. For example, Eclipse Adoptium (Temurin), Amazon Corretto, IBM Semeru, Azul Zulu, and others offer Java 17, 19, 21, and later versions, with ongoing free updates. These builds are functionally equivalent to Oracle JDK. Oracle’s and OpenJDK’s codebases are nearly identical since Java 11​. By switching to one of these, you eliminate Oracle licensing concerns – no audits, no fees, no NFTC deadlines. Many organizations have already adopted this strategy to avoid the cost and compliance risk of Oracle Java. Suppose your applications don’t specifically require Oracle’s proprietary bits (most don’t), strongly consider migrating to an OpenJDK distribution across your enterprise. This move can instantly neutralize the licensing risk – an extremely appealing outcome for CFOs looking to cut unnecessary costs.
  • Budget for the Worst-Case (if you must stick with Oracle): If, for some reason, you decide to remain on Oracle’s Java and can’t guarantee timely upgrades, budget as if you will need a subscription after the NFTC period. That means understanding Oracle’s Java SE Universal Subscription (per-employee pricing) and its impact on your finances. Calculate the cost at Oracle’s rates (e.g. $15 per employee/month for <1000 employees, with slight discounts at higher tiers). The numbers can be eye-watering – tens or hundreds of thousands of dollars annually for larger firms. It’s better to brace leadership for that possible expense now than to be blindsided later. In negotiations, Oracle will have the upper hand if you’re desperate to legalize an unsupported deployment. Avoid that by having the financial approval in your back pocket, or better yet, by not needing Oracle at all.
  • Lock Down Update Access: Implement internal controls so that Oracle Java updates aren’t applied beyond your license entitlement. For example, if you plan to stop using Java 17 after its free window, ensure your sysadmins don’t accidentally download and apply an Oracle Java 17 patch released under OTN, which would require a license. Oracle tracks download activity, so you don’t want a well-meaning engineer inadvertently triggering a compliance issue. Consider restricting Oracle’s Java download sites and instructing teams to use approved JDK sources. The goal is to prevent “accidental piracy” of Oracle software.
  • Negotiate on Your Terms, Not Oracle’s: If Oracle Java is mission-critical for you (e.g., you rely on Oracle’s JVM for support on Oracle products), engage with Oracle proactively. Don’t wait until an audit or until you’re forced to subscribe in panic. Approach Oracle for a Java license discussion before you’re out of compliance, when you have options (like the option to switch vendors) as leverage. Try to negotiate pricing or concessions. However, go in with eyes open: Oracle’s new model leaves little wiggle room – they want the enterprise-wide subscription. Some companies have reported that Oracle’s sales tactics have become aggressive after the NFTC. Only negotiate if you absolutely must remain on Oracle Java; otherwise, avoiding the trap altogether is the best negotiation strategy (i.e., open source Java doesn’t send audit letters).
  • Educate and Communicate: Finally, ensure that this issue is elevated to the appropriate level in your organization. CFOs should not assume the “Java issue” is just an IT problem solved by developers. It’s a contractual and cost issue that needs management attention. Likewise, CIOs must educate application owners and development teams about the new reality of Java licensing. Everyone should know that using Oracle Java comes with a ticking clock. Establish an internal policy: e.g., “Oracle Java (NFTC) can be used for development and production only if the team commits to upgrading within the free support window or decommissioning the app before that window closes. Otherwise, they must choose a different Java distribution or secure budget for a subscription.” This kind of clear mandate will drive behavior to prevent compliance gaps. Make Java licensing a regular part of your software asset management reviews.

In conclusion, Oracle’s Java 17 licensing change requires a firm response. The days of “set it and forget it” Java deployments are over. CIOs and CFOs need to be as vigilant with Java licensing as they are with databases or enterprise software.

Oracle’s NFTC license for Java 17 may have introduced a no-cost period, but without proactive management, it can quickly lead to compliance violations or unexpected costs. Take control of your Java strategy now – or Oracle will gladly take it (and your money) for you.

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