Posts

Oracle Java License Change: Complete Guide (2026)

Apr 21, 2026
Dmitry Chuyko
30.3

Oracle has made three licensing changes since 2019 for its commercial Java Platform, Standard Edition (Java SE). The cumulative effect is that many organizations that were previously using Java without a subscription now require one — and the cost of that subscription has changed significantly.

Since Oracle began actively encouraging customers to sign up for subscriptions, many organizations have opted to replace Oracle Java with one of several available free OpenJDK distributions. This article explains what has changed, how to determine whether your organization is affected, and what the available options are.

Table of content

Find Your Situation

The table below provides a quick reference by Java version. Full details on each scenario follow in the sections below.

You are on…

Situation

Recommended action

JDK 6, JDK 7 (≤7u80) or JDK 8 (≤8u202)

Technically license-compliant under BCL, but no security patches for years. Running in production is a significant security risk.

Switch to an OpenJDK distribution that still provides security patches for these versions. No code changes required.

JDK 8 (≥8u211) or JDK 11 (any)

⚠️ Requires a commercial Oracle Java SE subscription for production use. OTN license permits development and testing only.

Purchase a subscription, or switch to an OpenJDK distribution (see Option 4 below).

JDK 17 (≤17.0.12)

Technically NFTC-compliant. Oracle no longer provides free security patches. Not recommended for production.

Upgrade to JDK 25 or switch to an OpenJDK distribution for continued free security patches.

JDK 17 (≥17.0.13)

⚠️ Requires a commercial Oracle Java SE subscription. The NFTC license expired for these releases in September 2024.

Purchase a subscription, upgrade to JDK 25 (Option 2), or switch to an OpenJDK distribution (Option 4).

JDK 21 ✅

Free under NFTC until September 2026. After that, security patches require a subscription.

Upgrade to JDK 25 or switch to an OpenJDK distribution before the NFTC window closes.

JDK 25 ✅

Free under NFTC until September 2028, one year after Java 29 LTS (planned September 2027).

Currently the safest Oracle JDK option for production use. Evaluate an OpenJDK distribution to avoid the next license deadline.

Non-LTS (e.g. JDK 26)

Available under NFTC for the entire planned six-month support life. No further updates after that window closes.

Upgrade to the next release before the six-month window closes.

Verify current terms at oracle.com/java/technologies/javase/jdk-faqs.html. Oracle may revise license terms at any time.

What Changed — Three Licensing Updates Since 2019

First change: April 2019 — subscription required for security updates

The first licensing change became effective in April 2019. Oracle replaced the Oracle Binary Code License (BCL) with the Oracle Technology Network (OTN) License Agreement. Under the OTN license, Oracle requires users to purchase an annual subscription to obtain critical security patches for Oracle JDK used in production workloads.

This change applied to the Java Runtime for Java 7, 8 and 11. The last free Oracle JDK 8 update was 8u202, released in January 2019. All subsequent Oracle JDK 8 updates — from 8u211 onwards — require a subscription. All releases of Oracle JDK 11 require a subscription. The OTN license does permit free use for development, testing and demonstration, but not for production workloads.

As of October 2024, Oracle had released 213 security patches since the last free update (Source: Gartner, January 2025). Nearly all these vulnerabilities can be exploited over a network without authentication. Organizations running unpatched production workloads carry significant security risk even if no license violation is present.

Second change: September 2021 — NFTC license introduced for new LTS releases

Starting with Java 17 in September 2021, Oracle began licensing new releases under the No-Fee Terms and Conditions (NFTC) license. This permits free commercial use, including production workloads, for a defined period.

For LTS releases, Oracle provides free quarterly updates until one year after the next LTS release. Oracle released JDK 25 in September 2025; accordingly, free updates for JDK 21 are available until September 2026. Free updates for JDK 25 are planned until September 2028, one year after Java 29 LTS, which Oracle currently plans to release in September 2027. See the Oracle Java SE Support Roadmap for the current schedule.

