100% independent. Rythium takes no fees, commissions or partnerships from any software or AI vendor. Ever.

Java License Changes

Everything you want to know about Oracle's Java license changes and how they affect you, with every date from 2017 to 2028.

The short answer: Oracle Java has moved, step by step, from free to paid. Since 2019 most updates of Oracle’s own JDK have needed a licence for business use; since January 2023 that licence is priced per employee; and each long-term release is now free only for a fixed period. Oracle JDK 21 updates stopped being free for production use after September 2026, and Oracle JDK 25 is planned to follow in September 2028. Free OpenJDK builds remain an option throughout.

Java license changes, year by year

When What changed Source
September 2017 Oracle starts publishing OpenJDK builds under the GPL with the Classpath Exception, on a six-month release cycle Oracle Java SE Support Roadmap
April 2019 Oracle JDK 8 updates from 8u211 come under the OTN licence: free for personal use and development, not for running a business Oracle Java SE Licensing FAQ
September 2021 Oracle introduces the No-Fee Terms and Conditions (NFTC), starting with JDK 17: free for all users, including production Oracle Java SE Licensing FAQ
January 2023 The Java SE Universal Subscription is priced per employee, counting every employee and contractor, not just Java users Oracle Java SE Universal Subscription price list
September 2024 Oracle JDK 17 updates after 17.0.12 move from the NFTC to the OTN licence Oracle Java SE Licensing FAQ
September 2025 Oracle JDK 25 is released under the NFTC Oracle Java SE Support Roadmap
September 2026 Oracle JDK 21 updates after 21.0.12 move from the NFTC to the OTN licence Oracle Java SE Licensing FAQ
October 2026 New price list: flat yearly prices below 3,000 employees, and US$10.50 to US$5.25 per employee per month from 3,000 up Price list of 8 October 2026
September 2028 (planned) Oracle JDK 25 updates move from the NFTC to the OTN licence Oracle Java SE Licensing FAQ

Oracle’s licensing FAQ and support roadmap were both updated on 20 October 2026. Our Java license review checks which of these rules apply to each Java installation you run.

What Changed?

The question in the minds of many people is

  • Why is there a discussion on Java licensing?’
  • Isn’t Java a language, is it not free?
  • What has changed?

The Change

Oracle made an announcement in September 2017 that practically meant:

  1. Oracle will no longer release the Java platform (Java SE) under the free Binary Code License Agreement.
  2. Oracle will ship OpenJDK under GPL2 from JavaSE 9
  3. Oracle will increase the release cadence to six months instead of two years for Java SE
  4. Oracle JDK (Java SE) will be available under the OTN agreement. This does not allow commercial use.
  5. Customers will have to procure Java SE licenses from Oracle for commercial use. Security updates for Java SE will be provided only to commercial customers. Latest Oracle OpenJDK releases will be provided with the security updates in the release cadence.

What does this mean for customers?

  1. Customers should review their internal usage of Java for legal and commercial risk.
  2. Customers will need to implement regular updates instead of being on the same Java version as earlier. This is both costly and has execution challenges
  3. Customers should re-evaluate their strategy on using Oracle Java or other Java distributions.

Read all about the technical components, different distributions,
how to review your usage & other aspects of Java licensing,

What is Java?

Java is:

  • A programming language
  • A software platform to run programs written in Java language

There are many versions of the platform – the original from Sun (now Oracle) released in September 1995; from IBM, Amazon, Azul, Redhat, Bellsoft, Microsoft etc)
The Sun/Oracle version is the most popular as it was the original release.

Components of Java

The different components of Java are given below. We have also tried to clear confusion on duplicity in the naming of the components (eg: Java SE & JDK)

  • JVM
    Java Virtual Machine
    The JVM is an abstract machine that enables your computer to run a Java program.
    The JVM makes Java a ‘platform-independent language’. When you write Java code, it is written to be executed in the JVM and not the specific computer (physical machine).
  • JRE
    Java Runtime Environment
    This is an implementation of the Java Virtual Machine & containing additional components and core libraries to run applications and applets written in Java.
  • JDK
    Java Development Kit
    It is a bundle of software that is used to develop Java programs. Contains the Java compiler, the JRE, API Classes & additional files to write Java programs.
    Different versions available are: Oracle JDK, OpenJDK, AzulJDK etc.
  • Java SE
    Java Standard Edition
    This is the Oracle supported Java platform. Interchangeably used with Oracle JDK
  • Java 2 Platform
    Second generation Java Platform
    The first generation Java Platform was called JDK, the second generation is Java 2 Platform. The name change happened in 1998. (from JDK1.1 to J2SE1.2). The name further changed to Java SE in 2006 (still called the Java2 Platform).

Components of Java – Graphical View

List of JDKs Available

Oracle JDK (Java SE) Azul Zulu
Oracle OpenJDK IBM Eclipse OpenJ9
AdoptOpenJDK Red Hat OpenJDK
Amazon Coretto SapMachine
Liberica Sun HotSpot

2018-19 Distribution of JDKs Used

  • Oracle JDK: 70%
  • Open JDK: 21%
  • Eclipse OpenJ9/IBM J9: 4%
  • Azul: 1%
  • Android SDK: 2%
  • Other: 1%
  • None: 1%

Summary of Oracle Java License Agreements

