Accelerating the JDK LTS release cadence

forax at univ-mlv.fr forax at univ-mlv.fr
Sun Sep 19 18:44:51 UTC 2021


----- Original Message -----
> From: "mark reinhold" <mark.reinhold at oracle.com>
> To: "Remi Forax" <forax at univ-mlv.fr>
> Cc: "discuss" <discuss at openjdk.java.net>
> Sent: Mardi 14 Septembre 2021 19:58:54
> Subject: Re: Accelerating the JDK LTS release cadence

Sorry for the late answer,

> 2021/9/14 8:12:11 -0700, Remi Forax <forax at univ-mlv.fr>:
>> As a user, i applaud the idea of having more choices but i've some
>> concerns:
>> 
>> - as a maintainer of some libraries, it will make my life more
>> complex, because the ecosystem will not evolve in lockstep as it was
>> before, i fear a scenario like Android were numerous LTS are used at
>> the same time by different people making the choice when to upgrade
>> quite complex.
> 
> There is already a vast range of releases in use today -- including
> releases earlier than JDK 8.  The ecosystem has never evolved in
> lockstep.
> 
> I agree that it’s likely that there will be more LTS releases in active
> use than there are today.  Thanks to changes we started making years
> ago, however, in particular the encapsulation of JDK internals [1], I
> don’t think that will be a big problem.  Many library maintainers have
> found that once they move past JDK 8 it’s pretty easy to keep up with
> every six-month feature release, LTS or not.

yes,

> 
> As a library maintainer you can choose a baseline JDK release depending
> upon the new features you want to use, and then stick to building with
> that baseline for years if you like.  During that time, just make sure
> that it continues to run on the latest LTS release while still building
> with the baseline.  Even better: Spread your effort out over time, and
> give your users the option of using non-LTS releases, by tracking every
> six-month feature release instead.

As a library maintainer, there are two factors,
either i will upgrade when one of the dependency upgrade (by example Guava support Java 8+) or
i will upgrade if a new feature allows me to have a better API (like lambdas).

The former reason is why the ecosystem mostly evolve in lockstep, once several popular libraries target a new version of Java, most of the libraries move to that version.

> 
>> - as an OpenJDK member, we now that LTS has an impact of the
>> development of the JDK, stewards are less available before a LTS,
>> there are more migration documentations to write etc, so for me this
>> proposed change will slow down the OpenJDK development not accelerate
>> it.
> 
> My perspective from inside Oracle is that most of us working on JDK 17
> itself have spent hardly any more time on it at all as compared to the
> preceding non-LTS releases.  We’ve been writing release notes, updating
> migration guides and other documentation, and so forth for every single
> six-month feature release.  Do you have evidence to suggest that we’ve
> been less available?

I will not snitch on anyone :) 

> 
>> - some people will start to think in term of feature releases again
>> when big features like Loom or Valhalla will land. I'm ok with a LTS
>> without a big feature or a LTS with more than one big features but i
>> fear that not everybody will agree on that. A 3 years is a long time,
>> that shield us from that kind of discussions.
> 
> People who want big features to align with LTS releases are, in effect,
> arguing for a return to the old unpredictable feature-driven release
> model.  We abandoned that model in 2017.  Do you want to go back?
> 
> There will always be discussions about which features are, or are not,
> or should be, or shouldn’t be, in a particular release.  Let’s not be
> unduly distracted by them.

I agree.

I've discussed with quite a lot of people during this week, most of them prefer a 2 year schedule for a LTS.
2 years is good for application developers, 3 years is better for library maintainers. There is at least 10x more application developers, so i will shut my big mouth.

> 
> - Mark

Rémi

> 
> 
> [1] https://openjdk.java.net/jeps/403


More information about the discuss mailing list