Times change
However, there are many other changes associated with this release schedule that will manifest themselves this year, and may not be as pleasant. Over 22 and a half years, we have managed to get used to the fact that Java, as a platform, has three fundamental properties related directly to the way it is supported.-
Stability . Previously, features added with a new release of the JDK, although thoroughly tested, required testing in production. This helped identify shortcomings that needed correction. To ensure that users could continue to work with stable builds while testing a new one, updates were always partially overlapped in time.
If we look at the last few releases starting with JDK 6, we see that updates for JDK 5 continued to be released for almost another 3 years (2 years and 11 months to be exact). With the introduction of JDK 7, public updates for JDK 6 were released for a year and 9 months. And updates for JDK 7 were released within 13 months of the release of JDK 8.
-
Safety . The OpenJDK development and support teams, Oracle, and before them Sun Microsystems (the company that created Java, editor's note) have always put platform security at the forefront. As you remember, Java was originally intended for mobile devices (in particular, Star7 PDAs).
One of the key development goals was to ensure that code could be transferred over the network and executed securely. Updates are regularly published for the JDK, which include patches for discovered security issues. If you install these updates immediately after they are released, you will be completely safe.
-
Zero cost . One of the great things about Java is that it has always been a free platform, even before it was released as open source software in 2006. There were certain restrictions on where Java could be used royalty-free, but this always applied to mobile and embedded applications; for desktop clients and enterprise servers, the current version of Java was always free. One of the changes already underway to the JDK is the release of OpenJDK executables under the GPLv2 license with the "Classpath" exception. This license does not impose any restrictions on how you can deploy the Java Runtime Environment.
Let me explain a little more
Let's say you're concerned about security (as you should be), but you don't want to spend money. In this case, you need to migrate to new JDK versions as soon as they are released. In cases where support does not overlap in time (Feature and LTS releases), you will have to do this in order to receive new security fixes. Unfortunately, without the time overlap, you will have to immediately move to JDK releases that have not yet been tested in production, so you will lose previous stability. Another option is to choose stability at zero cost. Again, this is possible: all you have to do is continue using the previous LTS version after the new one is released. You get the stability you're familiar with, you don't have to pay anything, but you won't get any security patches as they are no longer available for this release. Finally, if you want stability and security, you have to pay. You can continue to use the previous LTS release, but access to security and bug fixes will only be available through a commercial support contract.And a small advertising block from the author :)
Azul (my company) has created a set of OpenJDK executables under the Zulu Enterprise brand, built from source, tested with TCK/JCK benchmarks, and even analyzed with utilities we developed to ensure there is no open source code corruption due to bad header files. We provide the opportunity to download the current version for free, as well as commercial support for those interested. We recently began offering a new set of support options for Zulu, aimed at providing customers with maximum flexibility. We want to provide users with the ability to migrate to a new version of the JDK that suits their business and customer needs. For this, we provide three support options:- Short-term support (STS). STS gives users the fastest access to new Java features, with enough support for a smooth transition to newer JDK releases. Zulu Enterprise provides STS releases with access to bug fixes, security updates, and other fixes as needed (“production support”) for 12 months, plus 6 months of additional support focused on consulting support and helping users migrate to a newer version of the JDK ("extended support"). This amounts to an 18 month life cycle.
- Middle-term support (MTS). MTS releases allow you to use new features available in feature releases in production without having to wait for a new LTS release. Azul plans one MTS release per year between LTS releases and provides production support for 18 months after the next general availability LTS release date. This ensures time overlap and a "smooth" transition during production deployment. After production support ends, an additional 12 months of extended support is provided.
- Long- term support (LTS). It is provided for releases considered LTS by the OpenJDK community and provides 8 years of production support with an additional two years of extended support.
conclusions
Several aspects of the Java platform are changing this year, most of them for the better. Faster access to new features, open release of utilities such as Flight Recorder and Mission Control, release of OpenJDK executables under the GPLv2 license with the "Classpath" exception. The sad truth, however, is that the usual generous free support for the Java platform is becoming a thing of the past. Java is still stable, secure and free. Which two of these three qualities are most important to you and your users?
about the author Simon Ritter is Deputy Technical Director at Azul Systems. Simon has been in the IT business since 1984 and holds a BSc in Physics from Brunel University in the UK. Simon joined Sun Microsystems in 1996 and spent time in both Java development and consulting. Since 1999, he has been demonstrating Java technologies to developers, with a focus on both the core Java platform and client and embedded applications. Now at Azul Systems, he continues to help people better understand Java and Azul's JVM products. You can follow him on Twitter: @speakjava . |
GO TO FULL VERSION