Replies: 5 comments 6 replies
-
/cc @nodejs/lts We did make a change to flip maintenance + active LTS... 12.x vs 14.x is the first time we are seeing this in practice. We should definitely revisit and consider modifying policy prior to 16.x moving to LTS, which give us ~1 year to figure this out. While cutting all the security releases are a pain, it hasn't seemed to be a total bottle neck, especially since we now have many more releasers. Perhaps I am mistaken though and it is harder to get folks than it seems. Keeping the older releases lines having green CI + CITGM and maintaining the infrastructure seems like a much higher cost. Another approach we could consider would be dropping maintenance from 18 months to 12 months. This would be slightly less radical than shortening to 6 months but would accomplish not having 3 LTS branches we need to release for at the same time. I'd prefer taking this more conservative approach. although I do recognize that would mean it wouldn't be until April 2023 that we would start to reap the benefits. |
Beta Was this translation helpful? Give feedback.
-
My initial take is that the current 30 months support is already a bit short for some users. For that reason of the options listed I prefer option 2. For users that need a longer time period we retain the 30 months of support and they should be ok with an extended LTS every 2 years as they are only going to upgrade less frequently anyway. For users that want more up to date versions, they still get a release every year, and since they want more up to date releases they should be ok with the shorter 12 months of support. It seems like an approach that would help us cut down on concurrent release streams at the same time as not impacting the users with different needs in terms of the balance between length of support/need for latest features. |
Beta Was this translation helpful? Give feedback.
-
I'd probably lean towards option 2, however I'd also ask to the question as to how many users would object if the alternate "12-month LTS" was just another normal one i.e. do LTS every 2 years. Do we know how many enterprise customers are actively moving up to each one as opposed to skipping at the moment? Are many non-enterprise users actively choosing the LTS ones? For comparison, java's currently policy is a new major release every six months (latest one being 15 like Node.js) but only have an LTS every 3 years (so every 6 ... Rather oddly that means the 11, 17, 23, 29 LTS releases are all prime numbers but I think 2 years would be the maximum we'd want for Node) |
Beta Was this translation helpful? Give feedback.
-
One piece of feedback I got on option 2) is that the 12 months of support is that is does not give any overlap in terms of customer being able to test/update to LTS before the earlier version is out of support. |
Beta Was this translation helpful? Give feedback.
-
I want to propose a schedule. There are new releases every 6 months (same as right now). Every major release gets an active/maintenance LTS for 6 months after the next release is released. Every fourth(?) major release gets an active and a longer maintenance LTS (45-60 months?) that will overlap slightly with the next long maintenance LTS release starts (time for migration). |
Beta Was this translation helpful? Give feedback.
-
@nodejs/releasers @nodejs/tsc ... I'd like to kick off a discussion about potentially revamping our LTS support schedule. Currently we have 3 overlapping LTS branches in addition to current (10, 12, 14, and 15) not to mention the main dev branch. This has been an ongoing maintenance burden, especially when we encounter security issues that require coordinating releases across multiple branches.
I would like to propose and discuss a couple of alternative approaches:
Option 1: Shorten maintenance LTS to only 6 months.
In this option, an Active LTS branch would move to Maintenance in October and only be supported until the following April, giving a total LTS maintenance time of 18 months. This would reduce the maintenance burden but likely makes the support period too short for many enterprise customers.
Option 2: Move to a model that is closer to Ubuntu's approach
The short version here is this:
Option 3: A more radical Canary/Fast/Slow Track model
Here we would move away from the current release model entirely and switch to tracks.
This is a much more radical change that would have an impact on our semver policies. There are some definite advantages to this approach that could justify the disruption.
There are likely other options. Let's lay them out and discuss here.
Beta Was this translation helpful? Give feedback.
All reactions