Demystifying Java Licensing Changes and Terminology

Demystifying Java Licensing Changes and Terminology

With so many Java licensing changes, it has become important for enterprises to understand the various contractual, license terminology used, and the impact of the licensing changes

The details are classified into

  • General Questions about Java
  • Generic Licensing Terms that are important across all Java variants
  • Oracle Java SE licensing terminology

General Frequently Asked Questions

Explain the meaning of these terms?

What is Java?

  • Java is an object-oriented, and network-centric language for development of software applications.
  • Java is also platform that provides a foundation for running the developed software applications on the Java Virtual Machine (JVM)

JVM – Java Virtual Machine

  • Java Virtual Machine, or JVM, is the tool for running Java applications.
  • The JVM contains a just-in-time compiler to translate the code into bytecode just before running it.
  • The JVM is an abstract machine, hence called ‘virtual’.

JRE – Java Runtime Environment?

  • Java Runtime Environment contains JVM, class libraries, and other supporting files.
  • The JRE does not contain any development tools such as compiler & debuggers.
  • JRE must be installed in a system to run Java programs.

JDK – Java Development Kit?

  • Java Development Kit is the JRE + developmental tools
  • JDK is the complete package to work with Java, from coding, compiling and till running it.

Generic Java Licensing Terminology

What is the meaning of specific terms?

What is Java SE?

  • Java SE is Oracle’s proprietary build of OpenJDK.
  • Using Java SE requires adherence to Oracle’s Java license policies including, but not necessarily, paying for and purchasing licenses.

OpenJDK?

  • OpenJDK is the free opensource version of JDK created by the community.
  • OpenJDK is licensed using the GPL V2 with Classpath Exception

TCK?

  • TCK is the Technology Compatibility Kit for Java
  • This is the test suite used by Oracle and the OpenJDK Community to ensure compatibility of various versions of Java.
  • Versions of JDKs that pass the TCK are guaranteed to be fully compatible to Java standards.

HotSpot?

  • HotSpot is an implementation of the part of a JVM that interprets and/or compiles Java bytecode to be executed on the host CPU
  • HotSpot is Sun Microsystems implementation and now is owned by Oracle.
  • HotSpot is open source and released under the GNU Public License (GPL) with Classpath exception.
  • The JVM included in all OpenJDK versions is HotSpot
  • IBM has developed an alternative JVM called Eclipse J9.

LTS?

  • LTS stands for ‘Long Term Support’
  • In the world of Java, there are LTS Versions of Java.
  • The Java LTS versions are defined thus:
    • Every three years, a release would be designated as Long-Term Support (LTS) and receive quarterly security, stability, and performance updates only.
  • Oracle’s updates to Java LTS releases provide only stability, security, and performance improvements—not new features.
  • Organizations can count on Java LTS releases being available for at least eight years

Licensing Questions on Oracle Java SE

How is Oracle Java SE licensed?

This is the million-dollar (or maybe multiples of millions of dollars) question!!! Let us try to answer it.

  • Oracle has three agreements to license Java. (But, see next bullet point)
  • Apart from the three agreements, Oracle also
    • Provides restricted licenses of Java with some of its other products.
    • Allows the provision of Java by third party software publishers to use and license Java to their customers
    • Sells subscriptions of Java under their standard Oracle Master Agreement & Ordering Document
  • The three license agreements are
    • Binary Code License Agreement (BCL)
    • Oracle Technology Network Agreement for Java (OTN for Java)
    • No Fee Terms and Conditions

Is Oracle Java SE free?

The answer to this is a ‘Yes’ and a ‘No’.
Oracle says “It is still free” but they have mounted the largest monetization plan for any ‘free’ software!

  • A customer has to be licensed for Java. On this there is no doubt.
  • A customer can be licensed through any of the above-mentioned agreements or methods.
  • The question that comes up is
    “Does a customer have to pay additional amounts for usage of Java?”

Do we need to procure a license from Oracle to use Oracle Java SE by spending money specifically for the Java license

  • The answer to this is either a ‘yes’ or a ‘no’.
  • The answer depends on how you are using Java and how it is currently licensed.

Note: We have many customers who have not needed to spend additional amounts to procure Java licenses from Oracle. A quick baseline check of Java deployment will provide answers to this question.

