Thanks for the discussion - it looks like we agree on the problem and the 
trade‑offs involved.

Maintaining an extra branch would add toil: we’d have to merge bug fixes, run 
CI (including upgrade tests), and extend the already lengthy upstream path. A 
simpler alternative is to relax our backport restrictions on GA branches.

What about the following idea: allow community-approved feature backports to 
**latest GA** (with a brief window allowing backports to 2 GA branches) and 
tier releases as follows:

*When a new release is cut:*
 • New release / Latest GA (6.0): stabilizing (backports accepted)
 • Middle GA (5.0): backports accepted
 • Oldest GA (4.1): stable
*When the new release stabilizes:*
 • Latest GA (6.0): backports accepted
 • Middle GA (5.0): stable
 • Oldest GA (4.1): stable
This approach gives users a clear choice - stable, backport‑enabled, or a 
temporary stabilizing branch - without adding CI overhead.

On Wed, Oct 8, 2025, at 5:42 AM, Štefan Miklošovič wrote:
> Hi Dinesh,
> 
> thanks for reassuring that this branch would be really just for crucial 
> functionality where benefits justify the backport. I would be more willing to 
> entertain that idea but I still think that once people see 5.1 is up they 
> will want to support their case and there will be a lot of pressure to 
> backport this and that. Not all CEPs / features will make it. We need to be 
> very selective. There will be a lot of "massaging" around what can go in and 
> what not and the expectations would need to be set from the very beginning 
> and followed.
> 
> However, I am not still quite sure how that would work in general, reading 
> Josh email here:
> 
> "The branch would selectively accept non‑disruptive improvements that meet 
> criteria we define together."
> 
> Once people are on 5.1, they will want to have all the bug fixes in there as 
> well. So instead of merging from 4.0 to 4.1, 5.0 and trunk, we will be doing 
> 4.0. 4.1, 5.0, 5.1 and trunk?
> 
> If the answer is yes, then we will have just another branch we need to fully 
> maintain.
> 
> If the answer is no, as in we will skip 5.1 on merges from 4.0 to trunk, then 
> I think this will be met with disappointment and questions as to why we are 
> not patching 5.1 as well.
> 
> Basically we go all in and maintain 5.1 with all the patches from lower 
> branches or we just maintain and backport important features but then ... who 
> is going to use it like that - without receiving bug fixes. 
> 
> 
> 
> On Wed, Oct 8, 2025 at 9:46 AM Dinesh Joshi <[email protected]> wrote:
>> Stefan, Sam – your concerns are absolutely valid and have come up in various 
>> discussions.
>> 
>> Here's the reality though – many large operators of Cassandra are 
>> maintaining backports of various features. The proposal here is to try and 
>> allow these contributors to maintain them in the community instead of 
>> internally. This is a limited time pilot to see if this model could work.
>> 
>>> When we "open the flood gates" then the existence of a backporting branch 
>>> will be the justification of anything they want to see there because they 
>>> do not want to upgrade.
>> 
>> Stefan — nobody is talking about “opening the floodgates” here. The 
>> expectation is that small, self contained features could be back ported on a 
>> case by case basis. Let’s engage on the criteria that makes sense.
>> 
>> On the subject of avoiding backports and using it as a tool to “force” 
>> people to upgrade, I’d like to point out that if upgrades were easier we 
>> would not be having this discussion. The simple fact is that upgrades are 
>> not easy and they are riskier than maintaining backports hence we see this 
>> pattern.
>> 
>> If the community gets together and makes upgrades easier we will likely not 
>> have a need for backports.
>> 
>> My suggestion is to engage with “how” this pilot would look like to shape 
>> it. It is a limited time experiment that might benefit the community. A 
>> number of contributors have shown interest so ideally we should be open to 
>> trying it out. 
>>> 
>> 
>> On Wed, Oct 8, 2025 at 12:12 AM Sam Tunnicliffe <[email protected]> wrote:
>>> I second Štefan's concerns here. The proposal reduces the incentive to 
>>> upgrade or even test trunk, meaning that the things users want to avoid 
>>> (features etc, but also just refactorings/re-implementations) because they 
>>> are as-yet "untrusted" or "unqualified" remain that way for longer. This 
>>> feels pretty antithetical to the direction we've been aiming to travel in, 
>>> toward more regular release cycles. 
>>> 
>>> 
>>> > On 8 Oct 2025, at 06:41, Štefan Miklošovič <[email protected]> wrote:
>>> > 
>>> > This is indeed an interesting idea but please let me share my point of 
>>> > view and somehow different opinion on that.
>>> > 
>>> > I share the questions with Jeff and Jeremiah a lot. I see it similarly 
>>> > and they got the point.
>>> > 
>>> > Before 5.0 was out, we had quite a situation where we officially had to 
>>> > take care of 3.0, 3.11, 4.0 and 4.1 at the same time. If a bug was found, 
>>> > we had to patch 5 branches at once (trunk as well). That meant 5 CI jobs. 
>>> > The patching was an endeavour spanning multiple days, realistically. Once 
>>> > 5.0 got out, we officially discontinued 3.0 and 3.11. But what I have 
>>> > been experiencing was that this information about not supporting 3.0 / 
>>> > 3.11 was spreading very slowly among people / customers and I / we had to 
>>> > repeatedly explain to everybody that yes, 3.0 and 3.11 and done. What are 
>>> > they? Done? Yes, done. 3.0 and 3.11 are finished. Finished you say? That 
>>> > means no patches? Yes, no patches. Aha right ... For real? ... you got 
>>> > it. People had to internalize that it is just not going to happen.
>>> > 
>>> > When we "open the flood gates" then the existence of a backporting branch 
>>> > will be the justification of anything they want to see there because they 
>>> > do not want to upgrade. Instead of us working towards a more smooth 
>>> > upgrade we are burying ourselves with older stuff. That slows adoption of 
>>> > new majors a lot. People will not be forced to, there will be way less 
>>> > incentive to do that when all the important goodies are backported 
>>> > anyway. 
>>> > 
>>> > I see that "the backports would be non-disruptive but potentially higher 
>>> > risk". I do not completely understand what this means in practice. Let's 
>>> > say CEP-37. Is that disruptive or not? What's the definition of that? To 
>>> > me, correct me if I am wrong, is that something is disruptive if I just 
>>> > can not turn it off even if I do not want to use it. Does one _have to_ 
>>> > use CEP-37 when it is backported? No. They can just turn it off. So what 
>>> > is exactly the risk of introducing it to e.g. 5.0.x ? 
>>> > 
>>> > Also, how are upgrades done? People are going to upgrade from 5.0.x to 
>>> > 5.1 and then it will be possible to upgrade to 6.0 from 5.1? This would 
>>> > need us to make the pipelines, incorporate this new path into upgrade 
>>> > tests and so on ... a lot of work.
>>> > 
>>> > I think that the current policy - "only bug fixes to older branches" 
>>> > might be relaxed a bit instead and leverage already existing upgrade 
>>> > paths and infrastructure to test it all instead of creating brand new 
>>> > branches we need to take care of.
>>> > 
>>> > Regards
>>> > 
>>> > On Mon, Oct 6, 2025 at 6:04 PM Josh McKenzie <[email protected]> wrote:
>>> > Many large‑scale Cassandra users have had to maintain private feature 
>>> > back-port forks (e.g., CEP‑37, compaction optimization, etc) for years on 
>>> > older branches. That duplication adds risk and pulls time away from 
>>> > upstream contributions which came up as a pain point in discussion at CoC 
>>> > this year.
>>> > 
>>> > The proposal we came up with: an official, community‑maintained backport 
>>> > branch (e.g. cassandra‑5.1) built on the current GA release that we pilot 
>>> > for a year and then decide if we want to make it official. The branch 
>>> > would selectively accept non‑disruptive improvements that meet criteria 
>>> > we define together. There’s a lot of OSS prior art here (Lucene, httpd, 
>>> > Hadoop, Kafka, Linux kernel, etc).
>>> > 
>>> > Benefits include reduced duplicated effort, a safer middle ground between 
>>> > trunk and frozen GA releases, faster delivery of vetted features, and 
>>> > community energy going to this branch instead of duplicated on private 
>>> > forks.
>>> > 
>>> > If you’re interested in helping curate or maintain this branch - or have 
>>> > thoughts on the idea - please reply and voice your thoughts.
>>> > 
>>> > ~Josh

Reply via email to