Impact of six month releases
kim at javadog.io
Wed Nov 8 19:53:51 UTC 2017
> Thinking more about the Linux kernel analogy, I still think it is
> mostly valid, however with one major exception. With the Linux kernel,
> a distributor can freely choose to down-port arbitrary features from
> newer to older kernels or support old kernel features in newer kernel
> versions which don't have these any more by default.
> With Java, this would only be possible with non-specification relevant
> features (e.g. GC, AOT, CDS, etc). For specification relevant features
> (i.e. new APIs, language fetures, etc) that would be not possible (at
> least not if you'd still like to call it Java compatible. So for
> example, you won't be able to downport "local variable type inference"
> from JDK 10 (assuming it will get into there) to 9 if you'd like to
> support JDK 9 for some long amount of time but don't want to support
> JDK 10. Also, you can't decide for your "JDK N" distribution to still
> support a standard API which was removed in "JDK N-1". That's of
> course a major drawback compared to the Linux kernel model.
Java is a platform, not an operating system. And for a platform, you don't wish to backport features, only move forward. As a Java Developer, I don't have a problem moving forward, in fact I find it fantastic to keep taking advantage of the work of better developers than me. However, my argument is not for the developers, but for the customers who purchase my products.
Prior to Java 9, most applications were running quite well with newer Java versions, thanks to the fantastic work of the JDK team with keeping the JRE backward compatible. Combine that with a relatively long inexpensive support, stability & security - it makes Java a really good platform for most customers to rely on. However, post-Java 9 - with the new plans from Oracle... it is a different ballgame.
Despite my many wishes that Java will be just as important a platform in 20 years, as it has been the last 20 years. The Customers are the ones making the choices. And for them, Java is moving in a direction that will make it an administrative security nightmare and thus a liability.
Good judgment comes from experience; experience comes from bad judgment.
More information about the jdk-dev