Java licensing changes – where are they coming from?

Java Oracle

In a previous article we discussed a major change related to Oracle Java – the availability of the Java SE platform software as:

  • Open JDK builds under an Open Source license
  • Oracle JDK releases under the OTN license

We saw how this change makes it impractical for commercial organizations to use Java for free. At the same time, we have customers who are asking us whether to invest in Open JDK. What kind of support can they expect? Is it a viable alternative to use Open JDK with RedHat support?

In this article we aim to provide more background on why these changes have been put through a licensing and release frequency. We will do this by summarizing a number of the events related to Java that happened since Oracle’s acquisition of Sun. By doing so, we hope to clarify the relation between Oracle and Open JDK and to set more clear expectations about this open source implementation of the Java Platform, Standard Edition.

Definitions

Let’s first have a look at a number of definitions:

  • The Java Community Process (JCP) is the mechanism for developing standard technical specifications for Java technology.
  • The JCP Executive Committee (EC) is the group of members guiding the evolution of Java technology in the Java Community Process. The EC represents both major stakeholders and a representative cross-section of the Java Community. The EC is responsible for approving the passage of specifications through key points of the JCP and for reconciling discrepancies between specifications and their associated test suites.
  • A reference implementation is the standard from which all other implementations and corresponding customizations are derived. Specifically, for Java, a reference implementation is a free implementation of the technology in source code form.

The JCP Executive Committee gives the final approval for a reference implementation of the Java Platform, Standard Edition. Open JDK is an open-source implementation of the Java Platform, Standard Edition and it is THE reference implementation since version 7.

Oracle is a member of the JCP Executive Committee and is also a major contributor in the Community Process. Since Open JDK is the reference implementation, Oracle JDK is based upon it. It is basically an extension with some extra features. Oracle’s plans are to make Oracle JDK and Open JDK completely interchangeable. So, knowing now how this ecosystem works, let’s have a look at Oracle’s justification for the changes.

Oracle’s justification

The first justification is that Java needs to stay up-to-date with the progress of the rest of the technology. This is presented by Oracle as a request from the JCP community as explained in detail by Donald Smith (Oracle’s Sr. Director of Product Management) here and, with a poetic introduction, in this justification for the end of public updates. Apart from Mr. Smith’s rhetoric, there is an earlier memo from Mark Reinhold (chief Architect of the Java Platform), where he makes a call to action and proposes a plan to move Java forward faster. The second justification for adopting the GPL and the OTN license instead of BCLA is to separate the license for free Java from the license for commercial Java.

These justifications do seem to make sense. But they take on a slightly different meaning when viewed in the light of the following events:

Oracle has the biggest contribution in the development of Java. This makes them fully entitled to have a return on all the effort (and investments) they’re putting in; especially from commercial organizations that make a profit from the use of Java. Because Oracle is a major contributor, Oracle also has a high influence in the Open JDK community. Oracle uses its influence to steer things in a way to get that return on their investment. This strategy is opposite to the way Sun initially made Java available. Because many Java users still believe in the initial ideals around Java and because Oracle is interested to keep all those users motivated and engaged, they will still give a positive spin to the changes they introduce by invoking the wishes of the JCP Community.

At a first glance, the changes that Oracle introduced to Java licensing can seem overwhelming. Understanding where they’re coming from and how they can affect you is essential to tackle the potential risks that your business may face and avoid non-compliance issues. Having the knowledge in-house to be on top of the software vendors’ updates is not always at hand, but the good news is that there are plenty of specialists who can assist you with that.

We developed a service that will give you insight into the financial risks and compliance position related to the usage of Java. Learn more about our Oracle Java Health Check and don’t hesitate to reach out to us if you have any questions.

Andrei has been working in the Software Asset Management industry since 2011 when he started as technical analyst in Oracle’s License Management Services (LMS) department. After 3 and a half years, he joined B-lay in 2014. Since then he’s been working with customers from various industries to help them get in control of their software license management. In parallel he’s contributing to B-lay’s internal automation for software deployment analysis. Andrei has a bachelor degree in Electronics, Telecommunication and Information Technology and a master in Database and Web Technologies.