The NFTC license expired for Oracle JDK 17 in September 2024. Build 17.0.12, released in July 2024, was the last free update. All subsequent JDK 17 releases are licensed under the OTN agreement and require a subscription for production use.

Non-LTS releases — such as JDK 24 and JDK 26 — are available under the NFTC for their entire planned six-month support life. No further updates are provided after that window closes.

Important: The NFTC license does not apply to previous LTS releases. It does not apply to Java 8, 11 or 17 (post-17.0.12). It also does not apply if an organization has previously received that JDK version under a paid Oracle Master Agreement or Java SE subscription.

Third change: January 2023 — employee-based subscription metric

The third licensing change became effective in January 2023. Oracle revised the default Oracle Java SE subscription model, replacing the previous Named User Plus (NUP) and Processor metrics with a single Employee metric.

Under the Employee metric, an organization must license all employees regardless of whether they use Oracle Java. Oracle defines "employees" to include all full-time, part-time and temporary staff, as well as all agents, contractors, outsourcers and consultants that support the organization's internal business operations.

"...all of Your full-time, part-time, temporary employees, and all of the full-time employees, part-time employees and temporary employees of Your agents, contractors, outsourcers, and consultants that support Your internal business operations."

Oracle Java SE Universal Subscription license terms

This metric change often generates a significantly higher annual fee. According to Gartner, most clients indicate the new subscription model is two to five times more expensive than the legacy model. House of Brick Technologies calculated that a medium-sized company could experience a cost increase of up to 1,400%.

What the 2023 change means for total cost of ownership

The shift to employee-based pricing decouples cost from actual Java usage. An organization with 10,000 employees but only 50 servers running Java faces the same license metric as one with Java on every desktop. The table below illustrates how this affects organizations of different sizes, compared to a server-based OpenJDK distribution support model.

Employee Band

Monthly Rate / Employee

Annual Cost / Employee

1 – 999

$15.00

$180.00

1,000 – 2,999

$12.00

$144.00

3,000 – 9,999

$10.00

$120.00

10,000 – 19,999

$8.00

$96.00

20,000 – 29,999

$7.00

$84.00

30,000 – 39,999

$6.00

$72.00

40,000 – 49,999

$5.25

$63.00

50,000+

Contact Oracle

Custom quote

Source: Oracle Java SE Subscription FAQ. Prices subject to change. Verify current rates at oracle.com.

Existing subscribers: Although Oracle no longer offers the legacy NUP and Processor metrics to new customers, existing customers may be able to renew under legacy terms. Oracle does not publish a price list for the legacy model; prices may vary. When preparing for a negotiation, organizations should calculate the subscription cost under both the legacy and current metrics.

How Do These Changes Affect Your Java Environment?

The key practical question for most organizations is: which version of Oracle JDK are we running, and what does that mean for our compliance and security position? The table below maps every current Oracle JDK version to its license status, patch availability, and recommended action.

Version

Status

License

Free patches?

JDK 6 & 7 (≤7u80)

Compliant under BCL, but no security patches for years. End of life.

BCL (historical). Free to run.

No

JDK 8 (≤8u202)

Compliant under BCL. 213+ security patches released since January 2019.

BCL (historical). Free to run; updates require subscription.

No

JDK 8 (≥8u211)

⚠️ Subscription required for production use.

OTN — dev/test free. Production = paid subscription.

Subscription only

JDK 11

⚠️ All releases require a subscription for production use.

OTN — dev/test free. Production = paid subscription.

Subscription only

JDK 17 (≤17.0.12)

NFTC-compliant. Oracle stopped providing free security patches in September 2024. Not recommended for production.

NFTC (no further free updates from Oracle).

No (ended Sep 2024)

JDK 17 (≥17.0.13)

⚠️ NFTC expired. Subscription required for production use.

OTN — subscription required for production.

Subscription only

JDK 21 ✅

Free under NFTC until September 2026. Plan for next transition.

NFTC for all users. OTN applies after September 2026.

Yes (until Sep 2026)

JDK 25 ✅

Free under NFTC until September 2028. Current recommended Oracle LTS.

NFTC for all users. OTN applies after September 2028.

