Comprehensive Software Reviews to make better IT decisions

Sr hero 001 Sr hero 002 Sr hero 003 Sr hero 004

Oracle Is Replacing Free Java SE Public Support With Paid Subscription Support Offering

Core Changes to Oracle’s Java SE Public Support Model

Effective January 2019, Oracle will cease to provide public updates for Java SE 8 for Business, Commercial, or Production Use, requiring the purchase of a commercial license or subscription support stream. The key point for IT practitioners to understand is that current versions of Java SE (e.g. version 8, 9, 10, 11) are still free and available for general purpose computing under the Oracle Binary Code License (BCL).

While the underlying Java SE license is still available at no charge, the public updates for legacy versions will require a commercial paid license from Oracle moving forward. Coupled with an accelerated release schedule for new Java versions, IT shops will find it challenging to keep up with the release cadence from a preparation and testing standpoint. IT leaders are forced to choose between the unappealing options of using Java SE in an unsupported environment, migrating away from the Oracle JDK to the OpenJDK, moving away from Java-developed applications, or paying Oracle Java license/subscription fees.

Consider the changes to Oracle’s planned Java release cadence illustrated below. Historically IT shops had 2-3 years at a minimum to plan for major version releases to Java.

The practice of deprecated Java SE support for legacy Java versions is nothing new from Oracle and is well known in the Java community. The shift in release cadence, however, completely changes the game in terms of the decisions to purchase the Java commercial license or to continue running on an unsupported version of Java, as the new releases of Java will speed up the end of support dates for legacy versions, starting with Java SE 8 in January 2019.

Under Oracle’s new release cadence, this timeline expects to see major Java versions updated every 6 months!

Exceptions to this continued availability of the most current versions of Java SE primarily include use of the Java Runtime Environment (JRE) used in embedded applications and/or where commercial features require a commercial license from Oracle.

Currently, Java SE, Oracle Java SE Advanced, and Oracle Java Standard Suite are deployed from Oracle via the Java Development Kit (JDK) and Java Runtime Environment (JRE). It is important to understand that Oracle provides the same install package for all three editions of Java!

Why is this important? Under the Oracle BCL license agreement, Oracle clearly points out that included commercial features require a separate license from Oracle, and this is currently a commercial license!

“A. COMMERCIAL FEATURES. You may not use the Commercial Features for running Programs, Java applets or applications in your internal business operations or for any commercial or production purpose, or for any purpose other than as set forth in Sections B, C, D, and E of these Supplemental Terms. If You want to use the Commercial Features for any purpose other than as permitted in this Agreement, You must obtain a separate license from Oracle.”

Oracle is frequently criticized for not providing proactive warnings to end users when activating commercial features in Java SE. Starting with Oracle JDK 11, a warning will be presented when using the -XX:+UnlockCommercialFeatures option. This warning is not present in earlier versions of Java.

Further complicating the changes in Oracle’s Java licensing schema, “Starting with Java 11, Oracle will provide JDK releases under the open source GNU General Public License v2, with the Classpath Exception (GPLv2+CPE), and under a commercial license for those using the Oracle JDK as part of an Oracle product or service, or who do not wish to use open source software. This combination of using an open source license and a commercial license replaces the historical 'BCL' license, which had a combination of free and paid commercial terms.”

The gist of this change is that Oracle will actually start to provide commercial features under the Oracle JDK to the completely free builds of the OpenJDK such as Java Flight Recorder, Java Mission Control, Application Class-Data Sharing, and ZGC. Note that this liberation of functionality being added to the OpenJDK does not really help organizations that have built and deployed applications under the more user-friendly Oracle JDK build. In order to receive the benefit of these “free” features, organizations would need to migrate from Oracle JDK to OpenJDK which can present technical challenges, especially for those applications that rely on Java Web Start, which is not supported in the OpenJDK.

