On 9 April 2024 23:11:59 CEST, Matthias Koeppe <matthiaskoe...@gmail.com> wrote:
>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.

How about moving them out of the main Sage tree into separate repos, which can 
be accessed from the main tree as git submodules?

Then they could be developed in a completely separate process, and the 
corresponding PRs and issues won't be clogging up the main repo (which is 
already overloaded with all sorts of tangentially relevant to sagelib things.)
And the governance of these parts will be a separate thing all together.


Dima

>
>*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/70E50181-3B1F-46A5-9D4D-01FC3E715E9C%40gmail.com.

Reply via email to