User:NeddySeagoon/Election Officials HOWTO
The elections project manages the two regular elections in Gentoo every year for council and trustees and occasional developer wide votes.
Project elections can be administered on request.
This page describes what election officials do and how and when they do it.
It is structured chronologically, following the various phases every election will go through.
Election officials, including infra contacts, may not become candidates in any election that they are officiating in. That is the sole restriction on officials. They remain free to vote, question candidates and do everything else that any other member of the electorate may do.
Preparing For The Election
Assembling The Officials
Three election officials and an infra contact are required. Four election officials is preferred. Just occasionally, real life happens and we lose an official just before the count.
In practice the election officials must be developers as a part of their role requires an account on Woodpecker.
The infra contact will perform all of activities that require root access, such as preparing the election for voting and harvesting completed ballots to make them available to the election officials at the end of voting.
The infra contact may also determine the election turnout from time to time as voting progresses.
Being Available for Questions
The electorate may have questions for election officials. Its important that officials can be contacted.
The elections Alias
Election officials, who need not be elections project members should add themselves to the elections email alias for the duration of the election. Candidates and the electorate will email the alias with queries about proceedings.
election officials need to join #gentoo-elections for the duration of the election
Testing the Setup
Send a test email to the alias and ensure that all the officials receive it.
Check that everyone has joined the IRC channel.
The Wiki Page
Create the nominations page for the new election by copying a prior election and updating the election specific material.
Note to self : Tidy up Elections Project Page when this material is added
Announce The Election
Updating last years announce email works.
The announcements go to different mailing lists.
Add an entry to #gentoo-dev IRC /topic.
The -announce lists are moderated. There will be a delay before the mail appears
firstname.lastname@example.org, gentoo-project <email@example.com>, firstname.lastname@example.org,
The Nomination Period
Follow the mailing list, per election instructions, for nominations, acceptances, declines and manifestos and update the wiki page. Any nominations, acceptances or manifestos announced in any other way must be ignored until they appear on the correct mailing list with a timestamp in the declared window.
Election officials may advise mailing list posters that their post is not compliant with the election rules and will not be counted. They are under no obligation to do so. Election officials may not even be monitoring incorrect lists.
Close to the end of the nomination period election officials may remind nominees that have not responded to their nomination they should accept or decline before the nomination window expires. There is no requirement to do so.
At the end of the nomination period ensure that the wiki page is complete and correct. The election infra contact will use it to create the ballot.
Updating the Wiki Page
Its all template driven, so its point and click as long as editors click on the correct links. If not, its very very scary.
To edit the election details or add/delete/modify a nomination entry, click edit to the left of Edit source at the top of the page.
All the other edit buttons will show the raw Wiki section.
From the commencement of nominations until the end of voting, candidates are may request a link on the Wiki page to their manifesto. The content of the link is under the candidates control.
Election officials should add the link to the wiki as soon as is reasonably practical.
Preparing For Voting
At the end of the nomination period, all of the officials validate that the list of acceptances on the wiki is complete and correct. Its been maintained throughout the nomination period, this is one final check.
When the officials are agreed that the page is correct, on of the officials advises the infra contact that they can create the ballot.
Once the ballot has been created, its validated by all of the officials. When the ballot is validated, the infra contact will make it live on Woodpecker.
Announce The Opening of the Voting Period
email the same lists as the election announcement.
Officials may issue voting reminders via the email lists.
For Council elections add an entry to #gentoo-dev IRC /topic.
Some elections permit votes to be submitted by gpg signed email. Election officials validate the signatures (but not the ballot) as these votes arrive.
Email Ballots (Trustees Only)
All election officials
- Verify that the ballot is correctly signed.
- Verify that the ballot is signed with the gpg key on record.
- Do not verify that any ballot is a correct ballot.
Voters submitting spoilt ballots correctly signed is acceptable.
Confirm to the infra contact that the ballot is to be included in the count.
At the end of the voting period, the infra contact will add the email ballots to woodpecker so that it is counted for the election.
Ballot Email Address Testing
Send a test email to the ballot address and ensure that all the election officials receive it.
Answer Questions from Voters and Candidates
Most questions to date during voting have been related to the eligibility of voters.
Election officials are not disqualified from voting because they are election officials, however, election candidates are barred from officiating in the election where they are candidates.
The -infra contact harvests correctly submitted votes from developers home directories, merges any validated email votes and deposits the output of this process in the election officials home directories on Woodpecker.
The election officials confirm that they all have the same set of files, evaluate the vote and confirm that they all have the same result.
Once the votes are harvested by the infra contact, Log into Woodpecker. Officials will find the ballots in ~/results-<election_name>. The directory will be owned by the official and no access to anyone else. ~/results-<election_name> contains two files,
master-<election_name>, which is all of the ballots with the voters names replaced by a 16 bit hex value. This file is published with the results.
confs-<election_name>, which in the mapping of 16 bit hex values to voters names. This file must be kept secret. Its used as input to a script to email individual voters their 16 bit hex value to enable them to check that their ballot was included correctly by looking at their own entry in the master ballot list.
Election officials and infra are the only developers that are able to check how each developer voted. As there is no technical way with the current election software to prevent that, we have to hope and believe they will not abuse their powers.
Producing the ranked list
countify --rank <election_name>
Once the election officials have agreed the above, one of their number announces the result on the mailing lists..
Announce the results by posting the Final ranked list: from the bottom of the output of countify --rank <election_name>
The entire countify output can be posted or attached. Attach the master-<election-name> file.
For Council Elections post to
email@example.com, firstname.lastname@example.org, email@example.com
set the replyto header to firstname.lastname@example.org which is the correct list for non technical Gentoo discussion.
For Foundation Elections post to
email@example.com, gentoo-project <firstname.lastname@example.org>, email@example.com, firstname.lastname@example.org
set the replyto header to email@example.com which is the correct list for discussion of Gentoo Foundation related business.
The -announce lists are moderated
Post Election Validation
Send voters their confirmation ID emails. There is a set of files in https://gitweb.gentoo.org/proj/elections.git/tree/mail-scripts/ to assist with this.
mail-voters is a bash script that uses the other files together with confs-<election_name> to email voters.
The writer has it on good authority that "it can be improved".