Dear Sage developers:
I propose to consider the following governance change for a small part of 
the Sage repository:
1. The directories *.ci, .devcontainer, .github/workflows*. These are 
special directories that control the GitHub workflows that run for example 
on pull requests and when release tags are pushed.
2. The files *tox.ini* and *build/bin/write-dockerfile.sh*. They contain 
the infrastructure for portability testing of the Sage distribution 
(https://doc.sagemath.org/html/en/developer/portability_testing.html). 

Some of these files are shipped as part of the Sage distribution, but none 
of them have any role in the build process or runtime of Sage, and thus 
none of them are tested by the Release Manager.

*Status quo: *All changes to these files go through the normal review 
process for Sage PRs; when set to "positive review", Volker merges them 
into the next development release.
In the terminology of https://martinfowler.com/articles/ship-show-ask.html 
(ht Gonzalo Tornaria), this is the "Ask" model.

Acknowledgment: I'm grateful to all who have contributed to the review of 
my PRs that made changes to these files in the past: thanks for your time 
and energy.

*Proposed change: *All changes to these files are made through PRs. When 
the PR is ready, a developer in the Maintainer role directly merges the PR 
into the "develop" branch.
In other words, switch to the "Show" model for these changes.

*Why the change:*
1. Changes to these files do not have any effect on the build and runtime 
of Sage;
- thus changes to these files do not risk breaking the mathematical 
correctness, or the performance of anything in Sage;
- hence there may not be the same need for formal review compared to 
changes to the Sage library.

2. Our project has a collective interest in smoothly operating development 
infrastructure / quality assurance tools;
- but tragedy of the commons;
- more specifically, developing/improving such development tools only pays 
off individually for developers with a sufficiently high volume of activity 
(cf. 
https://github.com/sagemath/sage/graphs/contributors?from=2020-01-01&to=2024-04-09&type=c);
- there may also be a technical barrier that prevents developers from even 
reviewing a PR that makes changes to these files;
- hence, waiting for reviewers to approve a PR and waiting for the Release 
Manager to merge it adds too much delay and friction.

3. Examples (all PRs authored by me, waiting for review):
- "CI build, doc-build: Run containers explicitly, separate jobs for 
pyright, build, modularized tests, long tests" 
(https://github.com/sagemath/sage/pull/36498) waiting for review since Oct 
21, 2023
- "GH Actions: Build platform-independent wheels of sagemath-environment, 
sage-setup, sage-sws2rst for PyPI" 
(https://github.com/sagemath/sage/pull/37099) waiting for review since Feb 5
- "CI: Update Linux platforms / runners" waiting for review since Feb 14
- "GH Actions: Build macOS arm64 wheels" 
(https://github.com/sagemath/sage/pull/37503) waiting for review since Feb 
28
- "CI Build&Test: Fix "test modularized distributions" 
(https://github.com/sagemath/sage/pull/37750) waiting for review since Apr 4
- "dist.yml: Download optional/experimental tarballs for GitHub Release 
assets" (https://github.com/sagemath/sage/pull/37762) waiting for review 
since Apr 6

4. Non-examples (all PRs authored by me, waiting for review):
- "CI Build&Test: Show segfaults using GitHub annotations" 
(https://github.com/sagemath/sage/pull/37738, waiting for review) -- this 
makes changes in sage.doctest, so would continue to be reviewed normally
- "tox.ini: Add environments ruff, ruff-minimal; GH Actions: run 
ruff-minimal" (https://github.com/sagemath/sage/pull/37453, waiting for 
review) -- this also makes changes in src/tox.ini and src/doc, so would 
continue to be reviewed normally
- "src/tox.ini (coverage:run): Set concurrency = multiprocessing,threads" 
(https://github.com/sagemath/sage/pull/37010) -- makes changes in 
src/tox.ini, so would continue to be reviewed normally
- "sage -tox -e pyright: Update, speed up, isolate" 
(https://github.com/sagemath/sage/pull/36515) -- makes changes to 
pyrightconfig.json and src/tox.ini, so would continue to be reviewed 
normally


-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/d4a6462d-42ab-4afc-b24e-0be98be20174n%40googlegroups.com.

Reply via email to