There’s a common motivation at the root of any fork: having at least one patch that matters 
to you – perhaps one you’ve written yourself – and having complete and total control over 
your ability to run it. Isaac's example of C-20749 is a good example of this. This is the 
classic story of open source, and for me it’s a positive one. Releases published by the 
Apache Cassandra project are solid and stable. It’s *also* true that many users pretty 
aggressively editorialize distributions of the database they deploy. These can include 
urgent fixes for bugs they’ve identified and patched; removal/disabling of features they 
haven’t qualified; or incubation of patches they intend to contribute upstream. These are 
all positive motivations, and something that open source enables. I don’t agree that the 
existence of “forks” is a negative or that eliminating them is a desirable or achievable 
goal. Folks will always want or need to be able to apply a patch that matters to them to 
solve a problem or scratch an itch - and they should. If and as we learn that many users of 
a particular release have a common challenge, our process of DISCUSS + backport provides a 
path to meet that need, and I think we should exercise it more often. I see Isaac's example 
of C-20749 as a good candidate for that as well. – Scott On Oct 21, 2025, at 9:12 AM, Isaac 
Reath <[email protected]> wrote: I'd say the biggest reasons to me are (1) and 
(2). For example, we recently worked on CASSANDRA-20749 due to an internal need for this 
functionality, and fortunately we’ve been able to bring it upstream. But, since we run 4.1 
and 5.0, we brought this patch back to these versions so that we are able to use this 
feature today. To your point in (3), I'd say it's easier to qualify a release built off of 
a stable GA than trunk, especially once the GA release has gotten to where 4.1 is. I’d love 
to get to the point where we’re qualifying and running trunk builds in production, but even 
when we get there I still see a world where we still need to run the latest GA alongside 
trunk which would still motivate us to bring patches back to the latest GA where we need 
them. On Mon, Oct 20, 2025 at 3:24 PM Josh McKenzie < [email protected] > wrote: 
We had a long conversation about the potential of piloting a supported backport release 
branch here: https://lists.apache.org/thread/xbxt21rttsqvhmh8ds9vs2cr7fx27w3k When I tried 
to summarize the thread and identify next steps, one observation stood out : I think we did 
a good job establishing the shape of the challenge we'd like to address (people want to 
work on OSS, not maintain private forks), but I don't think we got to the root of why this 
challenge exists. If we take action now we run the risk of having the wrong solution to the 
right problem. So: why are people running forks? Some reasons I've seen brought up: You 
need bespoke code to integrate with internal infrastructure You've written a new feature 
targeting your internal version, upstreamed the code, and have to wait for the feature to 
be in a GA release S omeone else has contributed a feature to trunk that's attractive and 
it's less work or more palatable to back-port it to your private fork and maintain the diff 
than to qualify a custom release off trunk You have stability concerns with GA releases or 
running a release based off trunk The backport branch we discussed in the previous thread 
would primarily address #4 (stability concerns) and secondarily #2 and #3 (feature 
availability). All four motivations could be addressed in other ways—ideally by reducing 
the pressure to fork in the first place, rather than accommodating forks as inevitable. If 
you're running a fork and open to sharing your experience, do these reasons match yours, or 
is something else at play? The more detail we can gather, the better we can target 
improvements where they'll actually help. I know these conversations take time and can be 
hard; I appreciate everyone taking the time and energy to help us collectively improve. 
~Josh

Reply via email to