Subject: Re: [PATCH 0/3] Advertise OS version

From: Junio C Hamano <[email-masked]>
Date: Thu, 20 Jun 2024 09:28:02 -0700

Christian Couder <[email-masked]> writes:

> For debugging and statistical purposes, it can be useful for Git
> servers to know the OS the client are using.
>
> So let's add a new 'os-version' capability to the v2 protocol, in the
> same way as the existing 'agent' capability that lets clients and
> servers exchange the Git version they are running.
>
> This sends the same info as `git bugreport` is already sending, which
> uses uname(2). It should be the same as what `uname -srvm` returns,
> except that it is sanitized in the same way as the Git version sent by
> the 'agent' capability is sanitized (by replacing character having an
> ascii code less than 32 or more than 127 with '.').
>
> CI tests are currently failing on Windows as it looks like uname(1)
> and uname(2) don't report the same thing:
>
>   -os-version=MINGW64_NT-10.0-20348.3.4.10-87d57229.x86_64.2024-02-14.20:17.UTC.x86_64
>   +os-version=Windows.10.0.20348
>
> (See: https://github.com/chriscool/git/actions/runs/9581822699)

I think we already heard from enough people to cover the spectrum of
opinions.  I'd have to say that needs to be carefully kept to the
minimum what we send in the 'user-agent' like manner.  The "git
bugreport" is an opt-in "these should help you in helping me"
feature, designed to allow further redacting by the user before
sending it out, and should not be compared with "on by default for
everybody" telemetry data.

I personally like the idea to add to user-agent, instead of adding a
new capability.  What is the true motivation behind this?  Is this
thing meant to gather statistics from potentially non-paying general
public from hosting providers, or is this primarily for $CORP IT
folks to make sure that nobody is being too stale?