2019 Java Licensing Changes:
- Subscription Requirement: Java JDK 8 updates require a subscription.
- New OTN SE License: Restricted all commercial usage without a license.
- Impact on BCLA: The old BCLA became more challenging to comply with.
- April 2020 Deadline: Changes took effect, requiring compliance shifts.
In 2019, Oracle made pivotal changes to the licensing model for Oracle Java JDK 8, fundamentally altering how organizations could use and maintain their Java environments. The Oracleย Java licensing overview provides a foundation for understanding how licensing has evolved.
These changes required companies to reassess their compliance strategies and introduced significant new costs for continuing to use Java JDK 8 in commercial settings.
Below, we provide an in-depth look at Oracle’s key changes in 2019 and their impact on users.
2019 Java Licensing Changes
Executive Summary: In 2019, Oracle implemented a major overhaul of Java SE licensing, ending free public updates and introducing a paid subscription model.
These changes forced enterprises to rethink how they use and support Java, making Java a budget and compliance concern for CIOs and CTOs concerned with cost management and audit risk.
Background: Java Licensing Before 2019
For years before 2019, Oracle (and previously Sun Microsystems) provided the Java Standard Edition (Java SE) free of charge for general use.
Under the historical Binary Code License Agreement (BCLA), businesses could deploy Java runtime and updates for most โgeneral purpose computingโ scenarios at no cost.
Java was essentially a free utility;ย enterprises could install it on servers and desktops without worrying about license fees. Support was optional:
Companies that needed direct support or long-term updates could purchase a support contract, but it wasnโt mandatory for using Java.
In practice, most organizations freely used Oracleโs Java Development Kit (JDK) and Java Runtime Environment (JRE) across their IT environments, and regular public updates kept their Java installations secure.
However, this free-use model created a gap in Oracleโs monetization.
By 2018, Oracle signaled that changes were coming. They had already started offering commercial Java add-ons (like Java Mission Control and Java Flight Recorder) as paid features.
CIOs and IT Asset Managers began hearing that the โfree Javaโ era was coming to an end, prompting questions about future budgeting and compliance requirements.
Oracleโs 2019 Licensing Overhaul
In 2019, Oracle fundamentally changed how organizations must license Java SE. Two pivotal changes occurred:
- End of Free Public Updates: As of January 2019, Oracle stopped providing free public updates for commercial users for Java SE 8 (the widely used version). Critical patches and security updates for Java 8 (beyond update 202) would now be available only to customers with a paid Java SE subscription. This was a turning point: businesses could no longer rely on Oracleโs free updates to keep Java secure on production systems. Versionโspecific guidance on Javaย 8 is available in Oracleย Javaย 8 licensing explained: security patches and subscription requirements.
- New OTN License Agreement: Oracle introduced the Oracle Technology Network (OTN) License for Java, replacing the old BCLA for new downloads. The OTN license (effective April 2019) explicitly forbids commercial use of Oracle JDK/JRE without a subscription. It permits free use only for development, testing, prototyping, and personal/non-production purposes. Any production or commercial use of Oracle Java now requires a paid license. This closed the loophole previously allowing free runtime use in general business applications. Those using older releases should review Oracleย Java licensing for legacy versions โ Javaย 6/7/8/11.
Together, these changes effectively meant that if an enterprise wanted to use Oracleโs Java in production (even Java 8 updates), it had to start paying Oracle. The โfree rideโ was over, catching many organizations off guard.
Some companies running Java in countless applications suddenly faced compliance risks and potential unbudgeted costs. Oracle gave a transition period (the changes took effect for new updates in 2019 and were fully implemented by early 2020), but the direction was clear.
Java SE Subscription Model: Named User Plus and Processor Licenses
Oracle introduced theย Java SE subscriptionย offering to accommodate this new payment requirement. A clear introduction to licensing fundamentals is provided in Oracleย Java licensing explained.
This subscription licensing model (first announced in mid-2018 and enforced in 2019) provided the rights to use Java SE in production and receive updates and support.
Key aspects of the Java SE Subscription model included:
- Two License Metrics: Oracle offered subscriptions measured by either Named User Plus (NUP) or Processor:
- Named User Plus licenses are applied primarily to desktop or end-user scenarios. Each named individual using Java (or each user on a device with Java) needed a license. Oracleโs license definition typically counted all users authorized to use the software on a device, not just those in concurrent use.
- Processor licenses are applied to server or backend environments. Each physical or virtual processor (CPU core, factoring Oracleโs core multiplier table) running Java required a license.
- Pricing Structure: The Java SE Subscription was priced per user or processor. For example, the list price was roughly $2.50 per Named User Plus per month for desktop deployments, and $25 per processor per month for servers. This translates to $30 per user per year or $300 per processor per year at list price. These subscription fees granted access to all updates, patches, and support for Java SE. (Oracle also continued to offer higher-tier Java SE Advanced products at higher prices, but those were separate bundlesโmost enterprises just needed standard Java SE.)
- Support & Uplift: The subscription included Oracleโs Java support services. Like other Oracle products, annual renewals were subject to support renewal uplifts (standard yearly price increases in the range of ~8%), meaning the cost could rise over time. CIOs needed to plan for these uplifts in long-term budgeting, as a year of support today might cost more in subsequent years. For a broader cost perspective, see Oracleย Java licensing models: evolution and pricing.
This model represented a significant new operating expense for companies with Java deployed broadly.
For instance, consider an enterprise with 500 servers running Java and 1,000 desktop users of Java applications:
- Under the new model, that enterprise must purchase licenses for all those deployments (e.g., 500 processors and 1,000 NUP). At list prices, thatโs roughly $150,000 annually (plus support uplift annually).
- Before 2019, the same usage would have cost $0 in license fees (if they didnโt have a support contract). The only cost was internal resources to manage updates.
The Java SE Subscription was an โall-or-nothingโ compliance requirement: any commercial use of Oracle Java required proper licensing.
Oracleโs contracts clarified that even one unlicensed Java installation could bring the organization into compliance. To see the progression, Oracleย Java licensing changesย 2024 โ the end of the NF/TC era connects the 2019 shift to more recent policies.
This put pressure on IT Asset Management (ITAM) teams to discover all Java installations and either remove/update, or license them.
Enterprise Impact and Challenges
For CIOs, CTOs, and Procurement Heads, Oracleโs 2019 Java licensing changes introduced several challenges:
- Budget Shock: Organizations had to allocate a budget for Java runtime licensing for the first time. Java, once free, now has a tangible cost. This was often an unplanned expense hitting mid-cycle, forcing trade-offs or emergency budget requests. Especially for large enterprises with thousands of Java instances, the costs could reach six or seven figures annually, impacting IT budgets and ROI calculations for Java-based projects.
- Compliance Risk and Audits: With the new rules, running Oracle Java without a subscription became non-compliant. Oracleโs License Management Services (LMS) began to include Java in their audit scope. By 2020, reports indicated Oracle was actively auditing customersโ Java usage. CIOs had to worry about audits not just for Oracle databases or middleware but also for ubiquitous Java installations. Non-compliance could result in substantial backdated fees or penalties. This raised the stakes for Software Asset Management teams to get Java usage under control.
- Inventory and Tracking Difficulty: Java is often embedded or quietly installed in many applications and servers. Tracking every installation (including versions, patch levels, and usage) became critical. Enterprises struggled with visibility: many discovered that Java was installed in places they hadnโt realized (e.g., developer workstations, build servers, and third-party enterprise software that bundled Java). Implementing stronger inventory tools and processes for Java became a priority.
- Security vs. Cost Dilemma: Some companies initially considered using older Java versions without updates to avoid subscription costs. However, this presented a security risk, as unpatched Java vulnerabilities could threaten the business. CIOs had to balance the cost of licensing against the risk of running outdated software. In most cases, the security imperative meant organizations felt pressured to pay for subscriptions rather than fall behind on patches.
- Training and Policy Updates: The changes require the education of development teams and IT staff. Many engineers long assumed Java was free to use. Now, internal policies had to clarify that downloading Oracle JDK or updating Java could incur costs. Some firms instituted approval processes for Java installation or set policies to use alternative JDK distributions to avoid accidental non-compliance.
Below is a summary of Java SE usage rights before and after the 2019 changes:
Aspect | Pre-2019 (Oracle BCLA) | Post-2019 (Oracle OTN License) |
---|---|---|
Production Use | Allowed for general business use without fees (Java could be used freely on PCs and servers). | Not allowed without subscription. All commercial production use requires a paid Java SE Subscription. Dev/test use only is free. |
Public Updates | Oracle provided free public patches for Java (e.g., Java 8 updates) to all users. | Updates gated behind paywall. No free patches for Java 8 and beyond after cutoff; must pay for updates via subscription. |
Support from Oracle | None by default (available for purchase separately if needed). | Included with subscription (access to support and bug fixes as part of fee). No support if using without subscription (and you wouldnโt be licensed for production anyway). |
Licensing Terms | Binary Code License โ permissive for general use, some restrictions on redistribution and commercial features. | Oracle Technology Network License โ highly restrictive, forbids commercial deployment without prior purchase. |
This table highlights why 2019 was so disruptive: practically overnight, Oracle flipped Java from a free utility to a managed, chargeable enterprise product.
Enterprise Responses and Workarounds
CIOs and ITAM professionals did not sit idly in the face of these changes.
Common responses to the 2019 Java licensing shift included:
- Auditing Java Usage: Companies initiated internal audits to identify every Java installation and its necessity. Many formed tiger teams to root out โrogueโ Java instances and consolidate where possible, since each instance would otherwise need licensing or removal.
- Migrating to Open Source Java: Oracleโs JDK isnโt the only Java distribution. In response to Oracleโs move, many enterprises shifted to open-source builds of Java, such as AdoptOpenJDK (now Eclipse Adoptium) and OpenJDK builds by other vendors, including IBM, Red Hat, and Amazon. These alternatives are based on the same source code but come with different licenses (often GPL or other open licenses) that allow free use. CIOs had to weigh the pros and cons: using an open JDK eliminates Oracle licensing costs. However, the organization then lacks Oracleโs official support and might need to rely on community updates or third-party support providers. A preview of future changes can be found in Oracleย Java licensing changesย 2025 โ topย 20 insights and strategies.
- Staying on Older Versions Temporarily: Some organizations decided to freeze on Java 8 update 202 (the last free public update) to buy time. By not upgrading beyond that, they hoped to avoid immediate licensing. This was a strictly short-term tactic, which meant no security patches would be applied going forward. Most people understood that this wasnโt sustainable for more than a few months, except in isolated environments.
- Negotiating and Bundling: Larger enterprises entered negotiations with Oracle. Some sought discounts or special terms for Java, especially if they were already large Oracle customers. Others explored whether existing Oracle products they owned included Java rights. (Oracle did bundle Java SE rights within certain other software licenses, like WebLogic or Oracle E-Business Suite, for use only with those products. Enterprises tried to leverage those that were applicable to reduce standalone Java licenses.)
- Implementing Governance: Companies updated their software asset management policies to include Java as a key component. Governance steps included requiring approval for Oracle Java downloads, maintaining a repository of approved Java versions (and encouraging use of OpenJDK by default), and monitoring Java usage via endpoint management tools.
By the end of 2019, what had begun as a controversial change had settled into a new normal:ย Java was now a paid software asset that required management. CIOs had added Java to the list of line items in IT budgets and to the list of compliance risks to mitigate.
Recommendations
Enterprise technology leaders should take the following strategic actions in light of the 2019 Java licensing changes:
Monitor Oracleโs Java Policy Updates:
Oracleโs Java licensing policies continue to evolve. Keep an eye on announcements or changes (such as new license models or further restrictions) so you can adapt your strategy proactively.
What changed in 2019 was just the start of Oracleโs new approach to Java licensing.
Yes, the licensing changes applied to all Oracle Java JDK 8 commercial users worldwide.
1. Inventory All Java Deployments: Maintain an up-to-date inventory of where Java is installed (servers, VMs, desktops, applications). This is essential for compliance and making informed decisions on licensing or removal.
2. Assess Current Licensing Needs: Determine which Java installations require Oracleโs Java (and thus a subscription). Some internal applications might be able to run on open-source Java distributions as an alternative, reducing the need for Oracle licenses.
3. Migrate to OpenJDK Where Feasible: Develop a plan to transition from Oracle JDK to open-source OpenJDK builds for applications that do not strictly require Oracle support. If the open-source versions meet your needs, this can dramatically lower costs. Test critical applications with OpenJDK to ensure compatibility.
4. Stay on Supported Versions: If you continue using Oracle Java, avoid running out-of-date versions without support. The security and stability risks are high. Either subscribe and keep patched or migrate the workload off that Java installation.
5. Engage Vendors and Check Bundled Rights: For third-party software, including Java, check if your vendorโs license grants you Java usage rights (some Oracle products or other vendors have Java embedded with their licenses). This could cover your usage in those cases and avoid duplicate licensing.
6. Include Java in SAM and Audit Readiness: Treat Java like any other licensable software asset in your Software Asset Management program. Monitor usage continually and be prepared for an Oracle audit. Proactively true up licensing or remove non-compliant installations before an audit occurs.
7. Budget for Support Renewal Uplifts: If you commit to Oracleโs Java SE Subscription, factor in annual support cost increases. Oracle often applies a yearly uplift to subscription renewalsโtypically around 8%. Plan your IT budget not only for this yearโs Java costs but also for potential higher costs in subsequent years.
8. Negotiate Multi-Year or Volume Agreements: If Oracle Java is mission-critical for your organization, negotiate with Oracle for multi-year subscription deals or enterprise agreements that might provide better pricing. Consolidating Java licenses within a larger Oracle agreement could yield discounts compared to purchasing them ad hoc.
9. Educate Developers and IT Staff: Ensure all teams understand the new rules. Developers should be aware not to download the Oracle JDK for production use without proper licensing. Provide guidelines on when to use Oracle JDK vs. OpenJDK in development and production.
Read more about our Oracle License Management Services.