Re: [sage-devel] Re: Governance proposal: Maintainer/code-owner model for .ci, .devcontainer, .github/workflows, tox.ini

2024-05-13 Thread Dima Pasechnik


On Sunday, May 12, 2024 at 4:42:42 PM UTC+1 Matthias Koeppe wrote:


On Friday, May 10, 2024 at 4:19:14 PM UTC-7 julian...@fsfe.org wrote:

If I read your proposal correctly, it is about removing review from changes 
made by "maintainers" [...]


That's right -- for the specified files.

Mostly, I am opposed to this because changes to the files you list are not 
automatically uncontroversial, see the disputed 
https://github.com/sagemath/sage/pull/37740, 
https://github.com/sagemath/sage/pull/37387, 
https://github.com/sagemath/sage/pull/37351, 
https://github.com/sagemath/sage/pull/36726, 
https://github.com/sagemath/sage/pull/36697, 
https://github.com/sagemath/sage/pull/36694, 
https://github.com/sagemath/sage/pull/36678, (there's probably more.)


Well, my proposal only generally noted that "waiting for reviewers to 
approve a PR and waiting for the Release Manager to merge it adds too much 
delay and friction." But yes, these "disputes" are certainly part of the 
friction that my proposal seeks to eliminate by establishing proper 
governance.

But since you bring it up and list these examples, yes, we can certainly 
have this conversation in more detail.