What is the licensing metric for Oracle Java SE?

  • Currently Oracle licenses Java using the “Employee for Java SE Universal Subscription” metric.
  • Prior to this (before January 2023), Oracle was licensing Java with a usage-based metrics (i.e. Processor and Named User Plus
  • This is one of the most important Java licensing changes.

Explain the working of the ‘Employee for Java SE Universal Subscription’ metric

  • We shall call it the “Employee for Java” metric
  • The definition of the metric is:
Employee for Java SE Universal Subscription: is defined as (i) all of Your full-time, part-time, temporary employees,  and (ii) all of the full-time employees, part-time employees and temporary employees of Your agents, contractors, outsourcers, and consultants that support Your internal business operations. The quantity of the licenses required is determined by the number of Employees and not just the actual number of employees that use the Programs. For these Java SE Universal Subscription licenses, the licensed quantity purchased must, at a minimum, be equal to the number of Employees as of the effective date of Your order. Under this Employee metric for Java SE Universal Subscription Programs(s), You may only install and/or run the Java SE Universal Subscription Program(s) on up to 50,000 Processors, If Your use exceeds 50,000 Processors, exclusive of Processors installed and/or running on desktop and laptop computers, You must obtain an additional license from Oracle.
  • The meaning of the Employee for Java metric is:

    • You pay for all employees whether each one of them is using Java or not.
    • You pay for all your on-roll employees (full time, part time and temporary)
    • You pay for employees of your agents, contractors, outsourcers and consultants that support your business.

Explain the pros and cons of the ‘Employee’ metric

Pros:

  • All your employees (and contractors/agents etc.) will be licensed.
  • Oracle will stop ‘harassing’ you with their soft audit tactics – unless of course your employee count goes up.

Cons:

  • There is no connection between quantum of usage and the quantum of licenses.
  • You must pay for Oracle Java SE even if you are not deriving much value from it. Thus, the impact of Java Licensing Changes can be very high.
  • There is no limit on the amount you need to pay each year. Every employee growth leads to higher payments.
  • The cost is extremely high because of the impractical manner of calculating the price.

Explain in short, the Java licensing changes with reference to the differences between the three license agreements of Oracle for Java

  • Binary Code License Agreement (BCL)

    • Applicable for Oracle Java SE releases till January 2019
    • The last version under BCL was Java SE8 Update 202
    • The BCL agreement, with caveats, gave freedom to use Oracle Java SE in commercial business operations without paying license fees to Oracle.
  • Oracle Technology Network License Agreement for Oracle Java SE (OTN for Java)

    • Applicable for versions released after January 2019 (and for those versions not included in the No-Fee Terms & Conditions agreement)
    • The first version under OTN for Java was Java SE8 Update 211
    • The OTN for Java agreement, with caveats, needs customers to pay license fees for the usage of Java.
  • No-Fee Terms and Conditions (NFTC)

    • Applicable, with caveats, for versions released after September 2021
    • The first version was Oracle Java SE 17
    • With caveats, usage of the versions under NFTC are free to use for business operations.

Which versions of Java come under the different Java license agreements?

  • BCL

    • All versions of Oracle Java SE8 prior to & including Update 202
    • All versions of Oracle Java SE7 prior to & including Update 80
    • All versions of Oracle Java SE 6 prior to & including Update 45
    • Java SE 9
    • Java SE 10
    • All versions of Oracle Java SE5 prior to & including Update 22
    • All earlier versions: Java SE 1.1, 1.2, 1.3, 1.4
  • OTN for Java

    • All versions of Oracle Java SE8 including and after Update 211
    • All versions of Java SE 11, 12, 13, 14 and 16
    • All versions of Java 17 released after September 2024
    • All versions of Java 21 released after September 2027

Note: Java SE 17 and Java SE 21 are under NFTC. But updates of these two after the above dates will be under OTN. This is one of the Java licensing changes that is not easily understood.

  • NFTC

    • Java SE 17 and all updates/versions for 3 + 1 years after release date (i.e till September 2024)
    • Java SE 18
    • Java SE 19
    • Java SE 20
    • Java SE 21 and all updates/versions for 3 + 1 years after release date (i.e. till September 2027)
    • Java SE 22

 


What should customers be doing in view of the Java licensing changes?

  1. Conduct a Java license usage assessment immediately. Understand the commercial impact of Java Licensing Changes.
  2. Plan out strategies for
    1. Avoiding Oracle Java completely within your enterprise
    2. Using only pre-licensed or free Oracle Java
    3. Include Java SE licensing costs in your growth and expansion plans.
  3. Engage with Oracle with the analyzed data and planned strategy.

You can take inspiration from the details given below:
Java license changes how to plan your oracle java negotiations

 


You might want to read more about our CEO Sheshagiri Anegondi. He is one of the foremost Oracle license experts globally. You can contact him for a deeper understanding of the Java Licensing Terminology.

In case you want to understand the key issues to be considered in choosing between Oracle and non-Oracle Java, you can click here.

The Impact of Java Licensing Changes is not insignificant for any firm – big or small. It is, thus, critical to understand Oracle Java SE Licensing and make corrections before it is too late. We hope this article on Java Licensing Terminology helps you understand the subject a bit better.

You might also like
sheshagiri
LinkedIn
SHESHAGIRI ANEGONDI

FOUNDER & CEO

Sheshagiri helps companies reduce Software License & Support costs through deployment optimization and risk management in software license compliance audits. His core skills are Software License Management, Enterprise Software Sales & Sales Management.

Sheshagiri is, currently, the Managing Partner & Principle Licensing Advisor at Rythium Technologies. Prior to this, he was a Vice-President in Oracle Corporation.

keyboard_arrow_up