git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 00/13] Update versions of libcurl and Perl

From
Taylor Blau <me@ttaylorr.com>
Date
Oct 15, 2024, 19:19 UTC
Message-ID
<Zw7AVzBORjvxrvKh@nand.local>
In-Reply-To
<CAPig+cS0vkTXeZX7qt6oOq3QpkWovfJnXuH7c3JtyAKOfnq1Ww@mail.gmail.com>
On Tue, Oct 15, 2024 at 02:13:45AM -0400, Eric Sunshine wrote:
Show 36 quoted lines
> 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.

Show 9 quoted lines
> > 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.

Show 9 quoted lines
> > 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

Previous: Eric SunshineNext: brian m. carlson
Message 29 of 56 in “Update versions of libcurl and Perl”
  1. 00/13 Update versions of libcurl and Perlbrian m. carlson, Oct 10, 2024
  2. 01/13 git-curl-compat: remove check for curl 7.21.5brian m. carlson, Oct 10, 2024
  3. 02/13 git-curl-compat: remove check for curl 7.25.0brian m. carlson, Oct 10, 2024
  4. 03/13 git-curl-compat: remove check for curl 7.34.0brian m. carlson, Oct 10, 2024
  5. 04/13 git-curl-compat: remove check for curl 7.39.0brian m. carlson, Oct 10, 2024
  6. 05/13 git-curl-compat: remove check for curl 7.43.0brian m. carlson, Oct 10, 2024
  7. 06/13 git-curl-compat: remove check for curl 7.44.0brian m. carlson, Oct 10, 2024
  8. 07/13 git-curl-compat: remove check for curl 7.52.0brian m. carlson, Oct 10, 2024
  9. 09/13 git-curl-compat: remove check for curl 7.56.0brian m. carlson, Oct 10, 2024
  10. Patrick SteinhardtOct 11, 2024
  11. Jeff KingOct 11, 2024
  12. Patrick SteinhardtOct 11, 2024
  13. Junio C HamanoOct 11, 2024
  14. 10/13 INSTALL: document requirement for libcurl 7.61.0brian m. carlson, Oct 10, 2024
  15. 12/13 INSTALL: require Perl 5.26.0brian m. carlson, Oct 10, 2024
  16. Oswald BuddenhagenOct 11, 2024
  17. brian m. carlsonOct 15, 2024
  18. 11/13 Require Perl 5.26.0brian m. carlson, Oct 10, 2024
  19. 08/13 git-curl-compat: remove check for curl 7.53.0brian m. carlson, Oct 10, 2024
  20. 13/13 gitweb: make use of s///rbrian m. carlson, Oct 10, 2024
  21. Jeff KingOct 11, 2024
  22. Junio C HamanoOct 11, 2024
  23. Eric SunshineOct 11, 2024
  24. Junio C HamanoOct 11, 2024
  25. Alejandro R. SedeñoOct 11, 2024
  26. Eric SunshineOct 11, 2024
  27. brian m. carlsonOct 11, 2024
  28. Eric SunshineOct 15, 2024
  29. Taylor BlauOct 15, 2024
  30. brian m. carlsonOct 15, 2024
  31. Alejandro R. SedeñoOct 16, 2024
  32. Eli SchwartzOct 22, 2024
  33. brian m. carlsonOct 22, 2024
  34. Alejandro R. SedeñoOct 11, 2024
  35. Junio C HamanoOct 11, 2024
  36. Alejandro R. SedeñoOct 14, 2024
  37. Patrick SteinhardtOct 17, 2024
  38. 00/12 Update versions of libcurl and Perlbrian m. carlson, Oct 23, 2024
  39. 04/12 git-curl-compat: remove check for curl 7.39.0brian m. carlson, Oct 23, 2024
  40. 03/12 git-curl-compat: remove check for curl 7.34.0brian m. carlson, Oct 23, 2024
  41. 01/12 git-curl-compat: remove check for curl 7.21.5brian m. carlson, Oct 23, 2024
  42. 02/12 git-curl-compat: remove check for curl 7.25.0brian m. carlson, Oct 23, 2024
  43. 05/12 git-curl-compat: remove check for curl 7.43.0brian m. carlson, Oct 23, 2024
  44. 06/12 git-curl-compat: remove check for curl 7.44.0brian m. carlson, Oct 23, 2024
  45. 08/12 git-curl-compat: remove check for curl 7.53.0brian m. carlson, Oct 23, 2024
  46. 09/12 git-curl-compat: remove check for curl 7.56.0brian m. carlson, Oct 23, 2024
  47. 12/12 gitweb: make use of s///rbrian m. carlson, Oct 23, 2024
  48. Oswald BuddenhagenOct 23, 2024
  49. brian m. carlsonOct 24, 2024
  50. 10/12 INSTALL: document requirement for libcurl 7.61.0brian m. carlson, Oct 23, 2024
  51. 11/12 Require Perl 5.26.0brian m. carlson, Oct 23, 2024
  52. rsbecker@nexbridge.comOct 23, 2024
  53. 07/12 git-curl-compat: remove check for curl 7.52.0brian m. carlson, Oct 23, 2024
  54. Taylor BlauOct 23, 2024
  55. Patrick SteinhardtOct 24, 2024
  56. brian m. carlsonOct 24, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.