Java licensing

Java Licensing Changes 2019

The Java Licensing Changes 2019

  • Subscription Model: Introduced Java SE Subscription and Java SE Desktop Subscription.
  • Costs: Server deployments start at $25 per processor per month, and desktop deployments at $2.50 per user per month.
  • Commercial Features: A separate license is required for advanced tools, such as Java Flight Recorder and Java Mission Control.
  • Impact: This affects all commercial users needing updates and support from Oracle.

Java Licensing Changes 2019

Java Licensing Changes 2019

In 2019, Oracle significantly changed its Java SE licensing model, marking the end of the era of “free Java” for commercial use.

Oracle Java now requires a paid Java SE subscription for most business deployments, forcing enterprises to reassess their Java usage, budgets, and compliance strategies.

This article explains the 2019 licensing shift, its impact on IT organizations, and guides CIOs and IT asset managers on managing the transition to the new Oracle Java licensing regime.

Key Changes in Oracle Java Licensing Beginning 2019

Oracle’s January 2019 policy shift moved Java SE from a freely available platform to a subscription-based offering for commercial users. Key details include:

  • End of Free Updates: Oracle stopped providing free public updates and security patches for commercial use of Java SE 8 (and later versions) as of 2019. Businesses could no longer rely on Oracle’s free updates for production environments.
  • Java SE Subscription Model: Oracle introduced a Java SE subscription program. Organizations must purchase a subscription to receive updates, bug fixes, and support for Java in commercial settings. Two plans were offered: one for desktops (per-user licensing) and one for servers (per-processor/core licensing).
  • New License Terms (OTN License): Oracle replaced its old Binary Code License with a new Oracle Technology Network (OTN) License for Java. Under the OTN license, using Oracle JDK in production or for any commercial purpose now requires a paid subscription. Only certain uses (such as development, testing, and personal use) remain free of charge.
  • Oracle JDK vs OpenJDK Clarified: Oracle emphasized the distinction between its commercial Oracle JDK and the open-source OpenJDK. Oracle’s JDK builds require a subscription for commercial use. At the same time, OpenJDK (and third-party Java distributions) remain free to use under open-source licenses (but without Oracle’s support or long-term updates).

These changes took full effect in 2019, marking a turning point in how enterprises must approach Java licensing and support.

Pre-2019 vs. Post-2019 Java Licensing Models

The table below compares the old licensing model (before 2019) with the new model introduced in 2019:

AspectBefore 2019 (Legacy Model)After 2019 (New Model)
License CostNo license fees for Java SE runtime in commercial use (Java was free to use).Paid subscription required for commercial use of Oracle Java (Java SE Subscription).
Updates & PatchesFree public Java updates and security patches available to all users (including businesses) for Java SE 8 and earlier.Updates restricted to subscribers. No free public updates for commercial users beyond Java 8 update 202 (Jan 2019). Critical patches available only with an active subscription (or via OpenJDK alternatives).
License TermsOracle Binary Code License (BCL) – permitted broad use of Java without fees, with some restrictions on redistribution and commercial features.Oracle Technology Network (OTN) License – free for personal, development, and testing use; requires payment for production/commercial use. Stricter terms on what constitutes free use.
Oracle JDK vs OpenJDKOracle JDK was the default, freely used in enterprises; OpenJDK was available as the open-source reference but less commonly used in production.Oracle JDK now requires subscription for business use; OpenJDK (and other free Java distributions) become viable alternatives for enterprises to avoid fees (though without Oracle support).
Support & PatchingOracle provided free support in the form of public patches for older Java versions (Java 6, 7, 8) until end of 2018. Long-term support was available via paid Oracle contracts for certain products (Java SE Advanced, etc.), but not mandatory for basic usage.Oracle support is commercial-only. Java SE subscriptions include Oracle Premier Support (security updates, bug fixes, 24/7 support). Without a subscription, businesses must either forego patches (risking security) or self-support via open-source updates.

