Skip to content

Commit 6fda7e0

Browse files
committed
[RFC] Add voting majority RFC
1 parent e04a657 commit 6fda7e0

File tree

1 file changed

+84
-0
lines changed

1 file changed

+84
-0
lines changed

rfcs/0000-voting-majority.md

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# Summary
2+
[summary]: #summary
3+
4+
This RFC proposes updating our voting guidelines to make it easier for
5+
uncontroversial proposals to be accepted as the number of members in
6+
the working group grows. Specifically, the number of approving votes
7+
required will remain 50% of the members for one week, then be decreased
8+
to 33% for two weeks, and then if no concerns are raised any number of
9+
approvals will accept the proposal.
10+
11+
Considerations are also made for notifying working group members of
12+
outstanding voting issues.
13+
14+
# Motivation
15+
[motivation]: #motivation
16+
17+
Currently we require a [voting majority](https://github.com/rust-embedded/wg/blob/master/rfcs/0136-teams.md#voting-majority)
18+
consisting of more approvals than abstensions and zero unresolved concerns.
19+
In other words, we currently require approval from more than 50% of the
20+
current membership of the concerned team.
21+
22+
At present several issues have been difficult to pass, not because of any
23+
concerns raised but because our membership has grown and therefore so too has
24+
the number of required votes. See for example issues #172, #187, #190.
25+
26+
Several members have commented that they do not want their lack of voting
27+
to block an issue, but they are just not interested in every outstanding
28+
issue or do not have time to give them all detailed consideration.
29+
30+
We would like to be able to pass sub-group and working-group votes quickly
31+
where they are reasonably uncontroversial, without having to chase up many
32+
members to give a perfunctory vote.
33+
34+
# Detailed design
35+
[design]: #detailed-design
36+
37+
## Majority
38+
39+
For the first week after an issue is opened, the current 50% threshold remains
40+
in place. Votes which receive sufficient approvals can be accepted as usual.
41+
42+
After one week has passed, the threshold is reduced to 33%, and remains at 33%
43+
for two weeks. There must still be zero unresolved concerns; but only 33% of
44+
the members need to approve for a proposal to be accepted.
45+
46+
After those two weeks have passed (three weeks in total), _any_ number of
47+
approvals will permit a vote to be accepted, so long as there are no
48+
unresolved concerns. A member is explicitly permitted to raise a concern
49+
that there are not sufficient votes or an issue has not received sufficient
50+
attention and thereby block it from being accepted until that concern is
51+
addressed.
52+
53+
## Notifying Members
54+
55+
At each weekly meeting, outstanding votes will be identified, and members
56+
present at the meeting reminded to consider voting. After each meeting,
57+
all members of the relevant group will be emailed with a reminder of any
58+
pending votes.
59+
60+
By notifying members of outstanding votes each week, it is hoped that every
61+
member will have sufficient time to consider whether they have concerns over
62+
a specific vote. If the full three weeks elapses with no concerns raised,
63+
we conclude no members have concerns.
64+
65+
# Alternatives
66+
67+
## Status Quo
68+
69+
We could maintain the current system, perhaps just adding the reminder emails
70+
to attempt to collect sufficient voting majorities.
71+
72+
## Different Thresholds
73+
74+
The 33% number could be changed to 25%, or could be 33% for one week and then
75+
25% for the second week.
76+
77+
## Longer Timespans
78+
79+
We could increase the two-week 33% period to three weeks or longer.
80+
81+
## No Small Approvals
82+
83+
We could omit the final stage where any number of approvals accepts a vote,
84+
always requiring at least the 33% (or 25%) majority.

0 commit comments

Comments
 (0)