Reading the ‘Polarion ALM 18.3 – What’s New and Noteworthy’ post by @krotilr you undoubtedly noticed that the support posture for Java was changed in the 18.3 release. Specifically that support for Java 11 via Open JDK 11 is now available and recommended. This is the first significant change to our Java support posture since the 2015 SR1 release introduced support for Java 8, as well as since we subsequently discontinued bundling Java with Polarion product releases after April 2017 (ALM 2016 SR3). Read on if you are curious as to the reason(s) behind this move to Open JDK 11.
Certainly no question that Java is a central enabling programming language used by Polarion as well as countless other software practitioners in development of innumerable solutions/offerings. Java has been in the world since the latter half of the 1990’s, and its salient value known as WORA (Write Once Run Anywhere) is key to Java having sustained for so long, with the specification enduring various evolutions. Java remains a de facto standard as a vibrant and thriving language specification, with a Java Virtual Machine (JVM) available for most any platform, all the while continuously introducing improvements and innovations as it has done throughout its history. If you have no interest in all the Java history and lore, then skip ahead to ‘The Bottom Line’ heading.
Part of the storied history of Java are the stewardship changes that Java has weathered. It’s a great tech-industry backstory. Java was originally released by Sun Microsystems, who then endorsed the establishment of the Java Community Process as a framework for controlling the technical direction of the Java spec. Sun ultimately released the JVM codebase as open-source software (OSS) under a GNU General Public License (GPL). This truly made Java freely available and effectively ubiquitous.
Oracle completed their acquisition of Sun Microsystems in 2010 and along with it Java as an asset, or at least significant influence over the future of Java. Oracle has long made clear a business goal to monetize the Java asset acquired, separate and apart from OSS Java (Open JDK). As part of this goal there has been considerable back-and-forth debate and legal maneuvering concerning Oracle JDK vs. Open JDK, well beyond the scope of what can be adequately chronicled here in a blog post. Suffice it to say that there is consensus that the Oracle JDK is one of many builds based upon the Open JDK codebase. While Oracle formerly included certain extras in their JDK stack, as of Java 11 this is no longer the case. So, cutting to the chase, what does all of this mean?
The Bottom Line
JDK 11 marks the beginning what has been described as new era –one in which there are two principle Java streams administered via GPL licensing. The Free OSS Open JDK via GPL, and the Oracle JDK via GPL v2, with the Classpath Exception (GPLv2+CPE). Obviously change is in the air so-to-speak. If you’re following Java, perhaps you’ve noticed announcement(s) that public updates for Oracle Java SE 8 will remain available for individual/personal use through at least the end of 2020. However, public updates for Oracle Java SE 8 released after January 2019 will not be available for business, commercial, or production use without a commercial license. These Oracle Java announcement(s) admonish developers, enterprises, customers generally, to review various Oracle Java roadmap resources in order to individually assess their ongoing Java support needs/requirements. Sound advice since quite probably you have numerous software affected by such strategic change in direction.
This shift is meaningful to Polarion. It provides the impetus for us to begin supporting Java 11 in the 18.3 release in order to keep Polarion products current with Java’s state-of-the-art, and to have done so by supporting Open JDK 11 in order to provide Polarion customers maximum flexibility in deciding their Java futures. Open JDK 11 gives us and our customers everything they need to remain happy long-term Polarion users. We take no position regarding Oracle’s strategic decisions, e.g., remaining an Oracle JDK customer is compatible –Polarion 18.3 will continue to operate without issue. At the same time, unless we took such action it could someday present an undue burden to many Polarion customers if they might one day have no other option than to ultimately pay a premium for an Oracle JDK in order to upgrade their ALM version, and/or to remain ALM users. Our move to support Open JDK 11 in 18.3 is therefore an optimal strategic direction for Polarion coming we believe at just the right time.