Understanding the Java Runtime Environment

The Java Runtime Environment (JRE) is the stripped-down, execution-only component of the Java platform. It contains everything needed to run Java applications: the Java Virtual Machine (JVM), core libraries, and supporting files. Critically, the JRE does not include a compiler, debugger, or development tools—those are bundled in the Java Development Kit (JDK).

For many organizations, this distinction has become increasingly important because Oracle's licensing model treats JRE deployments differently from JDK deployments. Understanding what you actually have running in your estate—and whether it's a JDK or a JRE—is foundational to compliance.

The Evolution of Oracle's JRE Licensing

Oracle's approach to JRE licensing has shifted dramatically over the past decade. Prior to January 2019, the JRE 8 and earlier versions were freely downloadable and could be deployed in production at no cost under the Oracle Binary Code License Agreement (BCLA). This was a key reason many organizations built massive deployments of Java 8.

That changed on January 1, 2019. Starting from that date, any Oracle JRE 8 update released after the transition—or any newer JRE version—required a paid commercial subscription for production use. This move surprised many organizations that had assumed "free Java" would continue indefinitely. The shift was Oracle's attempt to align Java licensing with how it operates JDK licensing and to create a more predictable revenue stream.

Today, organizations running Oracle JRE in production have only two paths: purchase a Java SE subscription or migrate to an open-source Java distribution.

The Removal of Standalone JRE Downloads

Starting with Java 9, Oracle stopped offering standalone JRE downloads through its official channels. This architectural change was driven by Java's shift to a modular platform, introduced through the Java Platform Module System (JPMS). Instead of downloading a pre-built runtime, modern Java applications use a tool called jlink to create custom, application-specific runtime images that include only the modules the application requires.

For developers and deployers, this means:

  • Smaller runtime footprints: A jlink-generated JRE can be significantly smaller than the full JRE because it excludes unnecessary modules.
  • Reduced attack surface: Fewer modules mean fewer potential security vulnerabilities in the runtime.
  • More control: Organizations can tune the runtime precisely to their application's needs.

However, this architectural shift has complicated licensing audits. Oracle's License Management Services (LMS) tools can detect JRE installations embedded in application directories, but determining ownership and responsibility—whether the organization or the application vendor bears the licensing obligation—requires careful contract analysis.

Oracle JRE 8: The Licensing Trap

Java 8 remains the most widely deployed Java version globally, and many organizations are still running it in production. This creates immediate licensing exposure for those who haven't yet purchased a Java SE subscription.

The licensing requirement is clear: any Oracle JRE 8 update released on or after January 1, 2019 requires a Java SE subscription for production use. The important phrase here is "update released after the transition date." This means:

  • Versions before the transition (e.g., 8u171 and earlier) technically fall under the older BCLA terms, though organizations should verify their specific edition and usage.
  • Updates from January 2019 onward (8u172 through the latest) are covered under the Java SE subscription model.
  • Using an older update to avoid licensing costs is not a sustainable compliance strategy, as it leaves systems exposed to known security vulnerabilities.
"Using an older update to avoid licensing costs is not a sustainable compliance strategy—security must always take priority over licensing cost avoidance."

Organizations with large Java 8 estates face a critical decision: invest in a migration to a newer Java version or newer JDK, or purchase a Java SE subscription to remain compliant. Each path has cost and operational implications, making audit and assessment essential.

The Java SE Universal Subscription Model

In January 2023, Oracle introduced the Java SE Universal Subscription, consolidating previously separate licensing models under a single metric: employee count. Under this model, the subscription covers both JDK and JRE deployments across your organization.

The licensing scope is broad and includes:

  • All full-time employees: Direct headcount on the organization's payroll.
  • Part-time employees: Any employee working less than full-time still counts as one unit.
  • Temporary staff and contractors: Anyone supporting internal operations, even on a contract basis, is included in the count.
  • Consultants: External advisors working on your systems or infrastructure are measured.

