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

From: Patrick Steinhardt <[email-masked]>
Date: Wed, 24 Sep 2025 14:53:58 +0200

On Tue, Sep 23, 2025 at 07:31:32AM -0700, Junio C Hamano wrote:
> Patrick Steinhardt <[email-masked]> writes:
> > 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.

I think there's a wide range between "competent" and "incompetent". I
would generally assume for example distro maintainers to be competent,
but they probably don't have as much expertise in the Git codebase
compared to a frequent committer to Git. So there's nuances here, and I
think in such cases everyone would benefit if they had a helping hand
from the Git project.

> >> 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.

Yeah, rubber-stamping doesn't really help indeed. The idea wasn't to do
that though, but to still do a sanity check of the new version.

I guess ultimately we'll have to figure out the details along the way.
There's many questions we cannot answer at this point in time yet, like:

  - When is the LTS maintainership handed over to the community?

  - Who is the community member that takes over maintainership of the
    LTS release?

  - How long do we expect to require the LTS release?

  - Will we even need it in the first place for Rustless builds?

So maybe it's premature at the current point in time to already spell
out details. Should we maybe just defer that decision into the future?
E.g. something like the below patch.

Patrick

diff --git a/Documentation/BreakingChanges.adoc b/Documentation/BreakingChanges.adoc
index 3b54750621..bf3173013d 100644
--- a/Documentation/BreakingChanges.adoc
+++ b/Documentation/BreakingChanges.adoc
@@ -200,9 +200,9 @@ The Git project will declare the last version before Git 3.0 to be a long-term
 support release. This long-term release will receive important bug fixes for at
 least four release cycles and security fixes for six release cycles. The Git
 project will hand over maintainership of the long-term release to distributors
-in case they need to extend the life of that long-term release even further. In
-that case, the backporting process will be handled by these distributors, but
-the long-term release tags will be created in the canonical Git repository.
+in case they need to extend the life of that long-term release even further.
+Details of how this long-term release will be handed over to the community will
+be decided once the Git project decides to stop officially supporting it.
 +
 We will evaluate the impact on downstream distributions before making Rust
 mandatory in Git 3.0. If we see that the impact on downstream distributions