From: Taylor Blau <me@ttaylorr.com>
To: git@vger.kernel.org
Subject: [TOPIC 04/11] Platform Support Policy
Date: Fri, 20 Sep 2024 10:19:02 -0400 [thread overview]
Message-ID: <Zu2EVvSajL/pUzL7@nand.local> (raw)
In-Reply-To: <Zu2DmS30E0kKug2a@nand.local>
Platform Support Policy
=======================
(moderator: Emily; notetaker: Calvin)
* Emily: if you want Git to support your platform, you have to provide
your tests (e.g. provide your own CI test runner)
* Should we be more explicit about, for example, the version of C
that one must support.
* Brian: less-common architectures (e.g. MIPS) sometimes can catch
problems (e.g. unaligned access) that are not a good practice anyway
* qemu based CI is so slow
* netbsd, openbsd, freebsd, probably solaris are up to date with
modern standards, probably supportable
* I'm more comfortable with "you have to have threading and POSIX
2008" than with "you have to provide a CI runner"
* Peff: I'm not sure what people have been counting on
* Do we have a way to find out what people are using?
* "Take a little risk, see who screams" has worked okay in the past
but takes a while
* Rust is probably a big change
* Patrick: keep in mind that we're at the core of the whole operating
system, part of the bootstrapping path
* Emily: yes and no - Git is not just the client, but Git is a
standard. You can use older versions of Git and clone things from
GitHub. If we still support the same protocols, I don't think
needing native git.git CLI support to run on your platform is as
compelling as new Git being able to support these older standards.
* brian: OpenBSD doesn't like the GPL, has a project for getting
trees called "got", it's in C and supportable. It can be a valid
bootstrapping tool.
* Patrick: The user experience there is a little closer to CVS. But
it's still an option.
* Jrnieder: looking from user perspective, Git is the tool people are
used to for day to day development
* Emily: There's a difference between using "a git" vs using the
latest version.
* Jnieder: telling users to use an older version might result in
users asking questions on the mailing list about those older
versions, it's also not free.
* Peff: to be fair, HP Nonstop support hasn't been a matter of
"please support me for free" - the maintainer there has been active
in helping test and debug things. The question here is not about
whether to continue that but rather about whether we're willing to
increase the platform dependencies when it breaks such a use case.
* Peff: Are we okay with dropping NO_PTHREADS support?
* Brian: POSIX 2008 shouldn't be that controversial. Neither C11
should be. We shouldn't take it too far like POSIX 2024, but we
have to set "some" standards.
* Emily: So next week when we come home we update the "minimum
requirements" on the mailing list, and everybody upvotes?
* Jonathan: we live in the real world - the spirit of "let's require
POSIX 2008" sounds right, but real-world considerations should
matter more than the exact text of the standard
* Peff: example: Android is missing pthread_setcanceltype, which
leads to Git on Android using NO_PTHREADS
* brian: it can be enough to pretend to support (compatibility shim)
* Calvin: is there a threshold % of users for "unimportant enough to
break"?
* Jrnieder: it depends on the platform. Do the requirements that a given
platform imposes push us in a good direction in general as a project?
* For example, Windows is a very non-POSIXy platform, but it has
nudged us toward thinking about subprocesses in a different way,
and I think that's been really healthy
* brian: As another example, Plan 9 is really difficult to support,
it won't pass the test suite
* z/OS patches originally came in and were gross. I saw a patch come
in recently that was more acceptable.
next prev parent reply other threads:[~2024-09-20 14:19 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-20 14:15 Notes from the Git Contributor's Summit, 2024 Taylor Blau
2024-09-20 14:17 ` [TOPIC 01/11] Rust Taylor Blau
2024-09-20 16:20 ` rsbecker
2024-09-23 2:25 ` Sean Allred
2024-09-23 12:17 ` rsbecker
2024-09-24 15:30 ` Phillip Wood
2024-09-24 22:44 ` rsbecker
2024-09-27 9:37 ` Sean Allred
2024-09-27 12:23 ` rsbecker
2024-09-27 17:40 ` rsbecker
2024-09-20 14:17 ` [TOPIC 02/11] Top-level lib/ directory Taylor Blau
2024-09-20 14:18 ` [TOPIC 03/11] Structured Error Handling Taylor Blau
2024-09-20 14:19 ` Taylor Blau [this message]
2024-09-20 14:19 ` [TOPIC 05/11]: SHA 256 / Git 3.0 Taylor Blau
2024-09-20 19:22 ` Junio C Hamano
2024-09-20 14:20 ` [TOPIC 06/11] Git and Software Freedom Conservancy Taylor Blau
2024-09-20 14:20 ` [TOPIC 07/11] New Contributors and Discord Taylor Blau
2024-09-20 22:48 ` Junio C Hamano
2024-09-21 17:02 ` Kousik Sanagavarapu
2024-09-22 19:15 ` Junio C Hamano
2024-09-22 19:44 ` Junio C Hamano
2024-09-23 13:51 ` Konstantin Ryabitsev
2024-09-23 21:31 ` Junio C Hamano
2024-09-24 18:06 ` Konstantin Ryabitsev
2024-09-24 19:15 ` Junio C Hamano
2024-09-24 19:23 ` Konstantin Ryabitsev
2024-09-27 10:08 ` Phillip Wood
2024-09-27 19:22 ` Junio C Hamano
2024-10-01 15:23 ` Phillip Wood
2024-09-20 14:21 ` [TOPIC 08/11] Modern Build Systems Taylor Blau
2024-09-23 2:01 ` Eli Schwartz
2024-09-24 12:13 ` Patrick Steinhardt
2024-09-20 14:22 ` [TOPIC 09/11] Bundle-URI on fetch / resume-able clone Taylor Blau
2024-09-20 14:22 ` [TOPIC 10/11] Project Tracking Taylor Blau
2024-09-20 19:41 ` Junio C Hamano
2024-09-20 19:49 ` Junio C Hamano
2024-09-23 9:15 ` Phillip Wood
2024-09-20 14:23 ` [TOPIC 11/11] git-scm.com state of the site Taylor Blau
-- strict thread matches above, loose matches on Subject: below --
2024-08-24 17:20 [GSoC][PATCH] unit-tests: add tests for oidset.h Ghanshyam Thakkar
2024-08-26 7:02 ` Patrick Steinhardt
2024-08-26 9:31 ` Christian Couder
2024-08-26 15:46 ` Junio C Hamano
2024-09-26 18:28 ` Junio C Hamano
2024-09-26 19:12 ` [PATCH] howto-maintain-git: discarding inactive topics Junio C Hamano
2024-09-27 8:57 ` [GSoC][PATCH] unit-tests: add tests for oidset.h Christian Couder
2024-09-27 18:47 ` Junio C Hamano
2024-09-28 7:02 ` Patrick Steinhardt
2024-09-30 18:48 ` Junio C Hamano
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=Zu2EVvSajL/pUzL7@nand.local \
--to=me@ttaylorr.com \
--cc=git@vger.kernel.org \
/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).