The world of Java is going through something of a change at the moment; specifically in the area of how people get updates to the Java Development Kit (JDK) to provide stability (bug fixes) and security (patches). Last week we had the release of JDK 11 including, by my count, some 90 new features and APIs. This was the second release under the new twice-yearly cadence and shows that this is working well.
What also changed was the license under which the Oracle JDK binary is provided. Traditionally, (at least since Oracle acquired Sun Microsystems some eight years ago) this has been the Oracle Binary Code License for Java SE. This grants free use of the JDK for development, testing and in production. There are some field-of-use (FoU) restrictions but for desktops and servers use of the JDK was completely free. The new license, which only applies to JDK 11 and hasn’t been retrospectively applied to older JDKs, is the Oracle Technology Network License Agreement for Oracle Java SE. This still allows free use for development, testing and demonstrations. However, if you want to “use the Programs for any data processing or any commercial, production, or internal business purposes…”, you will need to negotiate (and pay for) an Oracle Java SE Subscription.
With public updates for JDK 8 ending in January next year (for commercial users), this has obviously got people thinking about how they will ensure that whichever JDK they use is kept up to date.
Also, last week, Microsoft and Azul made a joint announcement about bringing free Java production support to the Azure cloud.
For the last five years, Azul has been providing an alternative source of binary distributions of the JDK called Zulu. This has been both in the form of free community builds as well as commercially supported builds for enterprise customers. Builds are available for older versions: JDK 6, 7 and 8, as well as the newer releases as they are made available: JDK 9, 10 and 11.
Working together, Microsoft and Azul are now able to provide three critical features for Java users deploying to the Azure cloud:
- Availability of fully tested Java SE implementations on the Azure cloud via the Zulu JDK. The Zulu binary distributions have all passed the TCK tests, guaranteeing compatibility for existing and new JVM-based applications. Code written in languages like Kotlin, Scala and Clojure will all run in exactly the same way on Zulu and Azure.
- Long-term support (LTS) versions are being provided to cover JDK 8 and JDK 11. In addition, since there are still customers using JDK 7, this will also be available as a Java runtime option on Azure.
- Azul will continue to deliver quarterly updates to each of the supported Java versions. Oracle contributes code for the latest bug fixes and security patches to the current OpenJDK source code repository. Azul’s engineers will backport these updates to JDK 7, 8 and 11 where necessary. Azure Zulu users will be assured of the same level of stability and security as the Oracle JDK binary.
The best part of this collaboration is that Java users on the Azure cloud can continue to use their chosen JDK without any additional licensing or support costs. That means it’s free!
If you’re considering deploying Java applications into the cloud why not try Azure with Java, knowing that the Zulu JDK will provide the stability and security you require?