On Thu, Sep 4, 2025 at 6:53 AM Sam James <sam@xxxxxxxxxx> wrote: > > Patrick Steinhardt <ps@xxxxxx> writes: [...] > >> Also, the approach of making it an optional component directly > >> contradicts the proposed policy I wrote up. That's a recipe for > >> additional burdensome work maintaining two implementations, when we > >> actually want to make it easier for people to contribute functionality. > >> It also doesn't provide any of the memory safety benefits or address any > >> of the concerns from governments, security professionals, and other > >> parties about the real and substantial risks of continuing to develop in > >> C. > > > > The only reason why we want to have it as an optional component is to > > make the transitioning period easier for downstream distributors. And > > the intent is not to convert major components -- it should be trivial > > components that we can use as test balloons, similar to how we did it > > for all of our C99 test balloons. > > Yes, even if it were just for one release, having it optional for > something would mean we can adjust packaging without some huge pressure > where git had 0 Rust in one release and then mandatory Rust in another. > > (I would of course prefer far more than one release, but I've tried > throughout this thread to give options even if the one I'd prefer isn't > pursued, not "teeth gnash"). Rust has been an optional component of git for the last three releases already, going back to v2.49.0. See the v2.49.0 release notes, or e.g. https://github.blog/open-source/git/highlights-from-git-2-49/ [*]. [*] A quote: "This release marks a major milestone in the Git project with the first pieces of Rust code being checked in..."