On 2. 7. 25 18:42, Graham Leggett wrote:
On 02 Jul 2025, at 17:16, Ivan Zhakov<i...@apache.org>  wrote:

With these points in mind, merging Serf into Subversion could be a logical
step. It would simplify new feature development, allowing more focus on
features and less on API and build dependencies.
I'm not so sure - at the end of all this effort, all you end up with is the 
same code in a different place. I'm not seeing that as a huge benefit.

I think the fact that serf exists and can be used by people independently of 
subversion is far more valuable in the long term. I wish more people would use 
async libraries.

I know for a fact that Serf is used elsewhere, in proprietary contexts that no research of public sources will tell you about. Precisely because it's asynchronous.

2. Some popular package managers like Homebrew don't even offer libserf as
a separate package, also indicating its lack of independent adoption.

Homebrew is not a "some popuar package managers", it's in fact the only one I know about that doesn't provide a standalone libserf. MacPorts does, as do all Linuxes and "the" three *BSDs. Even Haiku has serf packaged separately.

And even if this were true, I agree with Graham.


3. While I appreciate Serf's internal design and implementation, I think
there are no compelling reasons to choose it for a new project over
alternatives like libcurl.

So why doesn't Subversion have a libsvn_ra_curl?

   "While I appreciate Subversions's internal design and
   implementation, I think there are no compelling reasons to choose it
   for a new project over alternatives like git."

By your argument, Subversion should just go to the Attic since most people these days use git. Wasting time on new features, let alone new releases, is not economical.


4. Subversion is already developing new features that rely on unreleased
Serf APIs and capabilities.

Well, that's just misleading. Graham is right at this time preparing patches for Subversion to use (a) feature(s) that he is, at the same time, adding to Serf. Generalising from a single data point is not a valid argument.


5. Almost all Serf committers are also Subversion committers.

This is not an accident, it's intentional.


This means that the actual development community is shared, rather than
diverse.

Yes, and? Why is that a bad thing, for Serf specifically?


6. Merging Serf into Subversion would eliminate the need to reinvent
various patterns in Serf, such as svn_error_t.
This could allow reusing existing common primitives within Subversion.

Subversion's and Serfs internal architectures are completely different. Subversion is streamy, Serf is asynchronous. It's not all that obvious that there'd be much overlap. Using svn_error_t within Serf isn't such a boon as you might think, as it's not designed for the kind of error reporting that Serf needs (arguably "should have but doesn't").


With these points in mind, merging Serf into Subversion could be a logical
step. It would simplify new feature development, allowing more focus on
features and less on API and build dependencies.

I for one see some fallacies in your logic.

You'll have to explain in far more detail why you think that merging the two projects would "simplify new feature development". Because you'd have to prepare a single patch instead of two? That wouldn't go away.

The idea of focusing on "features and less on API and build dependencies" is a bit strange, too. I see that as more of a bad than a good thing. And which "build dependencies" are we focusing on to the detriment of everything else?

-- Brane

Reply via email to