A Timeline of Changes to How Oracle Licenses Java

Over time, Java has become another way for Oracle to drive revenue by tying customers to expensive enterprise-level contracts. And the rules around how Oracle licenses Java are complex and getting more so as time goes on. In addition, Oracle will expect customers to take into consideration multiple other documents to get a complete picture of the license requirements. These include the price list, program licensing guides, linked pages on Oracle’s website, etc. With Oracle Java, it’s never clearly spelled out in one place. 

We’ve published a variety of content intended to help Oracle customers understand the latest changes in how Oracle licenses Java and thereby “stay ahead of the curve”. We decided to create this timeline to give you in one place an overview of the trends in this area since 2018.

Most recent developments listed first.

September 2024

Any new updates for Oracle Java v17, 18, 19, 20 – which were initially no-cost under the NFTC agreement – will now be released under the OTN. So a subscription will be required for almost all types of usage. Oracle programs do not use these versions of Java, so existing Oracle customers will not be able to claim an Oracle program usage exception. We expect Oracle will be tracking downloads very closely and reaching out to any customers who download the latest patches for Java 17-20.

Read more about what’s going on with “free” Java v17.

2024 generally

Oracle ramping up actual audits of Java customers.

October 2023

Oracle blocking legacy subscription renewals for many clients unless installation/hardware data is shared from all machines – Oracle is requiring data from all machines/environments, even machines that do not have Java!

July 2023

  • Oracle ramps up “stealth” audits of Java.
  • Non-contractual Java license FAQ now reads, “Customers of the legacy Java SE Subscription may, to the extent permitted in their existing order, renew their legacy Java Subscription, subject to confirmation that current usage is reflective of license counts in such existing order.” Oracle added a “validation” requirement for customers to renew legacy Java licenses under Processor or Named User (essentially must agree to an Oracle audit to renew the subscription every year).
  • Oracle adding language to legacy Java customer contracts that forbid a future renewal (must move to Employee subscription model if renewed in the future).
  • Updates will not be free starting in 2024.

Read more about the July 2023 Java license FAQ change.

January 2023

  • Oracle announces it’s no longer offering subscription Java on Processor or Named User Plus models.
  • Only Java model available is Employee-based license – need to license all FT, PT, temp employees, and contractors.
  • Existing Java subscription clients can renew Java contracts under the same “terms” and “metrics”.

Find out more about the major January 2023 changes to how Oracle licenses Java.

2022

  • Java is still easily downloadable.
  • Oracle sales ramps up selling Java.
  • Quasi audits.
  • Oracle LMS and SIA are getting involved with audits.
  • Customers who want to buy Java and need e.g. 500 licenses are being told they’re not going to get a quote until they tell all about their virtualization.
  • Java ULAs.

Watch our October 2022 video summary of the changes to how Oracle licenses Java.

2021

  • Oracle starts using collected data (time/date, version of installation, and IP address of the installer) in licensing and compliance “conversations” with clients. Read more about this compliance “threat”.
  • September – Oracle introducing the NFTC license for Java 17+. Where Java and subsequent updates are not cost-based on LTS release schedules, then updates/patches will transition to licensable unless customers upgrade to next LTS version.

January 2019 and later

In January 2019, Oracle switched from free Java distribution to NUP/Proc licensing. Prior to that there was only a fee if you used commercial features, which were available as a perpetual license and not a subscription. So from January 2019, newly released Java patches/updates must be licensed via subscription for all installation/usage unless one of four exceptions applies *: 

  1. Personal Use. Refers to an individual’s use of the programs solely on a desktop or laptop computer under such individual’s control only to run personal applications. 
  1. Development Use. Refers to your internal use of the programs to develop, test, prototype and demonstrate your applications. For purposes of clarity, the “to develop” grant includes using the programs to run profilers, debuggers and Integrated Development Environments (IDE tools), where the primary purpose of the IDE tools is profiling, debugging and source code editing applications. 
  1. Oracle Approved Product Use. Refers to your internal use of the programs only to run: (a) the product(s) identified as Schedule A Products at https://java.com/oaa; and/or (b) software applications developed using the products identified as Schedule B Products at java.com/oaa by an Oracle authorized licensee of such Schedule B Products. If You are unsure whether the application you intend to run using the programs is developed using a Schedule B Product, contact your application provider. 
  1. Oracle Cloud Infrastructure Use. Refers to your use of the programs on Oracle’s Cloud Infrastructure with the Oracle Cloud Infrastructure products identified in the Oracle PaaS and IaaS Universal Credits Service Descriptions available at https://www.oracle.com/contracts/ during the period in which you maintain a subscription for such Oracle Cloud Infrastructure products. 

Dec 2018 and previous 

Java was no-cost for customers to download/install/use internally for production or development (hosting or external usage not covered) *. 

  * The above dates only apply to Java v8 – Java v6 and v7 actually had OTN subscription licensable versions released earlier than January 2019.