This expansion of the definition of "employee" often surprises organizations—it's much broader than traditional headcount and can significantly increase licensing obligations. A consulting firm with 50 FTE employees but 150 contract workers supporting their infrastructure would count all 200 units for Java SE licensing purposes.

The Java SE Universal Subscription effectively eliminates the distinction between JDK and JRE for licensing purposes. If your organization is licensed, you are licensed for both. This simplifies compliance in some ways but increases the cost of the subscription itself because Oracle is pricing it assuming comprehensive coverage.

The NFTC License Trap: Not "Free Forever"

Oracle offers the No-Fee Terms and Conditions (NFTC) license for JDK 17 and later. For organizations seeking to avoid licensing costs, the NFTC license appears to be a solution: free-to-use updates for the latest Java versions without commercial licensing.

However, there is a critical limitation that many organizations overlook: NFTC free updates ended in September 2024 for JDK 17. Free updates only continue for the current Long-Term Support (LTS) version at any given time. When a new LTS version is released, the free update window for the previous LTS closes.

This means:

  • Organizations on JDK 17 relying on NFTC lost access to free updates when JDK 21 (the next LTS) was released and officially designated as current.
  • JDK 21 currently has free updates under NFTC, but those will end when JDK 23 or later is designated as the next LTS.
  • Organizations cannot "camp" on an older LTS version while expecting perpetual free updates—the free window is time-limited.

The NFTC license is better understood as a trial or migration path rather than a permanent free solution. Organizations relying on it should have a clear upgrade strategy to stay within the free window, or they must be prepared to purchase a subscription when free updates expire.

Oracle JRE Embedded in Third-Party Applications

Many enterprise applications bundle Oracle's JRE with their product. When a software vendor includes an Oracle JRE, the licensing responsibility becomes ambiguous: does the burden fall on the vendor (who distributed it) or the customer (who deployed it)?

The answer depends on the vendor's distribution agreement with Oracle. Some vendors have explicit rights to distribute Oracle JRE under the terms of their Oracle license or OEM agreement. In those cases, the vendor's obligation is to account for those distributions in their own Oracle licensing, and the customer may have no direct obligation to Oracle. Conversely, if the vendor lacks distribution rights or sublicensing authority, the obligation may pass through to the customer.

The only way to know is to examine the vendor's contract and their Oracle licensing arrangements. Many organizations discover during an audit that they're running embedded Oracle JRE in applications where they assumed the vendor was handling compliance. Oracle's LMS tools detect these installations, and auditors will ask how the organization accounts for them.

Prepare for audits with our assessment tools to identify all Oracle JRE installations in your estate, including embedded and hidden deployments.

What Organizations Need to Know: The Compliance Checklist

Given the complexity of Oracle Java licensing, IT leaders should focus on these key actions:

  • Inventory all Java deployments: Create an authoritative list of every JRE and JDK installation in your environment, including version, location, and whether it was deployed directly or embedded in an application.
  • Distinguish JRE from JDK: Understand which systems actually need JDK (development environments, build servers) versus those that only need JRE (application servers, end-user machines). This distinction affects licensing strategy.
  • Audit embedded deployments: For applications bundling JRE, obtain vendor documentation showing whether Oracle licensing is the vendor's responsibility or yours.
  • Review Java 8 exposure: If you're still running JRE 8 updates from January 2019 onward, you have a licensing obligation that requires either subscription purchase or migration.
  • Plan your LTS strategy: If using NFTC-licensed Java versions, establish a proactive upgrade roadmap to stay within the free update window. Drifting out of that window creates unplanned licensing costs.
  • Understand your employee count: Calculate the total employee count for Java SE Universal Subscription purposes, including part-time, temporary, and contract staff—the definition is broader than most assume.
  • Review third-party application vendors: Ask vendors explicitly about their Oracle licensing arrangements and whether any bundled JRE licensing responsibility transfers to you.