Oracle JDK vs. OpenJDK: Understanding the Difference

After 2019’s changes, organizations must choose between Oracle’s official JDK and open-source Java alternatives:

  • Oracle JDK (Commercial Oracle Java): Oracle JDK is Oracle’s certified Java runtime. Post-2019, it is provided under the OTN license for Java SE. Commercial use of Oracle JDK now requires a paid subscription. Subscribers get regular security updates, bug fixes, and Oracle Premier Support. The Oracle JDK is often favored for mission-critical enterprise applications due to Oracle’s support and the guarantee of long-term maintenance for LTS (Long-Term Support) versions. However, it comes with ongoing costs and requires tracking usage for compliance purposes.
  • OpenJDK (Open-Source Java): OpenJDK is the open-source reference implementation of Java, which Oracle also contributes to its development. It remains free to use even in production under an open-source GPL license (with the Classpath Exception). There is no cost to use OpenJDK, and many vendors provide their own builds (e.g., Eclipse Adoptium/AdoptOpenJDK, Amazon Corretto, Azul Zulu, Red Hat OpenJDK). The trade-off is support and updates: Oracle’s official OpenJDK builds are only updated for six months until the next Java version release. Community and third-party providers offer extended support for certain OpenJDK LTS versions, but enterprises may need to rely on in-house expertise or purchase support from third-party vendors. OpenJDK is attractive to organizations seeking to avoid new fees, but they must ensure their applications are compatible and have a plan in place for timely updates or external support.

In summary, Oracle JDK offers a professionally supported Java platform at a price, whereas OpenJDK offers a no-cost alternative with community-driven support.

Many enterprises began evaluating a mix of the two – for example, using Oracle JDK (with subscription) for systems that demand Oracle’s support guarantees, and deploying OpenJDK for less critical workloads to save costs.

Enterprise Impact: Costs and Contract Changes

The move to a subscription model had an immediate budgetary impact on enterprises. Organizations that previously paid nothing for using Java now face annual fees:

  • Java SE Subscription Pricing (2019): At launch, Oracle’s pricing was approximately $25 per month per processor for server installations (approximately $300 per server processor per year) and $2.50 per month per user for desktop installations ($30 per desktop per year). These costs could add up quickly. For example, an organization with 100 servers (processors) and 1,000 employee desktops would incur roughly $30,000 per year for servers and $30,000 per year for desktops, totaling around $60,000 annually in Java licensing fees ,where previously they paid $0.
  • Budget and Contract Adjustments: CIOs and IT finance teams had to adjust budgets to account for Java SE subscriptions as a new line item. Some organizations negotiated Oracle Java SE Subscription agreements or added Java to their enterprise license contracts. Oracle offered volume pricing and even Java ULA (Unlimited License Agreements) to large customers, which provides a fixed price for unlimited Java use over a period. While such agreements can cap costs, they still require a substantial financial commitment and careful management to avoid compliance issues when they expire.
  • Impact on Existing Contracts: Before 2019, a few companies had purchased legacy Java SE Advanced or Java SE Suite licenses (which provided extra monitoring and management features). After 2019, even those customers had to transition to the new subscription model for ongoing updates or consider alternative support arrangements. The new licensing model applied broadly, meaning even long-time Oracle customers had to revisit how Java was covered in their contracts.

In summary, the licensing change created unplanned expenditures. IT departments needed to either find the budget to pay Oracle or invest time and resources in migrating to free alternatives. Procurement and vendor management teams were suddenly involved in what was once a simple download of free software.

Compliance and Audit Risks

