Re: [PATCH RFC v4 7/9] BreakingChanges: announce Rust becoming mandatory
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Sep 23, 2025, 14:31 UTC
- Message-ID
- <xmqqqzvxp7ej.fsf@gitster.g>
- In-Reply-To
- <aNIw23JzQE1vz2JD@pks.im>
Patrick Steinhardt <ps@pks.im> writes:
Show 11 quoted lines
> On Mon, Sep 22, 2025 at 09:24:26AM -0700, Junio C Hamano wrote: >> Patrick Steinhardt <ps@pks.im> 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.
Show 17 quoted lines
>> 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.