For a complete list of the Oracle commercial features included in Java SE Advanced please reference the Oracle white paper Java Usage Tracking and Visualization with Oracle Fusion Middleware. In summary, the matrix below provides a high-level overview of the key differences in the free Java SE editions vs. the commercial Java license packages:

Source: Aspera

NOTE: The use of the Java Usage Tracker to gather data on the install, deployment, and usage of Java within an organization is in itself a commercial feature requiring a paid license to Oracle for Java SE Advanced.

IT organizations should become familiar with Oracle’s Java product roadmap, which provides key dates for Java edition releases and end of public support for legacy versions.

How Is a Java Commercial License Acquired?

Historically, Java licenses have been purchased under the standard Oracle licensing model of either a Named User Plus (NUP) or Processor license model, with support comprising 22% of the net license price. NUP licenses have contained a (10) NUP license minimum per Core Factor Oracle Processor if electing to go the Named User route. Under most scenarios, purchases under the perpetual license plus support model would be more cost efficient than purchasing the newly released Oracle Java Subscription price schema.

Java Price List:

NOTE: The price list is “list” price only and is subject to negotiated discounts.

Unfortunately, recent client reports as well as reports from the industry media indicate that Oracle is no longer offering the perpetual license plus support model and is instead forcing customers to resolve audit non-compliance events and/or net-new Java license needs with its Java SE subscription price model. The Java SE subscription includes all commercial features for the product purchased as well as Oracle Premier Support for both current and previous Java releases. This shift represents another leg in Oracle’s plodding journey towards a recurring revenue model, as subscription offerings are up to three times more profitable over the long term than the legacy license/support model.

Here at Info-Tech Research Group, we strongly recommend that clients push back on Oracle to allow any Java SE commercial license purchases under the legacy NUP/Processor + Support license model as Oracle still provides pricing for the options within the Oracle Technology Price List. While Oracle may “dig in” and require the subscription model purchase, the presence of both pricing models will provide customer advantage when negotiating discounted pricing with Oracle.

The Oracle Java SE Subscription price list is divided between Desktop subscriptions and the Processor model:

NOTE: The price list is “list” price only and is subject to negotiated discounts.

Recommendations:

  • Conduct an audit of Oracle JDK Java usage. Use a trusted SAM tool or a third-party consultant to capture all desktop and server instances where the Oracle JDK/JRE is installed and/or running.
  • Check for use of Java Commercial Features. The Java Oracle JDK build is the same install package for the free Java SE version as well as the commercial Java SE Advanced product. It is a common error for commercial features such as JRockit (Mission Control) and other paid features to be inadvertently activated, triggering a compliance issue.
  • Consider alternative options to Java and/or to the Oracle JDK build. Options such as the OpenJDK and other Java builds will allow a de-coupling from Oracle’s license requirements, but will also require application re-development or other migration paths.
  • Conduct a cost analysis if contemplating the paid Java license. Oracle will push hard for organizations to purchase the Java SE Subscription model. Oracle perpetual license and support options are still listed on the Oracle Technology Price List, so push for the perpetual model and/or leverage this model to negotiate discounts on the tiered subscription offering.
  • Beware of Oracle’s Java Usage Tracker Tool. Java Usage Tracker is a commercial feature of the Oracle JDK and simply using the tool triggers the need to license the Java environment via a commercial license.

Bottom Line:

  1. If you already have Java SE Advanced (or Advanced Desktop) or Java SE Suite licenses: nothing changes and you will continue to have access to patches, bugs, security fixes, and support services for all versions of your Java SE product and any included features.
  2. If you are using a JDK release 8 without commercial features (meaning that you are using the free release, Java SE) and you want to be able to access any Oracle updates and/or support services: a purchase of the Oracle Java SE Subscription or Oracle Java SE Desktop Subscription is required.
  3. If you plan to upgrade your JDK every 6 months to keep up to date: you will not need to purchase any additional licenses to have access to Oracle updates only.

Want to Know More?

Demystify Oracle Licensing and Optimize Spend

Is Oracle Finally Poised to Catch up in the Cloud?