Re: [PATCH v5 7/9] BreakingChanges: announce Rust becoming mandatory
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Sep 23, 2025, 04:54 UTC
- Message-ID
- <aNIoFePhTc5vGc_-@pks.im>
- In-Reply-To
- <xmqqplbiqeol.fsf@gitster.g>
On Mon, Sep 22, 2025 at 03:56:42PM -0700, Junio C Hamano wrote:
Show 24 quoted lines
> "brian m. carlson" <sandals@crustytoothpaste.net> writes: > >> As I already said a few times (e.g. <xmqq8qipzhg3.fsf@gitster.g>), I > >> feel that the timeline hinted by any of these documents that were > >> proposed is way too aggressive for affected people to practically > >> prepare for. > > > > I don't think it's substantially more aggressive than the > > interoperability code. Both are aggressive timelines, but getting LLVM > > ported to some of the affected targets isn't out of the question > > (especially since older versions of it supported some of those targets) > > and once that's done, I'm pretty sure Rust upstream would be on board > > with supporting those systems. > > Our timeline being agressive to cause more intense work on our > people is one thing. It does not make much sense to me to compare > it with the timeline being aggressive to others who do not control > our timeline. > > Putting it in another way, I'd call it hopelessly optimistic to > expect that those currently without Rust can somehow come up with a > plan to help their vendors (or they may be vendors themselves, then > convince their management) prepare their platforms to support Rust > within 18 months. And giving them ultimatum based on the optimism > was never my favorite part of this whole thing.
We have made other breaking changes conditional on the wider ecosystem. For example, using reftable by default is conditioned on the ecosystem having catched up and supporting this new format.
Do we maybe want to do the same with Rust? We can for example add something like the following paragraph:
We will carefully evaluate the impact on downstream distributions
before making Rust mandatory in Git 3.0. If we see that the impact
on downstream distributions would be significant, we may decide to
defer this breaking change. This will also take into account our own
learnings with how painful it is to keep Rust an optional component.The intent would be to alert distributors, but not "blindly" pull the trigger. Instead, we should take a step back and evaluate both how the Rust ecosystem looks like at the Git 3.0 boundary and how painful it is for us to keep it as an optional component.
Patrick