Yes (until Sep 2028)

JDK 26 (non-LTS)

Free under NFTC. Six-month support life.

NFTC for all users.

Yes (until Sep 2026)

JDK 27 (non-LTS)

Free under NFTC. Six-month support life.

NFTC for all users.

Yes (until Mar 2027)

3 Steps to Manage Your Exposure

The following three-step framework helps organizations understand the scope of their Oracle Java SE subscription requirement, calculate costs across all available models, and make an informed decision about the most appropriate path forward
Step 1: Inventory — map your Oracle JDK deployments

Before you can assess exposure or calculate cost, you need to know what you have. Work with your software asset management (SAM) function and operations leaders to create a comprehensive inventory. This inventory should document:

  •   Which versions of Oracle JDK are deployed and where.
  •   Which applications are using Oracle JDK and whether those are production, development or test deployments.
  •   Whether server virtualization is in use. Oracle typically requires licensing every physical core in a virtualization estate, regardless of how many virtual cores are running Oracle JDK.
  •   Whether any third-party applications bundle Oracle JDK. Check with those vendors about their Java licensing position.

Treat this inventory as an ongoing process rather than a single point-in-time exercise. Regular maintenance is required to ensure continued compliance.

Step 2: Assess — identify what requires a license and calculate the cost

With your inventory in hand, you can now determine which of your deployments require a commercial subscription and calculate what each available path will cost

Which scenarios require a subscription?

If anyone in your organization has downloaded any Oracle Java SE updates since April 2019, you probably need a subscription, and you may have a compliance risk.

The practical scenarios that require an Oracle Java SE subscription are:

  •   Any Oracle JDK 8 build from 8u211 onwards deployed in production.
  •   Any Oracle JDK 11 build deployed in production.
  •   Any Oracle JDK 17 build from 17.0.13 onwards deployed in production.
  •   Any Oracle JDK version where developers use production tooling as part of their work — development use typically also requires a subscription.

Scenarios that do not require a subscription include: running Java workloads exclusively on Oracle Cloud Infrastructure (OCI) or Oracle Private Cloud Appliance (PCA); using Oracle JDK exclusively for development, testing and demonstration; running Java applications that include a bundled redistribution license; using Oracle JDK 8 versions released before April 2019 (8u202 or earlier); using Oracle JDK 17 versions released before October 2024 (17.0.12 or earlier); and using Oracle JDK 21 or Oracle JDK 25 under the current NFTC license.

Note on bundled licenses: Oracle includes a restricted-use license to use Oracle JDK with all licensed Oracle Fusion Middleware and stand-alone Oracle middleware products. This bundled license applies exclusively to Oracle applications — it does not extend to other Java workloads in the same environment.

Calculate your Oracle subscription cost — current Employee metric

The Oracle Java SE Universal Subscription is priced per employee — every employee in your organization, not just those who use Java. The pricing tiers below apply to the current model.

Employee Band

Monthly Rate / Employee

Annual Cost / Employee

1 – 999

$15.00

$180.00

1,000 – 2,999

$12.00

$144.00

3,000 – 9,999

$10.00

$120.00

10,000 – 19,999

$8.00

$96.00

20,000 – 29,999

$7.00

$84.00

30,000 – 39,999

$6.00

$72.00

40,000 – 49,999

$5.25

$63.00

50,000+

Contact Oracle

Custom quote

Source: Oracle Java SE Subscription FAQ. Prices subject to change. Verify current rates at oracle.com.

Compare: Oracle subscription vs. OpenJDK distribution support

The table below compares the annual cost of Oracle's employee-based subscription, the legacy Oracle Processor model, and Liberica JDK Enterprise support, which is priced per server, not per employee. For organizations with large workforces and relatively modest server counts, the difference is substantial.

Servers

Employees

Oracle Java SE subscription / year

Liberica JDK / year*

50

250

$45,000

~$15,000

500

2,500

$360,000

~$70,000

1,000

10,000

$990,000

~$90,000

2,000

50,000

$3,150,000

~$165,000

