Many IT books describe themselves as “the bible” on certain topics. We have Visual Studio bibles, Unix Administration bibles, even iPhone bibles; the list goes on and on. But I’ve never seen a “bible” written about Java technology and its licensing, probably because it was pretty straightforward: it was free. But that’s no longer the case come January 2019. So below I present Chapter One of an old-testament style bible written about Java technology and its licensing (the King James [Gosling] version?):

In the beginning man created computer programming languages.

And the programming languages were without network form whilst they did have void, and network connectivity darkness was upon the face of the deep.

And the Spirit of The Green Team of the Sun moved upon the face of the programming landscape, and said, Let us create connectivity for the masses.

And so, an interactive, handheld home-entertainment controller originally targeted at the digital cable television industry was born. (You try to find a biblical phrase for “interactive, handheld home-entertainment controller originally targeted at the digital cable television industry”; if you find one, please leave it in the comments 😊 ).

And the digital television industry saw the light, but it was too bright for it was too complex, they were not ready and felt it would not be useful, and it was not good.

And the language which had no name languished for a time, and became Oak which became Webrunner which became HotJava which became Java.

And the leaders of Java started with Patrick Naughton and Jonathan Payne, and following them was James Gosling. And Patrick and Jonathan and James said Let there be Internet connectivity, and it was good: and Java divided the light of connectivity from the darkness of using flat files.

And to improve adoption of the offering, Java would be free; no sacrifices, human or animal, would be necessary.

And as Java grew, Java became more complex: in the seventh year of the idea and the third year of its wide adoption by the programming community, Java begat Standard Edition (J2SE), Enterprise Edition (J2EE) and Micro Edition (J2ME). And it was still free and it was good. And in the fifth year of adoption, J2SE was found on every Apple named Macintosh OS.

And in the ninth year of adoption, the people began to worship Open Source and said that Java should be Open Source, and that would be good.

And James said it was not good: there would be imposters that were close to Java but would not be Java, and confusion would reign. [I have yet to write the C# chapter.]

And in in the ninth year of adoption, Java was not Open Source but it was still free. But on Java's eleventh birthday, it was made Open Source under the GNU General Public License and it was still free and it was good.

And on the fourteenth year of adoption, the Sun was no more and gave way to the Oracle. And Java changed its form; there was the Oracle JDK for the worshippers of the Oracle and the Oracle Open JDK for the worshippers of Open Source.

And Java 5 was followed by Java 6 which was followed by Java 7. And in the nineteenth year of adoption, Java 8 came forth.

The Oracle continued to nurture Java without sacrifices from the masses, and it was still free and it was good.

But in the twenty-third year of adoption, the mighty Oracle announced that all flavours of Java would henceforth lose their freedom starting in January of the twenty-fourth year of adoption. Older versions of the Open JDK would lose their support.

The Oracle JDK would still be free for development and testing, but would require sacrifice for use in production.

And the support schedule was like this: Every six months a new version will be born and the previous version will be allowed to wither and die. But every three years a release of Java will be anointed as a Long-Term Support (LTS) release, the first of which is Java version 11. And sacrifice will be needed to continue support for Java 8 which will be available for three years. The sacrifice will be paid to the Oracle on a yearly basis.

And the loyal community did not know what they should do.

Bible study is usually followed by a discussion of what can be learned from the text. So, what can we learn from this “biblical” chapter?

  • Businesses who want to retain OracleJDK will most likely want to be on a Long-Term Support version to prevent constant upgrades.
  • If Java is present on desktops, its use should clearly be evaluated. If it is not being used, it should be removed. If Java 8 is present, beyond January 2019 this could be considered a security risk because security updates will only be provided if you pay for the license. While technically you could continue to run Java 8 without a support contract, it's definitely not a good idea in the long run. [Recall the Equifax breach which occurred from a vulnerability in Apache Struts, a Java web application framework.] And in some regulated industries such as Finance or Health Care, the laws may require that support be maintained.
  • It is not clear yet whether SAM tools will consider Java found on a computer to be free if it was on the computer before January 2019 and then chargeable starting January 2019. Regardless, how these SAM tools report on Java will be changing.
  • Third-party vendors will need to look into what Java edition and version their applications are using. Many may start to use OpenJDK instead of the Oracle JDK, or might look to alternatives outside of Oracle. The Oracle JDK is not "better" than the OpenJDK build (provided both are at the same patch level), but there are some minor differences. If your organization decides to switch from the paid Oracle JDK to the still-free Oracle Open JDK, switching may require reprogramming in some situations. Also consider that because it’s open source, the lack of 24/7 support may also eliminate this option for many organizations. Prioritizing and categorizing mission critical applications that use Java may be necessary.
  • It will be interesting to see if new applications are written on a different platform, such as Microsoft's .NET Core, in “protest” of this change.
Third-party ITAM vendors such as Siwel can help you get a handle on your Java footprint and get ready for this big change. For it is written (in the same bible as the chapter above), "And the sacrifice for Java could be large and the masses may not be able to bring forth such a large sacrifice. And they reached out to the organization of Siwel for help, and it was good."