Skip to content

Commit 1a3a2eb

Browse files
authored
Refine TSC voting process (#1252)
This updates our TSC charter to update and clarify how voting works: - Updates voting processes to Condorcet Beatpath and STV Meek, fixing an inaccuracy where we described Condorcet as for multiple winners where we meant multiple candidates. - Adds a table clarifying the possible vote scenarios and where they count for clarity
1 parent 7e58000 commit 1a3a2eb

File tree

1 file changed

+28
-6
lines changed

1 file changed

+28
-6
lines changed

GraphQL-TSC.md

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -173,8 +173,15 @@ After a TSC seat vacancy the remaining TSC will collect self-nominations and vot
173173

174174
When something cannot be decided by consensus or a formal vote is required, the TSC will use a method appropriate to the situation:
175175

176-
- Simple majority for single-winner votes.
177-
- Condorcet method for multiple-winner votes.
176+
| Situation | Response | Method |
177+
| ------------------------------ | ---------------- | ---------------------------------------- |
178+
| Binary choice | Single choice | Simple majority as per [procedure][] |
179+
| Many choices, single winner | Rank all choices | [Condorcet Beatpath/Schulze][] |
180+
| Many choices, multiple winners | Rank all choices | [Single Transferable Vote (STV), Meek][] |
181+
182+
[procedure]: #voting-procedure
183+
[condorcet beatpath/schulze]: https://en.wikipedia.org/wiki/Schulze_method
184+
[single transferable vote (stv), meek]: https://en.wikipedia.org/wiki/Counting_single_transferable_votes#Meek
178185

179186
The ballots may be public or private depending upon the situation, but the aggregate results should always be published.
180187

@@ -197,19 +204,34 @@ Because we work in a distributed environment, the voting process must account fo
197204

198205
Once a valid vote is concluded, the result is determined by the number of votes received at that time (as opposed to the total number of TSC members):
199206

200-
- For a single-winner simple majority (or supermajority), the votes in favor must exceed half (or 2/3) of the total number of votes.
201-
- For a multiple-winner method, all votes received at the time the vote is concluded are considered.
207+
- For a binary choice, the votes in favor must exceed half for a majority (or 2/3 for a supermajority) of the total number of votes.
208+
- For ranked choices, all votes received at the time the vote is concluded are considered.
202209

203210
### Non-votes
204211

205212
TSC members are not required to vote. There are three ways an _attending_ member may reply to choose not to vote, each with a different intent and impact on the voting process:
206213

207214
- **Present:** A reply of "present" causes an _attending_ member to count towards quorum, but does not count towards the number of votes. This has the practical impact of allowing progress towards reaching quorum while lowering the number of "yes" votes required for a motion to pass. A member may reply "present" if they support a motion reaching a result, but do not have a preference if it passes or fails.
208-
- **Absent/Abstain:** A reply of "abstention" causes an _attending_ member to neither count towards quorum, nor towards the number of votes. This is implied for any absent _attending_ member which does not reply to a vote. This has the practical impact of hindering progress towards reaching quorum. A member may reply "abstain" if they do not support a motion reaching either result.
209-
- **Recused:** A reply of "recusal" causes a member to not count as an _attending_ member for the purposes of this vote. This has the practical impact of both lowering the number of _attending_ members required to reach quorum, and the number of "yes" votes required for a motion to pass. A member may reply "recused" if they want to remove themselves to minimize their impact on a vote, often due to a conflict of interest.
215+
- **Absent/Abstain:** A reply of "abstain" causes an _attending_ member to neither count towards quorum, nor towards the number of votes. This is implied for any absent _attending_ member which does not reply to a vote. This has the practical impact of hindering progress towards reaching quorum. A member may reply "abstain" if they do not support a motion reaching either result.
216+
- **Recused:** A reply of "recused" causes a member to not count as an _attending_ member for the purposes of this vote. This has the practical impact of both lowering the number of _attending_ members required to reach quorum, and the number of "yes" votes required for a motion to pass. A member may reply "recused" if they want to remove themselves to minimize their impact on a vote, often due to a conflict of interest.
210217

211218
Note: Non-attending members do not count towards quorum, and should they not vote are effectively recused.
212219

220+
#### All possible vote scenarios
221+
222+
Given the two kinds of TSC members (_attending_ and _non-attending_, defined above) and the possible votes or non-votes (also defined above),
223+
here is a table describing the impact of each vote scenario on the variables used in the voting procedure below.
224+
225+
| Vote | Counts as _attending_ | Counts towards _quorum_ | Counts towards a choice |
226+
| --------------------------------------- | :-------------------: | :---------------------: | :---------------------: |
227+
| _Attending_ member choice (i.e. yes/no) ||||
228+
| _Attending_ member "present" ||||
229+
| _Attending_ member is absent ||||
230+
| _Attending_ member abstains ||||
231+
| _Attending_ member recused ||||
232+
| _Non-attending_ member choice ||||
233+
| _Non-attending_ member non-vote ||||
234+
213235
### Voting procedure
214236

215237
Bringing this all together, here's a step-by-step procedure for administering a TSC vote:

0 commit comments

Comments
 (0)