Subject: Re: [PATCH v3 02/15] xdiff: introduce rust

From: Phillip Wood <[email-masked]>
Date: Fri, 5 Sep 2025 14:14:43 +0100

On 05/09/2025 11:31, Phillip Wood wrote:
> 
> I would like us to adopt rust but I am concerned about the implications 
> for platforms without rust and think we should give some notice in the 
> form a clear announcement in the release notes once we have a concrete 
> plan. That plan should include a decision on what commitment we can 
> realistically offer with regard to security updates for platforms 
> without a rust compiler so maintainers on those platforms have a clear 
> idea of how long they will be supported.

Here's what such an announcement might look like

     This release introduces an optional dependency on rust that is
     enabled by default. Platforms without a rust compiler can continue
     to build git by passing NO_RUST=1. In six months time we plan to
     make rust mandatory for building git. From that point git 2.x.y (the
     last version that can be built without rust) will continue to
     receive security updates for three years.

To me the important elements are:

1) There is a short period where rust is optional. This allows
    (i) Distributors on platforms without a rust compiler time to notify
        their users that in the future they will only be able to offer
        security updates.
   (ii) Distributors on platforms with a rust compiler time to adjust
        their build procedures to include rust.
  (iii) The git project time to gain experience of using rust and writing
        the necessary bindings while building with it is optional.

2) Rust is enabled by default so platforms without a rust compiler are
    made aware of the problem but have an easy way to continue to build
    git while rust is optional.

3) There is a period of a small number of years where we continue to
    provide security updates for a version of git that can be built
    without rust. This is intended to  allow a realistic time for
    distributors on platforms without a rust compiler to port one or make
    other arrangements for providing future security updates without
    placing an undue burden on the project to provide security updates
    for niche platforms indefinitely.

Thanks

Phillip