*Liberica JDK Enterprise support is priced per server, not per employee. See bell-sw.com/support/ for published pricing. Use the interactive savings calculator to estimate your specific cost reduction.

Oracle Vigorously Pursues License Compliance

According to Gartner client interactions, Oracle actively targets organizations on Java compliance, including both existing Oracle customers and organizations without any other Oracle products, and deploys its global Java licensing team to enforce compliance.

Most of this activity takes the form of compliance outreach rather than formal audits. Oracle may notify organizations of licensing changes or potential compliance issues and request time to discuss the matter. Oracle may also assert compliance issues based on publicly available employee counts or request that organizations provide Java deployment information.

If Oracle contacts your organization about Java licensing, it is advisable to validate your information-sharing obligations under any applicable Oracle agreement before responding. Treat informal compliance outreach with the same care you would apply to a formal audit notice.

Organizations that identify and resolve compliance gaps before any Oracle outreach are in a significantly stronger negotiating position than those responding to a contact they did not anticipate. A regular Java inventory, conducted at least annually, and updated whenever new software is deployed or decommissioned, is a sound practice. A single unmanaged Oracle JDK installation in a production environment is sufficient to bring the entire organization within the scope of the Universal Subscription. The steps outlined below provide a framework for calculating that exposure and evaluating the available responses.

Step 3:Decide — evaluate options by cost, risk, and engineering effort

With a clear picture of your deployments and the cost of each path, you can now make an informed decision. The right answer depends on three factors: the financial cost of each option, the security and compliance risk of doing nothing, and the technical effort required to implement 

Option 1: Revert to the last free update

This option has no subscription fees but carries significant security risk. It should be considered only as a short-term measure while a longer-term solution is implemented.

This option involves removing all deployments of Oracle JDK beyond the last free build (8u202 for JDK 8; 17.0.12 for JDK 17) and returning to those versions. The effort required is relatively modest.

The security risk is substantial. Beyond the immediate vulnerability exposure, organizations running unpatched releases may find that customers or end users decline to accept their products on these versions, that security auditors will not allow workloads on these releases to pass compliance checks, or that cyber insurance policies become difficult to maintain. When those pressures arrive, remediation typically happens under time constraints rather than on a planned schedule.

This option is not recommended as a permanent solution. Organizations adopting it should have a clear plan and timeline for implementing one of the alternatives below.

Option 2: Upgrade to Oracle JDK 25

This option eliminates the subscription requirement on a durable basis but requires a significant amount of software engineering work and may not be achievable for all applications in the near term.

Upgrading all Java applications to JDK 25 would eliminate the requirement to purchase an Oracle Java SE subscription. Oracle JDK 25 is available free of charge under the NFTC license until September 2028.

The amount of engineering effort depends on the number of applications, which versions those applications currently use and whether they are homegrown or purchased. An upgrade from JDK 8 to JDK 25 requires code modifications and comprehensive testing. Purchased applications will typically require upgrading to current vendor-supported versions, and not all application vendors may yet support JDK 25.

Planning note: Organizations that are not able to complete the upgrade before September 2028, at which point the JDK 25 NFTC window closes, may need to purchase a subscription during the transition period. A subsequent upgrade to JDK 29 will be required before that date to maintain continued free access to updates. A continuous upgrade practice is required to remain on the free LTS release at all times.

Upgrading to Oracle JDK 25 is a viable long-term option for organizations prepared to invest in the engineering work required and to adopt a regular JDK upgrade cadence.

Option 3: Switch to an OpenJDK distribution

This option is quite viable and, for most organizations, requires a relatively modest amount of testing with minimal reprogramming. Purchasing support from an OpenJDK vendor provides a guarantee that the behavior of your workloads will not change during migration, giving your team confidence and significantly reducing the internal overhead of the transition.

OpenJDK distributions, such as BellSoft Liberica JDK, are based on the same open-source code as Oracle JDK. For the vast majority of applications, they are drop-in replacements that require no changes to application source code. Switching requires removing Oracle JDK from all desktops and servers and replacing it with the chosen distribution.

