Skip to main content
Matrix42 Self-Service Help Center

Determine license requirements for Oracle Java SE

Introduction

Oracle is one of the most important distributors of the Java development platform. The use and distribution of the Oracle Java SE runtime environment, which was largely free of charge for many years, has now been severely restricted and regulated by the manufacturer. As a result, many companies using Oracle Java SE are faced with the question of compliance and may have to reckon with costs for future use.

This document provides an overview of the license terms of the various Java versions and a recommendation on how to determine your compliance with Oracle Java SE.

Overview Oracle Java Licensing

Due to the change Oracle has made in the license conditions of its Java distribution, the different versions and their licensing in productive use can be subdivided as follows:

Always free (GPLv2+CE)

The use of the Oracle OpenJDK and the corresponding runtime environment is always free of charge. Here, "Gnu Public License v2 with Classpath Exception (GPLv2+CE)" license conditions apply. 

Updates are provided by Oracle since version 9 only for 6 months after each release. 

Conditionally free of charge (BCLA)

Oracle Java SE was subject to the "Oracle Binary Code License Agreement (BCLA)" up to and including Oracle Java SE 10. These license conditions grant a free productive use under the condition that no "commercial features" are used (= "General Use").

Oracle lists the commercial functions that require a paid license in an overview. If you use these functions in your Java applications, there is a licensing obligation. 

Important: The data collected with the inventory of your computers cannot indicate whether commercial functions are used or not. You must clarify this with the appropriate developers of the application or use the "Oracle Usage Tracker". However, the use of this tool is subject to a charge!

The following Oracle Java SE versions fall under the BCLA:

  • Java SE 6 from 11.12.2006 (by Sun Microsystems)
  • Java SE 7 from 07.07.2011
  • Java SE 8 LTS from 18.03.2014 up to and including Update 8.0.202 from 15.01.2019
  • Java SE 9 from 21.09.2017

Conditionally liable to pay (OTN SE)

Since version 11 Oracle Java SE is subject to the license conditions of the "Oracle Technology Network License Agreement for Oracle Java SE" (OTN SE). These grant a free use only for purposes of "personal use", development, and "Oracle Cloud Infrastructure Use". The exclusive use of Oracle Java SE for other licensed Oracle software is also free of charge in this context ("Oracle approved product use").

This applies to the following Oracle products:

  • WebLogic Standard Edition
  • WebLogic Enterprise Edition
  • WebLogic Suite
  • Internet Application Server Enterprise    Edition
  • Oracle Forms
  • GlassFish Server
  • Coherence Standard Edition
  • Coherence Enterprise Edition
  • Coherence Grid Edition
  • Web Center Content
  • WebCenter Universal Content Management
  • Any other use is subject to a charge. 

In the case of Oracle Java SE 8, the use of updates since April 2019 is also subject to OTN SE.

Oracle offers two subscriptions for desktops and servers for use subject to a fee. While desktops are licensed using the Named User Plus metric, server licensing follows the same processor metric as Oracle databases. In Oracle Java SE, the "Partitioning Policy" with the distinction between soft and hard partitioning for virtualized servers must also be taken into account.

The following Java SE versions fall under the OTN:

  • Java SE 8 LTS as of the update 8.0.211 of 16.04.2019
  • Java SE 11 LTS from 25.09.2018
  • Java SE 12 from 19.03.2019
  • Java SE 13 from 17.09.2019

Determination of the computer inventory

First, you should inventory all your computers. Perform a so-called "scan" on all end devices and servers. Use suitable solutions such as Matrix42 Empirum or Microsoft SCCM. 
Import your inventory data into Matrix42 Enterprise Service Management.

Determination of the installations

In the next step, all relevant installations of Oracle Java SE are identified on the basis of the technical software stock of their end devices. The Matrix42 License Intelligence Service (LIS) supports you in this task. With the automatic software recognition all Java installations are checked.

If it is a development environment (JDK) or a runtime environment (RTE) from Oracle or Sun Microsystems, the corresponding applications (fingerprints) are assigned to corresponding software products and thus normalized.

Determination of license requirements

