At first I was very enthusiastic about this proposed policy, but after thinking about this for a bit I'm no longer convinced this is a good idea.
First of all, the policy sets out to solve the case "where there is a general consensus, but one person (or a few people) disagree". In my experience, this case is not a problem. All the examples mentioned so far (and the few other examples I'm aware of), have usually one positive reviewer and one negative review. This is not a general consensus. The problem is more that a general consensus cannot be reached. Another aspect of the issue is that usually only a very small group of 2 to 3 people is involved in discussing the PR, which perhaps not surprisingly then more easily results in a state where all arguments have been exchanged without finding a solution satisfying everyone. For example, with the proposed policy, Dima and me would have outvoted Matthias in https://github.com/sagemath/sage/pull/35403. But this PR was largely improved by the discussion on the mailing list (that it is still not clear how to proceed with this PR is another sad story). In light of this, I would like to propose to change the policy proposal to an automatic system that draws more attention to the PR, with the hope that new people bring new input and ideas, which then resolves the conflict in a natural way. The proposal is something along the following: if a PR is say a week in the "disputed state" as defined above by Kwankyu, both parties write a short statement of why they think it should or should not be merged, and this summary is then posted to the mailing list. Not to start a voting, but to raise awareness and invite other devs to join the discussion. Similar calls for PR reviews are not uncommon on the mailing list, so I don't think it would annoy subscribers too much. Finally, I think Dima raises a very important point. Most of the discussions in these "disputed PRs" are a result of a lack of a common vision for the project and agreement on what projects to work on. It would be immensely more productive to have a general discussion e.g. about how to proceed with sage-the-distribution (replace it?, with what?, how to sunset it? reduce it? enlarge it?). As an example, I think conda is a good candidate to replace sage-the-distribution and thus naturally open PRs with changes in that direction. But if you don't agree with this general direction, it's easy to find these changes annoying. On the other hand, if there would be an agreement that conda was a nice experiment that we don't want to continue, then I'm happy to delete it completely. But instead of a general direction, we have this situation where every developer is having their own ideas and little projects that they are working on, and that are bound to step on toes of others. On Wednesday, November 29, 2023 at 7:20:12 AM UTC+8 Kwankyu Lee wrote: > I think there needs to be a clear indication that a voting period is > active (and when it closes). Perhaps we can use a PR label "s: voting" or > "s: needs votes"? > > > If we do not want to invent a new label, we may add "s: needs review", "s: > needs work", "s:needs info" altogether to get attention. > > Then the voting period starts when the three labels are added. > > I suggest to end the voting when a week has passed after the last vote was > casted. > -- 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/c602514f-b7a1-4afc-bb04-cdde37b4a879n%40googlegroups.com.