New informational JEP: 14: The Tip & Tail Model of Library Development
Alex Buckley
alex.buckley at oracle.com
Tue Nov 12 18:27:51 UTC 2024
On 11/12/2024 3:34 AM, Karsten Silz wrote:
> So, users with JDK 17 would not have gotten any non-
> JDK-21 new features from 3.2, like support for CRaC or the new HTTP
> client, because they could only use the 3.1 tail train.
The library maintainers are free to make a 3.2 tip release without
virtual threads, baselined on JDK 17, and offers cheap 3.2.x tail
releases for many years.
But once the maintainers make a tip release with virtual threads,
baselined on JDK 21, they're indicating that they've moved on from JDK
17, just as they moved on from JDK 11, 8, 7, 6, etc. Users who wish to
stay on JDK 17 after that are free to do so -- they can look forward to
17.0.14, 17.0.15, 17.0.16, and 17.0.17 in 2025 -- but they can no longer
expect new features from the library. That's OK: they don't care about
new features because their applications are already deployed and don't
need a new HTTP client. Users who are actively developing applications
should be using the tip JDK (or the most recent LTS, 21) and will have
no problem with the library's tip release being baselined on 21.
There will always be users of an older JDK who take the position that:
If library maintainers _can_ make new library features run on the older
JDK, then the maintainers _should_ make the features run on the older
JDK. For example, the new HTTP client was introduced in JDK 11 in 2018;
I'm sure there are some people who run an old Spring release on JDK
11.0.x and would like support for the new HTTP client to be backported
from Spring 3.y to the old Spring release. You can imagine the
impassioned requests from these people as they explain why maintainers
"should" do the backport. The T&T model says: those people are few,
outnumbered by a silent majority that wants bug fixes and security
patches and nothing else for their older libraries on JDK 11, so the
thing that maintainers "should" do is say no and move on with their day.
Alex
More information about the jdk-dev
mailing list