The Oracle Java SE installations are grouped into software products of different versions, each divided into runtime environment (RTE) and SDK. For each software product, the respective license model is also stored, which the system automatically uses when creating license requirements.

The following license models are available with Matrix42 License Intelligence Service (LIS) for posting Oracle Java SE as a whole:

  • Oracle | Java SE - Free use by GPLv2+CE
  • Oracle | Java SE - Free use by BCLA
  • Oracle | Java SE - Free use by OTN SE
  • Oracle | Java SE - Named User Plus
  • Oracle | Java SE - Processor 

Oracle Java SE licensed by GPLv2+CE

All installations are booked free of charge under the license model "Oracle Java SE - Free use by GPLv2+CE" with a license requirement of 0. 

There is no need for further action. 

Oracle Java SE licensed by BCLA

All installations are initially booked with the preset license model "Oracle Java SE - Free use by BCLA" with a license requirement of 0 and thus free of charge. 

However, the following points must be clarified for each installation:

  • Are commercial Java functions being used?
    In this case, the license requirement must be converted to another license model. To do this, select the corresponding license requirements and execute the action "Change license model":
    • License requirements for workstations must be converted to the license model "Oracle | Java SE - Named User Plus". The amount of the license requirement then depends on the number of users (usually the main user of the workstation).
    • License requirements for servers must be converted to the license model "Oracle | Java SE - Processor". The amount of the license requirement then depends on the number of relevant physical CPU cores using the processor factor.

Oracle Java SE licensed by OTN SE

All installations are first booked with the preset license model "Oracle | Java SE - Named User Plus" with a license requirement. As expected, the most common variant of Oracle Java SE is correctly booked on a workstation computer. Other cases are to be treated differently:

The following points must be clarified for each installation:

  • Is the licensee of the license requirement a server?
    In this case, the license requirement must be converted to the license model "Oracle| Java SE - Processor". Select the corresponding license requirements and execute the action "Change license model".
  • Has the Java Runtime Environment been installed together with another Oracle product and is it only used by that product?
    In this case, the license requirement is consolidated with the license requirement of the other product as "Suite". However, check whether Oracle Java SE is really used exclusively for the other Oracle product on these machines. If not, prevent consolidation using the "Consolidate" action and the "Never consolidate" option. In addition, the license model may need to be changed:
    • License requirements for workstations must be converted to the license model "Oracle | Java SE - Named User Plus". The amount of the license requirement then depends on the number of users (usually the main user of the workstation).
    • License requirements for servers must be converted to the license model "Oracle | Java SE - Processor". The amount of the license requirement then depends on the number of relevant physical CPU cores using the processor factor.
  • Is it a free use for development, testing and demonstration or prototyping?
    In this case, the license requirement must be converted to the license model "Oracle | Java SE - Free use by OTN SE". Select the corresponding license requirements and execute the action "Change license model".
    Alternatively, you can add the corresponding end devices to a dedicated environment with a descriptive name (e.g. "Oracle Java SE Free Use" or similar). Create this environment if it does not already exist. Assign them to the appropriate Oracle Java SE software products as a royalty-free environment. After that, no license requirements will be created for installations within this environment. 

Licensing virtualized servers

Oracle Java SE licenses servers by processor according to the Oracle Partitioning Policy for Oracle Middleware. 

Depending on the technology solution used and its configuration, "hard partitioning" or "soft partitioning" result in certain hardware limits which are relevant for determining the processors subject to licensing. This can be a physical machine - but also a cluster of several physical machines, a group of clusters or a computer network going beyond it (e.g. an entire vCenter or beyond). 

After clarification, group the relevant physical systems in the SAM Tool as a "Complex System" and create a license requirement with the license model "Oracle | Java SE - Processor". The license model adds up the number of cores using the processor factor of all assigned physical machines. 

Updating the license inventory

Record your Oracle Java SE subscriptions in the license inventory. Make sure that your licenses own the correct license model so that the system can automatically reconcile and entitle the license requirements using either one of following license models:

  • Oracle | Java SE - Named User Plus
  • Oracle | Java SE - Processor 

 

  • Was this article helpful?