logo le blog invivoo blanc

End of free Java?

27 August 2018 | Java | 0 comments

The arrival of Java 9 and its modules, the shutdown of the free support of Java SE 8 in 2019 and the new release system set up by Oralce are subjects that animate the Web very much. In this article, we will see what the logic of this new system is, what will be the cost to companies, and above all what questions ISD will have to ask themselves to continue with Java and any other language supported by the JVM. 

A little of history

Below let’s see the history of releases of the JDK and the JDK Beta in 1995 to Java SE 9 in 2017 :

We can see that the time between 2 releases could be up to 5 years, as between JAVA SE 6 and JAVA SE 7. However, each of them was characterized by 3 charateristics that made the platform strong: they were stable, secure and free.

The stability in production was ensured by a very long cycle of support of the versions, even after the appearance of a new release, to give time to the system to be ultra stable in production condition. The most convincing example is the transition from JDK 5 to 6 where the JDK 5 updtaes continued for 3 years after the JDK 6 was released. A total lifespan of almost 5 years, including 3 years druing which the 2 systems  were to be supported. Each version was entitled to regular updates to install so that the applications are always at the highest security level.

Finally, even before its first release open-source in 2006, Java had always been a free plaform. So we can see that companies could choose their version of Java to have this trio stability-security-gratuity. With the new release system, the choice is going to be somewhat different. But before that, let’s see in more detail what this new release system is.

The new release model

As announced in September 2017 by Mr Donald Smith, Oracle is thus putting in place a new release system, which will no longer be driven by the features but rather based on a regular cycle, and promises :

  • 2 major releases of Java per year :
  1. One in March.
  2. One in September.
  • 1 LTS (Long Time Support) every 3 years (all 6 releases) from Java 11 in September 2018.

So here the Schedule announced :

calendrier Java 2But how to follow the pace?

So we will have reduced release times, which will result in a decrease in functionality by version. As seen in this previous article, the step of Java 8 to 9 is going to be tricky, but subsequently, with reduced release times, there will therefore be a decrease in functionality per version (for example for Java 10, there is only 12 JEPs, only one really useful for developers).

Will Java be paid?

To encourage you to follow this pace and stop the long-lasting free support, sometimes on 2 versions at a time, Oracle will offer only a very short free support until the next feature release. This new model will be in application from 2019, the year in which Oracle effectively stops the free support of Java SE 8.

Which version of Java to choose?

From now on, having the three components will be impossible. Companies will have to find the compromise that best fits their needs by choosing 2 components to the detriment of the 3rd:

If they choose security and gratuity, they will have to keep pace with Oracle’s migration to take advantage of the latest security updates for free. On the other hand, working with the latest versions of Java also means working with Younger and less stable versions.

If their concerns are more related to stability and gratuity, they will be able to use the LTS version every 3 years. They will have more stable versions, because LTS will be more stable than the features releases every 6 months. But without paying, they will not be entitled to the latest security updates.

Finally, if stability and security are their priorities, they will be able to use stable versions and benefit from Oracle updates in return for the license payment.

In conclusion, this new model of release, which will allow the language to be updated more regularly, and to erase its delay with the trends of the moment, brings a lot of change on the planet Java. In fact, companies will have to change their way of working by choosing the format that suits them and the 2 components on 3 of the Triangle stability-security-gratuity.