[...] In general, I am not sure about changing the review requirements. I 
know that having to do several rounds of review can be frustrating. At the 
same time, I like the idea of having somebody double check things. (I 
consider waiting for the first round of review a necessary annoyance. What 
can be really frustrating is waiting for the second round of review. Maybe, 
there are other ways to improve this, e.g., by encouraging people to set 
things to "feel free to set to positive review yourself once you addressed 
these tiny things I brought up in my review.")


I have to note that this description would not be a good starting point for 
a conversation. First of all, it makes me uncomfortable that you are 
sharing generalities about the PR review process, perhaps as if I needed 
advice on this from you; what could be the possible purpose of doing so? 
The topic here is much more specific: namely PRs that make changes to the 
CI. 
But more importantly, you are writing this after having just brought up PRs 
such as "CI Linux: Replace use of pkill" (
https://github.com/sagemath/sage/pull/36726) -- which you as member of the 
sage-conduct committee are familiar with in detail. In this context, 
mentioning something like "waiting for the second round of review" as 
"really frustrating" furthers a mischaracterization of the problem, 
trivializing a very serious matter.


"CI Linux: Replace use of pkill" (
https://github.com/sagemath/sage/pull/36726), more precisely, the 
discussion (the non-flamewar part of it) which went on there,
is an excellent example of CI importance blown out of proportion.

It was argued there that certain "minimal configurations" of packages are 
crucial for Sage development, where in reality no sane users would build 
Sage on such a super-minimal set of packages. These "minimal 
configurations" are kept as an excuse for not slimming down Sage the distro 
to a  more meaningful set of packages, e.g. not including largely useless 
parts such as the gcc compiler.

If, as proposed, the governance of the CI part of the Sage the distro is 
getting split off from Sage the distro, but kept inside Sage proper,
it will only make CI more dominant, not less, and lead to more disputes, 
not less. The CI should be, basically, a downstream 
quality assurance tool, not the means in itself. It should not dictate what 
packages Sage should or should not vendor, and what versions
of Python etc Sage must support.

Dima
  


 


-- 
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/206a5801-dda8-4857-b0ff-3fc915490847n%40googlegroups.com.


Re: [sage-devel] Re: Governance proposal: Maintainer/code-owner model for .ci, .devcontainer, .github/workflows, tox.ini

2024-05-12 Thread Matthias Koeppe
Dear Julian,

On Friday, May 10, 2024 at 4:19:14 PM UTC-7 julian...@fsfe.org wrote:

If I read your proposal correctly, it is about removing review from changes 
made by "maintainers" [...]


That's right -- for the specified files.

Mostly, I am opposed to this because changes to the files you list are not 
automatically uncontroversial, see the disputed 
https://github.com/sagemath/sage/pull/37740, 
https://github.com/sagemath/sage/pull/37387, 
https://github.com/sagemath/sage/pull/37351, 
https://github.com/sagemath/sage/pull/36726, 
https://github.com/sagemath/sage/pull/36697, 
https://github.com/sagemath/sage/pull/36694, 
https://github.com/sagemath/sage/pull/36678, (there's probably more.)


Well, my proposal only generally noted that "waiting for reviewers to 
approve a PR and waiting for the Release Manager to merge it adds too much 
delay and friction." But yes, these "disputes" are certainly part of the 
friction that my proposal seeks to eliminate by establishing proper 
governance.

But since you bring it up and list these examples, yes, we can certainly 
have this conversation in more detail.

[...] In general, I am not sure about changing the review requirements. I 
know that having to do several rounds of review can be frustrating. At the 
same time, I like the idea of having somebody double check things. (I 
consider waiting for the first round of review a necessary annoyance. What 
can be really frustrating is waiting for the second round of review. Maybe, 
there are other ways to improve this, e.g., by encouraging people to set 
things to "feel free to set to positive review yourself once you addressed 
these tiny things I brought up in my review.")


I have to note that this description would not be a good starting point for 
a conversation. First of all, it makes me uncomfortable that you are 
sharing generalities about the PR review process, perhaps as if I needed 
advice on this from you; what could be the possible purpose of doing so? 
The topic here is much more specific: namely PRs that make changes to the 
CI. 
But more importantly, you are writing this after having just brought up PRs 
such as "CI Linux: Replace use of pkill" 
(https://github.com/sagemath/sage/pull/36726) -- which you as member of the 
sage-conduct committee are familiar with in detail. In this context, 
mentioning something like "waiting for the second round of review" as 
"really frustrating" furthers a mischaracterization of the problem, 
trivializing a very serious matter.

Matthias

-- 
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/a7aeaab2-2106-46c6-9dd6-56e2e0e5dd10n%40googlegroups.com.


Re: [sage-devel] Re: Governance proposal: Maintainer/code-owner model for .ci, .devcontainer, .github/workflows, tox.ini

2024-05-11 Thread Volker Braun
Splitting responsibilities for different parts of the codebase is standard 
operating procedure for every large software project. And monorepo 
(everything in one git tree) is by now the well-established gold standard 
for managing the source code, especially for all components where you need 
versions to be in lock-step. Because it really makes no sense to test 
different versions of the CI infrastructure against multiple versions of 
the core business logic and multiple version of the documentation to verify 
that they really work together. And not everybody is a mathematician and a 
devops engineer and can write the Japanese documentation.

I don't see how it can be confusing to other developers, only the 
maintainers need to have a grasp of what they are maintaining. If you don't 
know you can always just open a PR and it will go its usual way.

The subsystem maintainer doesn't have to be a single person, can also be a 
group that manages their own workflow. 

Really we should focus our effort on the math part, where review by experts 
in the field is super-important to implement state-of-the-art algorithms. 
On the other hand, I don't really care how the CI is set up as long as it 
runs the testsuite.



On Saturday, May 11, 2024 at 1:19:14 AM UTC+2 julian...@fsfe.org wrote:

Dear Matthias,

If I read your proposal correctly, it is about removing review from changes 
made by "maintainers" and merging things directly into develop without 
waiting for the Release Manager.

Mostly, I am opposed to this because changes to the files you list are not 
automatically uncontroversial, see the disputed 
https://github.com/sagemath/sage/pull/37740, 
https://github.com/sagemath/sage/pull/37387, 
https://github.com/sagemath/sage/pull/37351, 
https://github.com/sagemath/sage/pull/36726, 
https://github.com/sagemath/sage/pull/36697, 
https://github.com/sagemath/sage/pull/36694, 
https://github.com/sagemath/sage/pull/36678, (there's probably more.)

In general, I am not sure about changing the review requirements. I know 
that having to do several rounds of review can be frustrating. At the same 
time, I like the idea of having somebody double check things. (I consider 
waiting for the first round of review a necessary annoyance. What can be 
really frustrating is waiting for the second round of review. Maybe, there 
are other ways to improve this, e.g., by encouraging people to set things 
to "feel free to set to positive review yourself once you addressed these 
tiny things I brought up in my review.")

I also think it's fairly confusing to have different rules for different 
parts of the repository. I would not mind at all to use different rules for 
different repositories within the sagemath organization though. And 
breaking the sage repository into smaller bits sounds like a good idea to 
me anyway. (As long as all the src/sage and src/doc stays in one place…) 
There are some means to reuse workflows in GitHub (I have not checked if 
they are feasible for us) and one could certainly try to extract some 
things into shared actions that live elsewhere. Maybe that's an approach 
that is worth exploring?

julian

-- 
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/b28f918f-7275-49b6-b9c0-ea2ef428c19fn%40googlegroups.com.


Re: [sage-devel] Re: Governance proposal: Maintainer/code-owner model for .ci, .devcontainer, .github/workflows, tox.ini

2024-05-10 Thread Matthias Koeppe
On Friday, May 10, 2024 at 4:19:14 PM UTC-7 julian...@fsfe.org wrote:

There are some means to reuse workflows in GitHub


That's correct. 
They are called "reusable workflows", and I use them to provide portability 
testing to upstream projects of Sage. 
You can read about them in https://github.com/sagemath/sage/issues/8
 

(I have not checked if they are feasible for us) and one could certainly 
try to extract some things into shared actions that live elsewhere.


Well, I have checked. No, splitting the repository does not solve the 
problem.

-- 
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/4a600f59-5b56-470a-ab40-ad80a5d0a71an%40googlegroups.com.


Re: [sage-devel] Re: Governance proposal: Maintainer/code-owner model for .ci, .devcontainer, .github/workflows, tox.ini

2024-05-10 Thread julian...@fsfe.org
Dear Matthias,

If I read your proposal correctly, it is about removing review from changes 
made by "maintainers" and merging things directly into develop without 
waiting for the Release Manager.

Mostly, I am opposed to this because changes to the files you list are not 
automatically uncontroversial, see the disputed 
https://github.com/sagemath/sage/pull/37740, 
https://github.com/sagemath/sage/pull/37387, 
https://github.com/sagemath/sage/pull/37351, 
https://github.com/sagemath/sage/pull/36726, 
https://github.com/sagemath/sage/pull/36697, 
https://github.com/sagemath/sage/pull/36694, 
https://github.com/sagemath/sage/pull/36678, (there's probably more.)

In general, I am not sure about changing the review requirements. I know 
that having to do several rounds of review can be frustrating. At the same 
time, I like the idea of having somebody double check things. (I consider 
waiting for the first round of review a necessary annoyance. What can be 
really frustrating is waiting for the second round of review. Maybe, there 
are other ways to improve this, e.g., by encouraging people to set things 
to "feel free to set to positive review yourself once you addressed these 
tiny things I brought up in my review.")

I also think it's fairly confusing to have different rules for different 
parts of the repository. I would not mind at all to use different rules for 
different repositories within the sagemath organization though. And 
breaking the sage repository into smaller bits sounds like a good idea to 
me anyway. (As long as all the src/sage and src/doc stays in one place…) 
There are some means to reuse workflows in GitHub (I have not checked if 
they are feasible for us) and one could certainly try to extract some 
things into shared actions that live elsewhere. Maybe that's an approach 
that is worth exploring?

julian

-- 
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/2f6cbb89-d77c-492b-94a6-6b9a901d790cn%40googlegroups.com.


Re: [sage-devel] Re: Governance proposal: Maintainer/code-owner model for .ci, .devcontainer, .github/workflows, tox.ini

2024-05-10 Thread Matthias Koeppe
On Wednesday, May 8, 2024 at 12:18:51 PM UTC-7 Dima Pasechnik wrote:

I've already said while the previous version of this was discussed, is 
that it's a huge mess to have different commit rights for different 
parts of the tree,


I'm pretty sure that Volker and I can figure this out; there's no need to 
worry about this.

and I proposed to spin the CI into a separate 
repository, as an alternative which simplifies a lot of things.


I responded to this already in 
https://groups.google.com/g/sage-devel/c/dEa3i2Fn3ZY/m/1_43GUDTAAAJ; 
there's nothing to add to that.

-- 
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/056adbe1-df6b-4f35-941a-16b06edefc73n%40googlegroups.com.


Re: [sage-devel] Re: Governance proposal: Maintainer/code-owner model for .ci, .devcontainer, .github/workflows, tox.ini

2024-05-08 Thread Dima Pasechnik
I've already said while the previous version of this was discussed, is
that it's a huge mess to have different commit rights for different
parts of the tree, and I proposed to spin the CI into a separate
repository, as an alternative which simplifies a lot of things.

Dima


On Wed, May 8, 2024 at 7:25 PM Matthias Koeppe  wrote:
>
> On Monday, May 6, 2024 at 10:49:07 PM UTC-7 Kwankyu Lee wrote:
>
> I propose a governance change for a small part of the main Sage repository:
> 1. The directories .ci, .devcontainer, .github/workflows. [...]
> 2. The file tox.ini. [...]
>
> 3. The file src/doc/en/developer/portability_platform_table.rst (which I 
> update using "tox -e update_docker_platforms").
>
>
> I think we should restrict the scope to the files and directories strictly in 
> the CI infrastructure.  Anything under `src/` should be excluded.
>
>
> This file src/doc/en/developer/portability_platform_table.rst is part of the 
> documentation of the CI infrastructure and needs to be updated (by script) 
> whenever I make changes to the tested platforms.
>
>
>
> 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.
>
>
> I fear that developers in the Maintainer role could conflict in making 
> changes to the CI-related files, as we suffered in the disputed PRs.
>
>
> I don't share this concern.
>
> By the way, I documented who is currently in the Maintainer role when I 
> prepared the NumFOCUS application last month, see 
> https://github.com/sagemath/sage/wiki/NumFOCUS#q13new-please-list-your-projects-maintainers-ie-anyone-with-write-access-to-the-repository
> (I haven't checked if it has changed since.)
>
> There's certainly a broader governance discussion that we should have at some 
> point (regarding duties and appointment procedures for the Maintainer role, 
> the Triage team, and other functions in the project), but I would suggest to 
> do this in a separate thread.
>
> So I suggest to have only one Maintainer for those files. As we acknowledge a 
> certain dictatorship of the release manager, we may have a vote to elect the 
> CI manager and give him/her a restricted dictatorship and responsibility.
>
>
> This model would also work for me, but I think it's unnecessarily specific.
>
> --
> 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/e955c1d9-96f5-495d-85a9-9267f5414d3dn%40googlegroups.com.

-- 
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/CAAWYfq3h3f0G4JFxwFt02A%3D55xOLeDcNggWkjfUhWH8SRC3PPA%40mail.gmail.com.