Dear Sage developers:

I include an updated proposal below, with changes brought by the merged 
https://github.com/sagemath/sage/pull/37841, a clarification, and updated 
examples).
I ask everyone to focus the discussion on the specifics of the proposal.
I plan to call a vote on this in a week or so.

Matthias

=== Proposal (v2)

I propose a governance change for a small part of the main 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, as well as the Dev 
Containers feature on GitHub.
2. The file *tox.ini*. It contains the infrastructure for portability 
testing of the Sage distribution (
https://doc.sagemath.org/html/en/developer/portability_testing.html).
3. The file *src/doc/en/developer/portability_platform_table.rst *(which I 
update using "tox -e update_docker_platforms").

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. In particular, some of the open PRs listed as examples in the 
original post have been merged; thanks, Kwankyu, for reviewing of all of 
them!

*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.

*Examples* (all PRs authored by me, waiting for review):
- "dist.yml: Download optional/experimental tarballs for GitHub Release 
assets" (https://github.com/sagemath/sage/pull/37762)
- "CI: Handle the 'p: CI Fix' label" 
(https://github.com/sagemath/sage/pull/37950)

*Non-examples* (all PRs authored by me, waiting for review):
- "tox.ini: Add environments ruff, ruff-minimal; GH Actions: run 
ruff-minimal" (https://github.com/sagemath/sage/pull/37453) -- this also 
makes changes in src/tox.ini and src/doc, 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/10bafce1-43ad-4d81-8206-5f8404bb176dn%40googlegroups.com.

Reply via email to