From: Taylor Blau <me@ttaylorr.com>
To: Eric Sunshine <sunshine@sunshineco.com>
Cc: "brian m. carlson" <sandals@crustytoothpaste.net>,
"Jeff King" <peff@peff.net>,
git@vger.kernel.org, "Junio C Hamano" <gitster@pobox.com>,
"Alejandro R. Sedeño" <asedeno@mit.edu>
Subject: Re: [PATCH 00/13] Update versions of libcurl and Perl
Date: Tue, 15 Oct 2024 15:19:51 -0400 [thread overview]
Message-ID: <Zw7AVzBORjvxrvKh@nand.local> (raw)
In-Reply-To: <CAPig+cS0vkTXeZX7qt6oOq3QpkWovfJnXuH7c3JtyAKOfnq1Ww@mail.gmail.com>
On Tue, Oct 15, 2024 at 02:13:45AM -0400, Eric Sunshine wrote:
> On Fri, Oct 11, 2024 at 4:01 PM brian m. carlson
> <sandals@crustytoothpaste.net> wrote:
> > On 2024-10-11 at 18:09:14, Eric Sunshine wrote:
> > > I may be in the minority here, but I'm fairly negative on this entire
> > > patch series. As you say, supporting these old versions is effectively
> > > zero-cost, so how does this project benefit from these changes which
> > > potentially "break" Git for users on older platforms? I see no upside
> > > here. The cover letter provides no strong justification for
> > > (potentially) inconveniencing people; the argument about being able to
> > > utilize more modern Perl features is weak[1] at best and is not
> > > convincing.
> >
> > It is not effectively zero cost. When I want to write a patch, I must
> > make sure that it works on all the platforms we support, or my patch
> > will get reverted or not picked up. That means I have to expend
> > additional effort when adding features to look through the supported
> > versions of our dependencies and either conditionally check them or skip
> > the feature. Sometimes I have to rewrite that feature in a different
> > way, or ship a compatibility stub for a system that doesn't support it.
> >
> > I have actually spent a decent amount of work getting things to work
> > across older versions of software, both in Git and elsewhere. The more
> > we honour the policy we have already made and agreed upon, the less work
> > Git developers have to do to support adding and maintaining these
> > features.
>
> This attitude feels backward to me. It says that simplifying life for
> Git developers ("the few") is of paramount importance and that Git
> developers shouldn't care about inflicting pain/difficulty upon Git
> users ("the many"). This is especially disturbing considering the size
> of the Git user base.
>
> Instead, for every proposed change to Git, we should be asking
> ourselves what possible positive and negative impacts the change will
> have on *users*, and if the negatives outweigh the positives, then the
> change should be considered with a very wary eye indeed.
I agree with Eric that we should first and foremost consider the
user-impact of any changes we make to Git.
I think in reality there must be a balance between the two. We should
make reasonable decisions when presented a trade-off between supporting
users and making the lives of Git developers easier. For instance, if
there is some change we could make which would involve a manageable
amount of additional effort, but would somehow benefit the lives of many
users (e.g., supporting more versions of a dependency, improving
performance, fixing a widespread bug, etc.), then we should do that
thing.
On the other hand, if we are bending over backwards as developers to
support a small portion of the user-base (e.g., by maintaining some
ancient version of a dependency that is no longer reasonable because we
can assume that 99.99% of users have a newer version), then we should
consider our options and investigate. What are the ongoing costs to
maintain that minimum version? What features are we missing? How many
users would be affected by dropping support for that version, etc.?
I am not entirely sure whether the jump that brian is proposing is
reasonable or not. The current minimum version of Perl, for example, is
from 2003, but the proposed new minimum is from 2017. While the new
version is certainly not new, I am not sure how many users would be
affected by dragging the minimum version forward by some 14 years.
> > Certainly we cannot force people to upgrade, but we also don't have to
> > support those people. Git is an open-source project, and people are
> > welcome to make changes that they want to it without our approval, as
> > long as they comply with the license.
>
> Ditto what I said above about this attitude feeling backward.
>
> Moreover, as mentioned previously, it is not *this* project's
> responsibility to be forcing people to upgrade their insecure systems.
I do not think it is our responsibility to force people to upgrade their
systems. But OTOH we should not bend over backwards here either to
support ancient versions of dependencies when there are compelling
reasons *not* to use those versions.
I agree with your earlier comment that there is a balance between
thinking about this abstractly and applying it to the real world. But at
some point we have to throw our hands up and stop spending effort
supporting ancient/insecure versions of dependencies.
> > There's also discussion about adding Rust to Git. Assuming we do that,
> > we're going to have to work with Rust's requirements for OSes, which
> > usually follow major supported distros (for Linux) or upstream's policy
> > (for the BSDs). So we're going to have the same problem in that people
> > are actually going to have to upgrade to a supported OS, except it's
> > really not going to be optional because the code simply won't compile.
> > We might as well get used to doing that now.
>
> "Assuming we do that" is the key phrase.
Indeed. Let's not worry about it for now.
Thanks,
Taylor
next prev parent reply other threads:[~2024-10-15 19:19 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-10 23:56 [PATCH 00/13] Update versions of libcurl and Perl brian m. carlson
2024-10-10 23:56 ` [PATCH 01/13] git-curl-compat: remove check for curl 7.21.5 brian m. carlson
2024-10-10 23:56 ` [PATCH 02/13] git-curl-compat: remove check for curl 7.25.0 brian m. carlson
2024-10-10 23:56 ` [PATCH 03/13] git-curl-compat: remove check for curl 7.34.0 brian m. carlson
2024-10-10 23:56 ` [PATCH 04/13] git-curl-compat: remove check for curl 7.39.0 brian m. carlson
2024-10-10 23:56 ` [PATCH 05/13] git-curl-compat: remove check for curl 7.43.0 brian m. carlson
2024-10-10 23:56 ` [PATCH 06/13] git-curl-compat: remove check for curl 7.44.0 brian m. carlson
2024-10-10 23:56 ` [PATCH 07/13] git-curl-compat: remove check for curl 7.52.0 brian m. carlson
2024-10-10 23:56 ` [PATCH 08/13] git-curl-compat: remove check for curl 7.53.0 brian m. carlson
2024-10-10 23:56 ` [PATCH 09/13] git-curl-compat: remove check for curl 7.56.0 brian m. carlson
2024-10-11 6:48 ` Patrick Steinhardt
2024-10-11 7:33 ` Jeff King
2024-10-11 7:49 ` Patrick Steinhardt
2024-10-11 16:53 ` Junio C Hamano
2024-10-10 23:56 ` [PATCH 10/13] INSTALL: document requirement for libcurl 7.61.0 brian m. carlson
2024-10-10 23:56 ` [PATCH 11/13] Require Perl 5.26.0 brian m. carlson
2024-10-10 23:56 ` [PATCH 12/13] INSTALL: require " brian m. carlson
2024-10-11 9:38 ` Oswald Buddenhagen
2024-10-15 22:48 ` brian m. carlson
2024-10-10 23:56 ` [PATCH 13/13] gitweb: make use of s///r brian m. carlson
2024-10-11 7:40 ` [PATCH 00/13] Update versions of libcurl and Perl Jeff King
2024-10-11 16:42 ` Junio C Hamano
2024-10-11 18:09 ` Eric Sunshine
2024-10-11 18:35 ` Junio C Hamano
2024-10-11 19:08 ` Alejandro R. Sedeño
2024-10-11 19:22 ` Eric Sunshine
2024-10-11 20:01 ` brian m. carlson
2024-10-15 6:13 ` Eric Sunshine
2024-10-15 19:19 ` Taylor Blau [this message]
2024-10-15 23:56 ` [PATCH 00/13] Update versions of libcurl and Perlg brian m. carlson
2024-10-16 2:00 ` Alejandro R. Sedeño
2024-10-22 3:34 ` [PATCH 00/13] Update versions of libcurl and Perl Eli Schwartz
2024-10-22 21:58 ` brian m. carlson
2024-10-11 13:23 ` Alejandro R. Sedeño
2024-10-11 16:48 ` Junio C Hamano
2024-10-14 13:28 ` Alejandro R. Sedeño
2024-10-17 9:16 ` Patrick Steinhardt
2024-10-23 0:45 ` [PATCH v2 00/12] " brian m. carlson
2024-10-23 0:45 ` [PATCH v2 01/12] git-curl-compat: remove check for curl 7.21.5 brian m. carlson
2024-10-23 0:45 ` [PATCH v2 02/12] git-curl-compat: remove check for curl 7.25.0 brian m. carlson
2024-10-23 0:45 ` [PATCH v2 03/12] git-curl-compat: remove check for curl 7.34.0 brian m. carlson
2024-10-23 0:45 ` [PATCH v2 04/12] git-curl-compat: remove check for curl 7.39.0 brian m. carlson
2024-10-23 0:45 ` [PATCH v2 05/12] git-curl-compat: remove check for curl 7.43.0 brian m. carlson
2024-10-23 0:45 ` [PATCH v2 06/12] git-curl-compat: remove check for curl 7.44.0 brian m. carlson
2024-10-23 0:45 ` [PATCH v2 07/12] git-curl-compat: remove check for curl 7.52.0 brian m. carlson
2024-10-23 0:45 ` [PATCH v2 08/12] git-curl-compat: remove check for curl 7.53.0 brian m. carlson
2024-10-23 0:45 ` [PATCH v2 09/12] git-curl-compat: remove check for curl 7.56.0 brian m. carlson
2024-10-23 0:45 ` [PATCH v2 10/12] INSTALL: document requirement for libcurl 7.61.0 brian m. carlson
2024-10-23 0:45 ` [PATCH v2 11/12] Require Perl 5.26.0 brian m. carlson
2024-10-23 1:15 ` rsbecker
2024-10-23 0:46 ` [PATCH v2 12/12] gitweb: make use of s///r brian m. carlson
2024-10-23 12:34 ` Oswald Buddenhagen
2024-10-24 21:52 ` brian m. carlson
2024-10-23 20:16 ` [PATCH v2 00/12] Update versions of libcurl and Perl Taylor Blau
2024-10-24 6:05 ` Patrick Steinhardt
2024-10-24 21:53 ` brian m. carlson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Zw7AVzBORjvxrvKh@nand.local \
--to=me@ttaylorr.com \
--cc=asedeno@mit.edu \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
--cc=sandals@crustytoothpaste.net \
--cc=sunshine@sunshineco.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).