Oracle Support Fees and the 8% Escalation Clause

Organizations often focus on the initial license cost and overlook the long-term cost of support. Oracle support fees increase by 8% per year, compounding over time. A five-year Java SE subscription commitment will see support costs rise by over 46% from the starting point.

This escalation clause is standard in Oracle agreements and applies to most products in the Oracle portfolio. It's a hidden cost that can significantly impact the true cost of ownership for Java licensing over time. When evaluating a Java SE subscription, ensure financial projections account for the annual 8% increase in support costs.

Oracle Agreements: What Actually Exists

Organizations sometimes reference "Enterprise Agreements" as if Oracle has a standard Enterprise Agreement offering, similar to Microsoft. Oracle does not have Enterprise Agreements. The valid agreement types under which Oracle sells Java SE and other products are:

  • ULA (Unlimited License Agreement): A fixed-fee agreement providing unlimited use of specified products for a defined term, useful for organizations with unpredictable or high-volume needs.
  • PULA (Partial Unlimited License Agreement): Similar to ULA but covering a subset of products or users.
  • OCS (Oracle Cloud Standard Agreement): For cloud deployments, defining licensing obligations for instances and workloads.
  • CSI (Consulting Services Agreement): Under which consultants or managed service providers might negotiate specific licensing terms.

If a vendor or sales team references an "Enterprise Agreement," they are either mistaken or selling a customized arrangement that doesn't fit Oracle's standard taxonomy. Always verify the actual agreement type and its terms.

Open-Source Alternatives: OpenJDK Distributions

For organizations seeking to eliminate Oracle licensing entirely, open-source Java distributions are a viable path. Distributions such as Adoptium Temurin, Amazon Corretto, and Azul offer Java runtimes built from OpenJDK source code. These distributions include the runtime environment and can be deployed at no cost without Oracle licensing obligations.

Key characteristics of these distributions:

  • Functionally equivalent to Oracle JDK for most applications—they pass Oracle's Technology Compatibility Kit (TCK).
  • No licensing fees, regardless of how many instances you deploy or how many employees you have.
  • Support options available from vendors like Azul or Amazon, or through community channels.
  • Different release cadences and support windows than Oracle's, requiring organizational awareness of update schedules.

Migration from Oracle to OpenJDK distributions is often straightforward for applications, though operational teams need to evaluate support options and update management processes. For many organizations, this is the most cost-effective long-term strategy.

Oracle's LMS Audit Capabilities

Organizations often don't realize the extent to which Oracle's License Management Services tools can detect Java deployments. Oracle's LMS scripts can identify:

  • JRE installations in standard locations (Program Files, /opt, /usr/local).
  • JRE and JDK bundled within application directories.
  • Running Java processes and their source binaries.
  • Registry entries and installation metadata (on Windows).

The combination of Oracle's audit tools and Oracle's access to telemetry data (if automatic updates are enabled) means that Oracle often has visibility into Java deployments before your organization does. When an audit begins, Oracle frequently arrives with a list of deployments the organization forgot about or wasn't aware of.

Conduct a proactive audit assessment today to understand your exposure before Oracle initiates contact.

Summary: The Path Forward

Oracle Java JRE licensing is no longer the "free option" it once was. The shift to a paid model, the removal of standalone JRE downloads, and the introduction of employee-based metrics have fundamentally changed how organizations must approach Java licensing.

The core takeaway is clear: Java deployments in production require either a Java SE subscription, reliance on open-source distributions, or sustained use of unsupported and increasingly insecure versions. Organizations that assume their Java deployments are perpetually free are likely to face audit findings and unexpected compliance costs.

Proactive assessment, clear inventory, and a defined licensing strategy—whether that's purchasing subscriptions, migrating to open-source distributions, or a hybrid approach—are essential to managing Oracle Java licensing risk in the modern environment.