We (@pradyunsg and @hugovk) propose adding a deadline for seconding a vote of no confidence in a steering council member or the entire council.
Motivation
PEP 13 currently says:
Vote of no confidence
In exceptional circumstances, the core team may remove a sitting council member, or the entire council, via a vote of no confidence.
A no-confidence vote is triggered when a core team member calls for one publicly on an appropriate project communication channel, and another core team member seconds the proposal.
The vote lasts for two weeks. Core team members vote for or against. If at least two thirds of voters express a lack of confidence, then the vote succeeds.
There are two forms of no-confidence votes: those targeting a single member, and those targeting the council as a whole. The initial call for a no-confidence vote must specify which type is intended. If a single-member vote succeeds, then that member is removed from the council and the resulting vacancy can be handled in the usual way. If a whole-council vote succeeds, the council is dissolved and a new council election is triggered immediately.
Any vote of no confidence will introduce uncertainty to the Python project until the vote falls or a new council/member is removed, and a replacement subsequently elected. If the vote is not seconded, this uncertainty could prevent the steering council, and therefore the Python project, from functioning effectively for an extended period of time.
Deadlines of one week and two weeks were suggested in the earlier discussion.
Therefore we propose an approval vote to either:
- Status quo. No change to the text, time for seconding is undefined and open-ended.
- Add a one week deadline
- Add a two week deadline
You can vote for as many options as you like. The most popular will be applied to PEP 13, as long as it meets the two-thirds majority threshold.
Status quo
Status quo. No change to the text, time for seconding is undefined and open-ended:
A no-confidence vote is triggered when a core team member calls for one publicly on an appropriate project communication channel, and another core team member seconds the proposal.
One week
The one-week deadline text (using italics here for emphasis):
A no-confidence vote is triggered when a core team member calls for one publicly on an appropriate project communication channel, and another core team member seconds the proposal within one week.
As a diff:
A no-confidence vote is triggered when a core team member calls for
one publicly on an appropriate project communication channel, and
-another core team member seconds the proposal.
+another core team member seconds the proposal within one week.
And a changelog (date to be added):
2019-04-17: Added the vote length for core devs and changes to this document.
+2024-XX-XX: Added a one-week deadline for seconding a vote of no confidence.
Two weeks
The two-week deadline text (using italics here for emphasis):
A no-confidence vote is triggered when a core team member calls for one publicly on an appropriate project communication channel, and another core team member seconds the proposal within two weeks.
As a diff:
A no-confidence vote is triggered when a core team member calls for
one publicly on an appropriate project communication channel, and
-another core team member seconds the proposal.
+another core team member seconds the proposal within two weeks.
And a changelog (date to be added):
2019-04-17: Added the vote length for core devs and changes to this document.
+2024-XX-XX: Added a two-week deadline for seconding a vote of no confidence.
Poll
- Status quo
- One week deadline
- Two week deadline
This poll’s voting period coincides with the steering council election: November 25, 2024 through December 9, 2024 AoE.
References
- PEP 13: PEP 13 – Python Language Governance | peps.python.org
- Earlier discussion: Adding a "deadline" for seconding a vote of no confidence
- How to enact changes to PEP 13: How to enact changes to PEP 13
- Steering council election: Steering Council Election has started (2025 term)