I think this deserves its own, distinct topic.
After five MGRC/ZOMG/ZCG election cycles, now seems like a good time to codify how those elections are run, and address some of the edge cases that have arise or become apparent.
We currently use Helios for ZCG elections. It has the advantages that it is free, simple, open source, auditable (i.e. the community doesn’t need to trust that ZF tallies the votes honestly and accurately), votes are secret (i.e. even the person who creates the poll has no way of finding out how a specific voter voted), and voters can change their vote (by simply re-casting their ballot).
A disadvantage of Helios is that we’re constrained by Helios’s functionality. For example, there’s no single transferable vote or instant run-off capability.
Currently, elections are based on approval. Given n candidates, voters are asked the following question:
Which of the following candidates do you approve of as ZCG members?
#1 of 1 — vote for up to n
The second line is inserted automatically by Helios (the voting platform we use). “#1 of 1” refers to the number of questions being asked in the poll, and “vote for up to n” indicates that voters can indicate which of the n candidate(s) they approve of by selecting anywhere between 0 and n.
When the voter selects their first candidate, green text appears, saying “You may select up to n choices total.”
This approach allows voters to express approval for some, all or none of the candidates. The candidate(s) with the highest approval rating win the election.
There is currently no approval threshold (i.e. there is no requirement that candidates must meet a minimum level of approval to be appointed to ZCG), . Nor is a “Re-Open Nominations” option provided.
Currently, we open the poll at least ten days before the election deadline to allow sufficient time for ZCAP members to be made aware of the poll, to read candidates’ self-nomination statements, to ask questions of the candidates on the forum, and to watch the Community Call with the candidates.
In the past, we have dealt with committee member resignations in two ways.
When SJL resigned from the committee in January 2021, the vacant seat was offered to the first runner up in the election (@alchemydc), who declined, leading to it being offered to the second runner up (@ml_sudo), who accepted.
When @Souptacular announced his intention to resign from the committee in May 2022, we took the opportunity to stagger elections for that seat. @Wobbzz’s resignation (and re-standing) achieves the same objective for a second seat. As a result, going forward, three seats will be up for election at the end of December, and two seats will be up for election at the end of June.
Note that I don’t mean to suggest that the two approaches outlined above should form some kind of precedent. They’re just described for the sake of context and historical information.
Also purely for information, over the years, a number of committee members have garnered less than 50% approval.
The current election raises a number of questions.
- What should happen if a candidate withdraws their candidacy after the deadline for nominations has closed and/or after the poll has opened?
- What should happen if the number of candidates standing for election is equal to (or less than) the number of open seats?
- Should there be a “Re-Open Nominations” option on the poll?
- Should there be a minimum approval threshold? This could be absolute, or dependent on how many seats are open and/or how many candidates are standing.
- Should a candidate (and/or the committee) be required to disclose that they have submitted (or plan to submit) a grant application, RFP response or similar that, if accepted by the committee, would result in them withdrawing their candidacy?
I’m sure others can identify other edge cases or scenarios that we may want to consider planning for.
I suggest that any proposals should be clearly actionable, and should not require that a new voting system be developed.
Helios allows anyone to create a poll, so it’s easy to experiment by creating your own polls (I suggest using generic names such as Alice, Bob and Eve as candidates’ names), and take screenshots to illustrate your idea/proposal/suggestion. If you want to suggest using a voting platform other than Helios, please describe how that platform compares to and differs from Helios, and post screenshots to illustrate its functionality.
My goal here is to spark a discussion, and elicit ideas from the Zcash community regarding the conduct of ZCG elections. A good outcome would be consensus around some aspects, with some clearly-defined choices that we can present to ZCAP, with the end-goal of a series of guidelines, processes and procedures, in the form of a ZIP that can be approved by ZCAP, and can form the basis for establishing candidates’ and voters’ expectations in future elections.