Given below is a very brief and quick summary of the different licenses from Oracle for Java, the usage rights and implications for customers. Please note this is not legal advise & you should proceed with caution after taking legal opinion.

License Name License Rights Summary & Implications
Binary Code License (BCL)
  1. Oracle used to release OracleJDK or JavaSE under the BCL agreement.
  2. Oracle provided a license to use Java ‘without license fees’
  3. The license allowed customers to use Java SE for internal commercial use, reproduce and distribute the software, distribute redistritubutables, development of programs.
  4. Certain commercial features of Java (like JRockit Mission Control etc) could not be used without paying a license fee.
OTN Agreement for Java This is the current non-commercial license for Java: Oracle Technology Network License Agreement for Oracle Java SE
  1. Java SE can be used for
    1. Personal Use
    2. Development Use
    3. As part of certain ‘Approved’ Oracle products
    4. As part of Oracle Cloud Infrastructure
  2. Java SE cannot be used for internal commercial use without paying license fees separately to acquire such rights.
  3. Java SE cannot be redistributed without a specific license from Oracle
GPL2 with classpath exception Oracle provides the Oracle OpenJDK under GNU General Public License, version 2, with the Classpath Exception. This license allows:
  1. Use of OpenJDK for any purpose (freedom0 of the GNU philosophy)
  2. Copying and distribution of the OpenJDK source code (with attribution)
  3. Oracle has allowed with the classpath exception the use of modules that are deemed incompatible with GPL2.

JavaScript, JSP, JavaBeans, J2EE ???

There is confusion with different terminologies and jargon used with reference to Java in the IT industry.
Some of them are clarified below.

Program/ Terminology What is it? Java Commercial
License Needed?
Javascript It is a front-end development coding language. It’s not part of the Java platform No
JavaBean JavaBeans are classes that encapsulate many objects into a single object (the bean) Yes
Applet An applet is a Java program that can be embedded into a web page. Oracle deprecated this in Java9. Most browsers do not support applets currently. Chrome discontinued in 2015, Mozilla dropped it in 2018, Microsoft Edge does not support it. It is only available on MS Internet Explorer No
Java 2 Platform JDK was first generation platform. Java 2 Platform is second generation. Yes
JInitiator Oracle’s JRE on client to run Forms in Internet Explorer No

What Should Customers Do?

1 Java Discovery

Identify where Java is installed in your environment. Conduct a discovery across all the servers and desktops. Prepare an inventory of the Java version, executable path and the application for which it is used.

2 Normalize Java Installs

Normalize the Java versions into the different agreements from Oracle and other publishers. Classify the Java installed into BCL, OTN, Oracle Commercial, Azul, IBM, Redhat, AdoptOpenJDK, Amazon Coretto etc.

3 Analyze Java License

Assess the license requirement for each application based on publisher partnership with Oracle & Oracle’s approved product list. Also check the usage of commercial features of Java being used (especially) in the BCL versions.

4 Strategize Java Needs

Conduct an optimization exercise for currently installed Java deployments. Formulate an enterprise-wide strategy for Java deployments from Oracle & other publishers based on security, cost, and flexibility parameters.

Java Licensing FAQ

Is Java Still Free?

Yes and no. Oracle JDK 25 is free for all users, including production, under the NFTC until September 2028, and so are Oracle JDK 21 up to update 21.0.12 and Oracle JDK 17 up to update 17.0.12. Later updates of 21 and 17, and current updates of 11 and 8, need a licence for business use. That licence is either bought as a Java SE Universal Subscription or included with certain Oracle products, for use with those products only.

There are free distributions of Java also available. One example is Oracle’s OpenJDK builds; others include Eclipse Temurin, Amazon Corretto and Azul Zulu.

What are the old & new Oracle Java License Agreements?

Binary Code License (BCL) for Oracle JDK
This was the old agreement from Oracle for Java. Under this license Java could be used without paying money to Oracle except for certain commercial features.

OTN Agreement for Java for Oracle JDK
This is the new license from Oracle for Java. Under this license, Java has to be licensed commercially.

GPL2 for Oracle OpenJDK
This is the license under which Oracle releases the open-source version of the JDK. It is known as Oracle OpenJDK.

Java License Check Tool Java License Analyzer helps you understand your deployment

Read more about the Java License Analyzer here

Oracle License Expert

Read more about our Managing Partner, Sheshagiri Anegondi. He is amongst the foremost Oracle License Experts globally.

An audit letter, a renewal quote or a ULA end date on your desk? We check what Oracle, Microsoft, IBM or Broadcom is claiming, work out what you owe under your contract, defend against audits, and negotiate the rest down.

Related reading
  1. Java License ReviewIndependent Oracle Java license review: find where Java really runs, measure your exposure under the employee metric, and answer Oracle with evidence.
  2. What is Java?What Java is and the licensing terms that matter: JDK, JRE, JVM, Java SE and OpenJDK, and why the platform runs almost everywhere.
  3. Java License AnalyzerRythium's Java License Analyzer discovers every Oracle and non-Oracle Java deployment, measures Oracle Java use and shows where to remediate.
  4. Effective Java License Management with Euladox SAM-As-A-ServiceOracle's Java metric changes and audit risks, and how Euladox discovery and SAM-as-a-Service find every Java installation and keep you compliant.
WhatsAppChat with an advisor

Cookie settings

Strictly necessaryKeep the site working and remember your cookie choice.
Always on