The 2019 changes introduced significant compliance risk for organizations unaware or slow to adapt:

  • Unlicensed Use: Any company that continued using Oracle’s Java (Oracle JDK 8 updates after Jan 2019, or Oracle JDK 11 and above) in production without a subscription was technically out of compliance with Oracle’s license terms. This includes scenarios such as running the Java runtime on servers for business applications, even if Java was previously pre-installed or bundled. The new OTN license explicitly forbids commercial use without a subscription, so non-paying users could be in violation and subject to penalties.
  • Oracle Audits: Oracle began treating Java like its other licensable products, resulting in increased audit activity. Oracle’s License Management Services (LMS) and sales teams started sending audit notices and inquiries focused on Java usage. If an audit finds unlicensed Java deployments, the company can be pressured to purchase back-dated subscriptions or face hefty compliance fees. CIOs reported stricter enforcement post-2019, similar to Oracle’s audits for databases or middleware.
  • Complexity of Tracking: Java’s ubiquity is a challenge – it’s installed on servers, developer laptops, and embedded in third-party applications. Under the new model, organizations must closely track where Oracle Java is installed and how it’s used. This complexity increases the risk of unintentional non-compliance. Without proper software asset management, a company might miss some installations and under-license, leaving a gap for auditors to find.
  • Security vs. Compliance Dilemma: Some businesses initially chose to avoid subscriptions by freezing on older Java versions. However, running outdated Java versions in the long term can expose critical vulnerabilities. This creates a dilemma: either pay for subscriptions to receive patches (ensuring security and compliance) or risk security breaches by avoiding payment. Many organizations realized that not paying Oracle could end up even more costly if security incidents occur or if Oracle audits them.

In short, the licensing shift not only introduced costs but also forced enterprises to tighten their compliance controls. CIOs had to raise awareness internally that Java was no longer “free” and that using it without proper licensing could lead to legal and financial exposure.

Many increased their audit preparedness, ensuring they could document Java usage and either show proof of subscription or a migration plan to open-source Java.

Managing the Transition: Guidance for CIOs and IT Asset Managers

Transitioning to the new Oracle Java licensing regime requires both technical and managerial actions.

CIOs and IT asset managers should take a proactive stance:

  • 1. Discover and Inventory: Begin with a comprehensive audit of all Java installations in your organization. Identify where Oracle Java (JDK/JRE) is installed – on servers, virtual machines, desktops, developer workstations, and inside applications. Determine the versions in use (e.g., Java 8, 11) and whether they are Oracle builds or OpenJDK builds. This inventory is the foundation for any licensing decisions. Many enterprises were surprised to discover the widespread presence of Java in their environment, from critical customer-facing applications to internal tools and appliances.
  • 2. Assess Usage and Needs: For each identified Java installation, evaluate its purpose. Is it running a mission-critical application or just supporting a minor tool? Do you need the advanced features or support that Oracle provides, or would a vanilla open-source JDK suffice? Determine which systems truly require the Oracle JDK (for stability or support reasons) and which could run on an alternative Java distribution. Additionally, consider how long you need to maintain a given Java version – if you require long-term support (e.g., you plan to stay on Java 11 for several years), this may influence your strategy.
  • 3. Evaluate Alternatives: If the cost of Oracle Java SE subscriptions is a concern, explore OpenJDK-based alternatives. Multiple vendors are offering Java builds with long-term support: for instance, AdoptOpenJDK (now Eclipse Adoptium) provides free LTS builds, Amazon’s Corretto is a free distribution with long-term updates, and vendors like Azul or IBM offer paid support for their builds. Switching to a non-Oracle JDK can significantly reduce or eliminate licensing fees. However, plan for adequate testing – while Java standards ensure high compatibility, there can be minor differences. Ensure your applications run smoothly on the chosen OpenJDK distribution before full deployment.
  • 4. Budget for Subscriptions (if needed): For systems that you decide to keep on Oracle JDK, engage with Oracle (or an authorized reseller) to purchase the necessary Java SE subscriptions. Align these subscriptions with your enterprise agreements if possible. Keep in mind the licensing metrics (users vs processors) and plan for growth (e.g., if you expect to add more servers, include headroom in the subscription count). Establish an internal process for new projects: if they choose Oracle Java, they must account for subscription costs from the outset.
  • 5. Update Policies and Training: Incorporate the Java licensing changes into your IT policies. For instance, update your software procurement and development guidelines to specify when Oracle Java can be used and when teams should opt for open-source Java. Train your development, DevOps, and procurement teams about the basics of Oracle Java licensing. Many developers might not realize that downloading Oracle JDK for a production app now has cost implications. Raising awareness helps prevent inadvertent non-compliance (such as a developer unknowingly using Oracle JDK when an open version would suffice).
  • 6. Monitor and Manage Continuously: Treat Java like any other licensable software asset. Use software asset management (SAM) tools to track Java installations and usage over time. Regularly reconcile these with your subscriptions. This is especially important as Oracle’s licensing model continues to evolve (for example, Oracle changed its Java SE subscription pricing model again in 2023). A continuous monitoring process will help you adapt quickly to future changes and remain compliant.
  • 7. Engage Stakeholders: Ensure that senior leadership and stakeholders understand the implications of the Java licensing shift. The conversation often extends beyond IT to legal and finance departments, given the compliance and budget impacts. CIOs should communicate the risks of non-compliance and the plan to mitigate those risks, whether it’s through paying subscriptions or migrating away from Oracle software. If needed, consult external licensing experts or legal counsel, especially when negotiating with Oracle or responding to an audit.

