New informational JEP: 14: The Tip & Tail Model of Library Development

Alex Buckley alex.buckley at oracle.com
Tue Oct 22 23:15:16 UTC 2024


On 10/22/2024 3:17 PM, Karsten Silz wrote:
> First, the JEP says this: "A selection of older JDK versions -- 8, 11, 
> 17, and 21 -- are maintained in tail trains." I interpreted that as 
> "Only these older JDK versions have tail trains." 

Fair comment. I have updated that paragraph in "Success with tip & tail" 
to clarify that all JDK versions have tail trains, some maintained 
longer than others.

> Second, the JEP also says this: "From time to time, library developers 
> designate a tip release as the start of a new tail train that they will 
> continue update even after new tip releases are made. " To me, the "From 
> time to time" suggests again that not every tip release spawns a tail 
> release.

That text is from the highest level part of the Description. It is 
necessarily broad. I don't see it as incompatible with the JDK's 
"implementation" of T&T that forks every tip release into a tail train.

> And then there's this: "a new tail train that they will continue
> [to] update even after new tip releases are made". This was in the
> "Tip & Tail" description, so I read it as a definition: "All tail
> trains must get updates after the next tip release". Non-LTS OpenJDK
> tail trains don't today. So, a tail train getting updates after the
> next tip release is a recommendation, not a requirement?
Again, that part of the Description is high level and needs to be 
applicable to all libraries. The most interesting scenario for users is 
where a tail train makes tail releases for many years, long after the 
next tip release has shipped, so that's how we start describing the T&T 
model.

I don't want to weaken the text to accommodate the JDK's T&T 
implementation -- "a new tail train that they MAY continue to update 
even after new tip releases are made" -- because this phrasing, while 
technically correct, will send readers off-track.

Alex


More information about the jdk-dev mailing list