Hi Randall, On Sat, Aug 23, 2025 at 8:06 AM <rsbecker@xxxxxxxxxxxxx> wrote: > > On August 23, 2025 10:26 AM, Kristoffer Haugsbakk wrote: > >On Sat, Aug 23, 2025, at 15:43, rsbecker@xxxxxxxxxxxxx wrote: [...] > >> Does this introduce Rust as a mandatory dependency for git? If so, it > >> cuts out numerous platforms. > > > >The proposed platform support policy is in patch 1. > > > >https://lore.kernel.org/git/6d065f550fe871cf010409f7bd2a63438cf52723.1755 > >921357.git.gitgitgadget@xxxxxxxxx/ > > It is a very disappointing policy to be honest. It kicks me off git because Rust is > not available on my platform, representing tens of thousands of users in North > American alone. Rust is not available, but may be in a few years, but there is no > guarantee that the hardware vendor (HPE) will provide support. I previously > commented about the problem with Rust and was not taken seriously. This is > disappointing and exclusionary. I don't think that's fair. A quick reminder on the history: There was lots of excitement about potentially introducing Rust two years ago at our virtual Git contributors conference. Taylor formally proposed adopting it on the mailing list a year and a half ago. And at Git Merge last year, among those in attendance, there was broad significant interest in adopting Rust with unanimous support for letting it move forward among those that were present (which, yes, we know wasn't everyone). And there's the three rounds so far of this patch series. At every discussion where you weren't present, someone else would always bring up you and NonStop, and point out how you've been a very positive long-term member of the Git community and how Rust adoption would likely negatively affect you, which would be regrettable. We waited years to adopt Rust precisely (and I believe solely) because of your objections. Josh and Calvin even went the route of making optional not-even-built-by-default Rust libraries (libgit-rs and libgit-sys) when they wanted to add some Rust bindings. If years of deference by other community members isn't considered taking you seriously, I don't know what is. I agree that it is disappointing that there isn't a clear way to both gain the compelling advantages of Rust while also retaining the full current extent of our widespread platform support. It's doubly unfortunate since you're such a positive contributing member of the community. But not allowing us to ever gain the advantages of Rust is problematic too. So, a decision has to be made, one way or the other. If it helps, here's the statements I've seen from long term community members on Ezekiel's proposal for a hard dependency so far, most of which call out the reduced platform support (whether in favor of the proposal or not): * Randall: https://lore.kernel.org/git/031601dc143f$7a9a25d0$6fce7170$@nexbridge.com/ * brian: https://lore.kernel.org/git/aHlwZPbiKnakMN75@xxxxxxxxxxxxxxxxxxxxxxxxxx/ * Taylor: https://lore.kernel.org/git/aHl4U98BBvpA5eKF@nand.local/ * Patrick: https://lore.kernel.org/git/aH-CN0RYFmpm7fMt@xxxxxx/ * Phillip: https://lore.kernel.org/git/f439958d-64ce-417f-8175-720f69387d48@xxxxxxxxx/ There's also been some emails that can be read as implicitly making a position statement on the topic from long term community members: * Junio: https://lore.kernel.org/git/xmqqzfd12ujv.fsf@gitster.g/ * Johannes: https://lore.kernel.org/git/ac871bc4-df93-31f4-55f2-d6fc538a422d@xxxxxx/ * Elijah: https://lore.kernel.org/git/pull.1980.git.git.1752784344.gitgitgadget@xxxxxxxxx/ (I figured my noted assistance of this series meant I didn't need to explicitly call out my support for it.) > The assertion in the policy that Rust is easily interoperable is incorrect. Are you mixing up interoperability with portability? Without further context than your email provides, it appears so to me. Rust code can call C code and vice-versa within the same process without huge amounts of serializing and deserializing of data structures, and without what amounts to something close to an operating system context switch in order to ensure call stacks are as expected for the language in question. To me, that means we can call the two languages easily interoperable. On the other hand, portability of those languages is about whether those languages have compilers supported on various hardware platforms. The document explicitly calls out that fewer systems have a Rust compiler than have a C compiler, and that Rust adoption would thus reduce how portable Git is. Are you referring to this lower portability that the document itself also calls out, or are you pointing out additional issues with interoperation between the languages on a platform where compilers for both languages exist? If the latter, could you provide more details? I know my email is probably disappointing to you, at a minimum. I'm sorry about that. I hope it's helpful, at least in having links to where various folks in the community stand if nothing else.