By taking these steps, enterprises can effectively manage the transition and avoid disruption. Some organizations have chosen a hybrid approach: purchasing Oracle Java subscriptions for the most critical systems (where support and stability are paramount) while migrating less critical workloads to free OpenJDK distributions.

There is no one-size-fits-all answer – each organization must balance cost, risk, and technical requirements in crafting its Java strategy.

Recommendations (Key Takeaways)

For enterprise IT leaders navigating Oracle Java licensing changes, here are key takeaways and best practices:

  • Perform a Full Java Audit: Immediately inventory all Java installations and usage in your environment. You can’t make informed decisions or ensure compliance without knowing where Java is running.
  • Classify and Prioritize Usage: Identify which Java deployments are critical to the business and which are not. Use this to decide where you truly need Oracle’s supported Java (for example, in production systems with high uptime requirements) versus where you can use open-source Java to save costs.
  • Consider OpenJDK to Reduce Costs: Leverage open-source Java SE distributions (OpenJDK variants) for applications that do not require Oracle-specific features or support. This can drastically cut licensing expenses, though be prepared to handle updates and support via internal teams or third-party vendors.
  • Budget for Java SE Subscriptions: If you require Oracle Java in production, ensure you budget for the Java SE subscription fees. Treat Java licensing as an ongoing operational cost in IT financial plans, similar to other software licenses or cloud subscriptions.
  • Update Contracts and Vendor Management: Collaborate with procurement to integrate Java subscription needs into existing Oracle contracts or enterprise agreements. Negotiating as part of a larger agreement might yield better discounts or terms. Also, watch for Oracle’s licensing updates (Oracle has introduced new metrics like an employee-based licensing model in later years) and be ready to adjust contracts accordingly.
  • Strengthen Compliance and SAM Practices: Improve your software asset management processes around Java. Maintain records of where Oracle Java is deployed and keep proof of licenses/subscriptions. Proactively manage subscription renewals to prevent lapses in coverage.
  • Prepare for Audits: Given Oracle’s increased enforcement, ensure you are audit-ready. Conduct internal compliance checks for Java use. If Oracle requests a license review, you’ll want to have accurate data on Java deployments and either have subscriptions in place or a documented plan showing you’ve migrated those instances off Oracle JDK.
  • Educate Teams on Licensing: Make sure that developers, system administrators, and IT project managers understand the new Oracle Java licensing rules. Prevent the inadvertent download or use of Oracle JDK in ways that incur license obligations. Encourage the use of approved Java distributions per your organization’s policies.
  • Stay Informed on Java Licensing: Oracle’s Java licensing policies continue to evolve (for example, introduction of no-fee licenses for certain new versions and changes in pricing models). Assign someone in your team or engage a licensing advisor to keep track of updates. Regularly revisit your Java strategy in light of any new announcements.
  • Adopt a Java Management Plan: Treat Java like a strategic component. Decide on a standard JDK across the organization (Oracle or a specific OpenJDK vendor) to simplify compliance. Having a defined plan and standard makes it easier to govern Java usage and respond to future changes.

