Subject: Re: Pain points in Git's patch flow

From: "Theodore Ts'o" <[email-masked]>
Date: Tue, 20 Apr 2021 12:37:04 -0400

On Tue, Apr 20, 2021 at 08:30:57AM +0200, Sebastian Schuberth wrote:
> 
> I'm reading a lot about "maintainers" and "kernel developers" here.
> But what I believe is important to accept is that Git is not only
> about kernel development anymore. While I'm well aware of Git's
> history, there are by far more people using Git than there are kernel
> developers, and also by lines of code (or whatever "stupid" metric you
> want to choose) the kernel is not the biggest project maintained in
> Git. Maybe not even the most important one, but that's highly
> subjective anyway. So asked in a heretic way, why should the opinion
> of a kernel developer count more than the opinion of, say, an Eclipse
> Foundation developer when it comes to Git workflow questions?

I think it should be up to each development community to decide what
workflows makes sense for that community.

The kernel community has been taking requirements for what works well
for *that* community, and we've found companies who are willing to
fund improvements in the tools that we use (which include git,
public-inbox, patchwork, etc.) so that it can meet our needs.

Our approach is that we don't want to *force* everyone to switch to
some web interface.  Instead, instead of either-or, we're looking for
some kind both/and, so we don't have to insult people who are
*extremely* productive with an e-mail workflow by calling them
dinosaurs, and force them to use a web interface which would make them
much less productive, on the hope that maybe we would get some more
new contributors.  (And at least for the kernel, we're blessed by the
fact that there is no shortage of new contributors; so our goals are
to make *everyone* more productive, and not have an attitude of "you
shall use gerrit/github and everyone else can go suck wind".)

Git is going to have to decide what development workflows will work
well for its development community.  Historically, since git was
originally authored by Linus Torvalds, it's not surprising that there
is a bias towards an e-mail workflow.  Indeed, git commands like "git
send-email" and "git apply-mbox" are there from the very beginning
because it was *designed* to work well with the kernel workflow.

> To me, that means if you want to make contributions to Git more
> attractive to the Git community beyond the kernel, you need to stop
> making incremental improvements to existing tools and start thinking
> out of the box by looking at the tools that are most popular in that
> "other side" of the community.

I'm not sure that's what was meant by the question of pain points in
Git's patch flow.  Your perspective is certainly a valid one, and it's
certainly easier to choose sides and make an opinioned decision which
disenfranches "one side" of the community in favor of the "other side"
of the community.

It's not the approach that was adopted by the folks who are working on
improving the Kernel development workflows.  The git development
community will need what approach makes sense for it.

Cheers,

						- Ted