Subject: Re: [PATCH RFC v4 7/9] BreakingChanges: announce Rust becoming mandatory

From: Junio C Hamano <[email-masked]>
Date: Tue, 23 Sep 2025 07:31:32 -0700

Patrick Steinhardt <[email-masked]> writes:

> On Mon, Sep 22, 2025 at 09:24:26AM -0700, Junio C Hamano wrote:
>> Patrick Steinhardt <[email-masked]> writes:
>> >
>> > I think the most important part here is that this community-supported
>> > LTS release should still live in the canonical repositories. We should
>> > avoid the situation where we hand over maintainership to such a degree
>> > that the end result (the tagged LTS release) lives somewhere else.
>> 
>> Why is it a bad thing?  The official repository can have a README.md
>> with a single entry "maintenance releases for Git 2.98 LTS (most
>> notably with no Rust requirements) are found at this separate site".

I've been hoping that the relationship between LTS and the main
project would be similar to the one between Git for Windows and the
main project.  A friendly fork, that is led by competent folks who
are familiar with what is happening in the main project and are
trusted by their users.  They carry many changes on top of what the
main project has produced, many of them may not have been submit to
the main projecte for approval, and the main project does not even
feel the need to approve their changes, simply because it trust the
friendly fork.

I was hoping that anybody who read my message, from a later
reference to the coordinated disclosure example that lists the main
project, GfW, and LTS, as three friendly equals, would understand
that it was my assumption, but it seems that what you depict is
vastly different.

> There's a couple reasons:
>
>   - The LTS maintainer may not be as familiar with the Git codebase as
>   - The LTS maintainer may not be as trusted as other regulars on the

If you assume that you can only get incompetent folks who would not
be trusted by their users by their own ability and dedication, I do
not think an endorsement by the main project would help them gain
trust at all.  All it would do to force the main project to blindly
sign their output is to tarnish the brand of the main project.

In other words, you are assuming that no competent folks would want
to be the "LTS maintainer"(s), and you are arguing that if we really
want a "Rustless Git", which will be used by the general public, to
exist, we should be the ones that are working on it.

>> edge.  Most importantly, a coordinated disclosure would say that the
>> update to versions of
>> 
>>  - Git 3.0 to Git 3.4 are found $HERE, 
>>  - Git for Windows 3.0, 3.2, and 3.4 are found $THERE
>>  - Git 2.98 are found $COMMUNITY_LTS
>> 
>> to make sure that people know where to find their updates.
>> 
>> So, no, I do not think we should unnecessarily mix community LTS and
>> the main project.
>
> How about the following tradeoff: the community LTS is developed outside
> of the usual Git workflow, for example on a forge, so that the LTS
> maintainers can work in their preferred flow. But eventually, once they
> want to do a release they send a pull request to the Git mailing list
> and then the tag lives in the canonical Git repository.

I do not think, with your assumption that LTS maintainer(s) are
incompetent ones that cannot gain users' trust by themselves, such
an arrangement would work.  Its only effect would be to tarnish the
brand of the main project if we rubber stamp endorse their ware.