By following these recommendations, CIOs can turn a reactive scramble (which many experienced in 2019) into a structured approach for Java management moving forward.

A Checklist: 5 Steps to Address Oracle Java Licensing Changes

  1. Discover Your Java Footprint: Compile an inventory of all Java installations (Oracle and non-Oracle) across your enterprise. Include version numbers, where they’re installed, and how they’re used. This step is crucial to understanding your exposure.
  2. Determine Licensing Requirements: For each identified Java instance, determine if it requires an Oracle license. Generally, any Oracle JDK used on a production server or commercially by employees will require a subscription. Note any exceptions (e.g., Java bundled with another Oracle product under a different license, or purely internal non-production use).
  3. Decide on Remediation Actions: Choose a path for each Java usage: purchase a Java SE subscription for it, replace it with an OpenJDK distribution, or retire or upgrade the system to eliminate the need. Create a plan and timeline for these actions. For example, you might plan to switch all non-critical applications to OpenJDK within six months and budget for subscriptions for the rest.
  4. Execute and Implement: Carry out the plan. Obtain the necessary Java SE subscriptions through Oracle or its partners for the identified systems. Concurrently, deploy OpenJDK (or other vendor JDKs) in the environments where you have decided to migrate – ensure proper testing and validation in these environments. Remove or update any Oracle JDK installations that are not licensed or not needed after migration.
  5. Monitor and Govern: After initial remediation, establish processes to continuously govern Java usage. Update your IT asset management records with the changes. Enforce that new projects adhere to the approved Java usage guidelines (for example, requiring explicit approval to use the Oracle JDK). Schedule periodic reviews of Java deployments to ensure compliance (e.g., quarterly internal audits). This ongoing governance will help avoid compliance drift and prepare you for any future Oracle licensing changes or audits.

By following this checklist, organizations can systematically address the challenges of Oracle Java licensing, thereby reducing both financial and compliance risks.

FAQ: Common Questions for IT and Procurement Leaders

Q1: Is Java still free for commercial use?
A1: Java itself (the language and platform) is not entirely “not free,” but Oracle’s official Java distribution is no longer free for commercial use. The open-source versions of Java (OpenJDK and other vendors’ builds) remain free to use under open licenses. However, suppose you choose to use Oracle’s JDK in a business environment (for example, running an Oracle JRE on employee desktops or servers). In that case, you now need to pay for a Java SE subscription. In short, Java is free only if you use a free distribution; Oracle’s Java requires a license fee for commercial deployments after 2019.

Q2: What exactly is the Java SE subscription, and how much does it cost?
A2: The Java SE subscription is Oracle’s licensing program that provides the right to use Oracle JDK in production, along with support and updates. As of the 2019 model, it was priced roughly at $30 per year per desktop user and $300 per year per processor (for servers). Prices may vary based on volume or future changes (Oracle has since adjusted its models, including the introduction of a newer per-employee pricing model in 2023). The subscription gives you access to the latest updates, security patches, and technical support from Oracle for Java. Without it, you are not entitled to apply Oracle’s updates on commercial systems. Essentially, it’s a shift from a one-time free usage to an ongoing pay-as-you-go model for Java runtime in enterprises.