Most OpenJDK vendors support JDK 8, 11, 17, 21 and 25. This means organizations are not required to change their Java version as part of the migration. An application currently running on JDK 8 or JDK 11 can switch to an OpenJDK distribution of the same version and continue to receive free security patches. BellSoft provides security patches for JDK 8 until 2031.

For environments with custom builds or complex configurations, purchasing commercial support from an OpenJDK vendor is advisable. This provides certified expertise in JDK internals, a defined path through the migration, and accountability for the outcome, reducing the risk and internal effort compared to managing the migration independently.

Two considerations may limit the applicability of this option. First, some application vendors specify that their products must run on Oracle JDK; those support agreements may require renegotiation. Second, OpenJDK distributions do not include the proprietary Java Plug-In for browser applets, though open-source alternatives are available. Organizations with applet-based applications should prioritize their modernization.

Liberica JDK

BellSoft Liberica JDK is a TCK-verified OpenJDK distribution available free of charge for commercial use under an open-source license. Commercial support subscriptions are available and are priced per server rather than per employee. Liberica JDK supports JDK 6, 7, 8, 11, 17, 21 and 25 across a wide range of operating systems and hardware architectures.

Enterprise subscribers receive access to custom builds, extended LTS support, Liberica JDK Performance Edition, Native Image Kit, and pre-built container images with Liberica JDK Lite, along with direct access to Java engineers to guide your migration and ensure a successful outcome. For a full comparison of available OpenJDK distributions, see the OpenJDK distributions comparison guide.

Download Liberica JDK — free | Calculate your savings | View enterprise support pricing

Frequently Asked Questions

Is a subscription required if I am on JDK 8u202 or an earlier release?

No. Build 8u202 and earlier releases of Oracle JDK 8 were licensed under the BCL, which permitted free commercial use. These builds remain technically license-compliant. However, as of October 2024, Oracle had released 213 security patches since that release. Running them in production represents a significant security risk.

The OTN license permits free use of Oracle JDK for development, testing, prototyping and demonstration. However, developers who use production tooling as part of their work are generally considered to require a subscription. Consult your Oracle agreement for the specific terms applicable to your situation.

Can existing subscribers renew under the legacy NUP or Processor metric?

Oracle no longer offers the legacy metrics to new customers, but existing subscribers may be able to renew under legacy terms. Oracle does not publish a price list for the legacy model. When preparing for a negotiation, calculate costs under both the legacy and current Employee metrics to inform your position.

Is Java 21 free for commercial use?

Yes, under the NFTC license until September 2026, one year after Oracle JDK 25 LTS was released in September 2025. After that date, Oracle intends to apply the OTN license for subsequent JDK 21 updates, the same license currently used for Java 8, 11 and 17.

Is Java 25 free for commercial use?

Yes, under the NFTC license until September 2028, one year after Java 29 LTS, which Oracle currently plans to release in September 2027. After that date, Oracle intends to apply the OTN license for subsequent JDK 25 updates.

Can I avoid a subscription by switching to an OpenJDK distribution?

Yes, provided that all Oracle JDK deployments are removed from your environment and replaced with an OpenJDK distribution. If any single application continues to use unlicensed Oracle JDK, a subscription is required. Individual applications can use different JDK distributions. It is not necessary to standardize the entire estate on a single product.

What is the difference between Oracle JDK and an OpenJDK distribution?

Oracle JDK and OpenJDK distributions are built from the same open-source codebase and pass the same Technology Compatibility Kit (TCK) compatibility tests. Oracle JDK requires a commercial subscription for sustained production updates. OpenJDK distributions from vendors such as BellSoft, Amazon, Eclipse Adoptium and Azul are available free of charge under open-source licenses, with optional commercial support subscriptions.

References and Useful Links

Disclaimer: BellSoft is a Java runtime vendor. Nothing in this article constitutes legal or compliance advice. Consult a qualified Oracle licensing specialist or legal counsel for advice specific to your situation.

Subcribe to our newsletter

figure

Read the industry news, receive solutions to your problems, and find the ways to save money.

Further reading