In reviewing the PEP, I noticed a few potential issues:
PEP 8010 calls out to PEP 8001 for the voting mechanisms used in several places, however PEP 8001 does not use a secret ballot. While it might be arguably OK for basically choosing our āgovernmentā, when voting on actual individual people having public ballots seems like it would stifle peopleās willingness to vote honestly. If Iām running for GUIDO, and Barry is my friend, but doesnāt think Iād be a good GUIDO, is he going to feel comfortable ranking me lowly? This can get even worse in cases where a vote of confidence happens, because itās effectively an āaggressiveā action, and having public ballots is likely to make people extremely unwilling to actually vote to depose a GUIDO.
The entire CoP seems like a solution looking for a problem. I see that they appear to have 3 responsibilities:
- Advise the GUIDO.
- Initiate the proceeding to recall a GUIDO.
- Rule on PEPs written by the GUIDO.
- Itās unclear if this is true, the PEP seems to say that both the CoP and the GUIDO have ultimate authority on PEPs, but I think itās trying to say the CoP has ultimate authority on the GUIDOās PEPs.
The advisory role appears to be kind ofā¦ silly? to me. Presumably whoever the GUIDO is, is likely to already have people they trust and know within the community who theyāre going to go to to talk to and hash out design issues. Those people may be part of the CoP or may not, but it seems unlikely that the CoP is going to be providing something useful in terms of an advisory position for the CoP. Ideally the GUIDO should be getting advice from a wide range of people, and who it makes sense to get advice from may vary wildly from PEP to PEP. This almost feels like a parent trying to arrange friends for their childrenā¦
Recalling a GUIDO is probably the biggest, unique, responsibility of the CoP. However it seems to me like having an elected group of people whose role is to trigger a recall vote seems like a level of misdirection we are unlikely to require. I think we should easily get along just by saying that any core developer can motion for a vote of confidence in the current GUIDO at any time, and if another core developer seconds their motion that we trigger a vote and let the entire body vote then. Adding the CoP seems to be like a premature optimization since I donāt think weāre likely to run into core developers deciding to motion for a vote of no confidence just for funsies (especially if it requires a second to actually trigger it).
Additionally, the recall vote also uses the voting mechanism in PEP 8001, which doesnāt really make much sense I think because there are only two options (Yes or No), and when there are only two options all vote systems are basically the same (pick the one you want), but it might be useful to impose additional rules on a recall vote. One example that I can think of off the top of my head, is that it might be a good idea to require a recall vote to pass with a super majority since it is intended to only be used in the case of a GUIDO going off the reservation and causing grievous harm to Python-- and in those cases it seems like a super majority of Python core should be willing to depose the current GUIDO.
Finally, the CoPās last responsibility that I can find is to act as the arbiter when the GUIDO writes a PEP themselves. Personally, weāre already entrusting the GUIDO with a lot of power, additionally giving them the power to select a Delegate doesnāt seem like a large leap. If weāre worried about the GUIDO picking someone who they know will approve their PEP, regardless of what consensus is (which seems like a case for a recall TBH), maybe make it possible for any core developer to veto the Delegate the GUIDO picks within some set time frame of the announcement of the Delegate.
Al of that seems like it would greatly simplify this PEP by moving some powers out of the CoP, and into the broader core developer body, under the idea that the broader core developer body are not likely going to randomly trigger āaggressiveā actions like votes of no confidence or vetoāing a GUIDOās own PEP-Delegate just for funsies.