Q3: What are our alternatives if we don’t want to pay Oracle for Java?
A3: Organizations that prefer not to pay Oracle have a couple of options:

  • Use OpenJDK or Other Free Distributions: OpenJDK is functionally equivalent to Oracle JDK for most applications. You can download free builds from the OpenJDK community or vendors like Amazon (Corretto), Microsoft (Azul Zulu via Azure), IBM/Red Hat, or the Eclipse Adoptium project. These are free to use, including in production. Some of these providers offer paid support plans for when you need professional assistance outside of Oracle.
  • Stay on Older Java (not recommended): A few organizations considered not upgrading beyond Java 8 update 202 (the last free version). However, this means running an outdated version with no security fixes, which is risky. It also doesn’t avoid licensing risk if you later update or if Oracle audits past usage. Therefore, migrating to an OpenJDK LTS version (like OpenJDK 8 or 11 from another source) is a safer “free” route than stagnating on an old Oracle release.
    In practice, many enterprises choose to replace Oracle JDK with an OpenJDK distribution on servers and desktops to eliminate fees. The key is to test compatibility and ensure your teams know to use the alternative JDK going forward.

Q4: If we have Oracle software that includes Java, do we still need a separate license?
A4: It depends. Oracle allows certain products to use Java under a “restricted use” license. For example, if you are running an Oracle enterprise application (like Oracle E-Business Suite, WebLogic, or Oracle Database) that requires Java, the Java runtime needed for that product might be covered under the product’s license. This means you wouldn’t need a separate Java SE subscription for that specific use case. However, this exception is limited. It usually covers only the Java use within that Oracle product’s context. If you use Java for anything else on that server (like custom applications), that would not be covered. It’s important to review your Oracle contracts or ask Oracle which, if any, Java usage is included. Many organizations initially assumed all their Java use was covered when they had Oracle products, but in reality, only certain uses are grandfathered. Always verify: you may still need Java SE subscriptions for general-purpose Java use even in an environment that also runs Oracle software.

Q5: What are the consequences if we ignore these licensing changes?
A5: Ignoring the changes is dangerous for enterprises. In the short term, you might save money by not buying subscriptions, but you accumulate risk:

Operational Risk: In theory, Oracle could enforce license compliance to the point of requiring you to uninstall or stop using Oracle Java if you refuse to pay, which could disrupt operations if you haven’t prepared an alternative.
In essence, doing nothing is not a good strategy. Oracle has made it clear that businesses must choose either to pay for Java or move off Oracle’s version. The best approach is to proactively decide on one of those paths and execute it, rather than hope to stay unnoticed.

Legal and Financial Risk: If Oracle initiates an audit (which they have ramped up for Java), unlicensed use of Oracle Java can result in a demand to pay for all the past usage. This could mean a hefty, unbudgeted bill, potentially covering years of usage, often at list prices. It can also sour your vendor relationship with Oracle.

Security Risk: Without a subscription, you won’t get critical Java security updates from Oracle. Running outdated Java software can lead to vulnerabilities in your environment, increasing the risk of malware infections or breaches, especially for internet-facing applications.

Read about our Java Advisory Services.

Java Licensing & Audit Warning for CIOs Stop Oracle from Charging You

Would you like to discuss our Java Advisory Services with us?

Please enable JavaScript in your browser to complete this form.
Name

Author

  • Fredrik Filipsson

    Fredrik Filipsson brings 20 years of dedicated Oracle licensing expertise, spanning both the vendor and advisory sides. He spent nine years at Oracle, where he gained deep, hands-on knowledge of Oracle’s licensing models, compliance programs, and negotiation tactics. For the past 11 years, Filipsson has focused exclusively on Oracle license consulting, helping global enterprises navigate audits, optimize contracts, and reduce costs. His career has been built around understanding the complexities of Oracle licensing, from on-premise agreements to modern cloud subscriptions, making him a trusted advisor for organizations seeking to protect their interests and maximize value.

    View all posts