Jump to: navigation, search

Difference between revisions of "Election Officiating Guidelines"

m (Set up the election)
(Create the Poll)
 
(13 intermediate revisions by 7 users not shown)
Line 7: Line 7:
 
You should create a wiki page describing the election, the election official(s), the timeline, who can apply, who can vote and the method that wil be used for voting (and breaking ties, see below).
 
You should create a wiki page describing the election, the election official(s), the timeline, who can apply, who can vote and the method that wil be used for voting (and breaking ties, see below).
  
See for an example: [[PTL_Elections_Spring_2013]]
+
See for an example: [[PTL_Elections_Fall_2013]]
  
 
This page should be advertised on the appropriate mailing-list.
 
This page should be advertised on the appropriate mailing-list.
  
 
===Generate a list of voters===
 
===Generate a list of voters===
run `git log --pretty=%ae --since '1 year ago' | sort -u` - for whatever time frame you need to generate your voters list
+
Run `git log --pretty=%aE --since '1 year ago' | sort -u` - for whatever time frame you need to generate your voters list
send the list of voters to the election officator, or confirm with project the list is accurate.
+
send the list of voters to the election officator, or confirm with project the list is accurate (%aE pretty format should be used to consider .mailmap).
 +
 
 +
If you receive a .csv file from someone with root access in infra, you may need to run `cut -d, -f3 <input_file>.csv > <output_file>.txt`. Check the file first to see if it has raw email addresses or is in a .csv format which would include their name on the line with their address. The voting application won't accept their name as part of the upload file.
 +
 
 +
NOTE: for official (PTL, TC and Board) elections there is an extra step that requires XXX.  The email addresses in commit logs canonicalised to be the primary email address and that address is used to validate that the commiter is a CLA signer.
  
 
== Request self-nomination ==
 
== Request self-nomination ==
Line 24: Line 28:
  
 
===Get Familiar with the Voting Application===
 
===Get Familiar with the Voting Application===
Most OpenStack elections use the Condorcet Internet Voting Service: http://www.cs.cornell.edu/w8/~andru/civs/
+
Most OpenStack elections use the Condorcet Internet Voting Service: http://civs.cs.cornell.edu/
Start by reading the FAQs: http://www.cs.cornell.edu/w8/~andru/civs/faq.html
+
Start by reading the FAQs: http://civs.cs.cornell.edu/faq.html
  
 
===Create the Poll===
 
===Create the Poll===
Then set up the poll: http://www.cs.cornell.edu/w8/~andru/civs/civs_create.html
+
Then set up the poll: http://civs.cs.cornell.edu/civs_create.html
 
*Name of the Poll
 
*Name of the Poll
 
*Name of supervisor (election official)
 
*Name of supervisor (election official)
 
*E-mail address of supervisor (election official)
 
*E-mail address of supervisor (election official)
 
*Day and time you plan to stop the poll - manual ending
 
*Day and time you plan to stop the poll - manual ending
*Description of poll
+
*Description of poll (should not include the names of the candidates, as their apparent ordering would favor some of them)
*Names of Candidates
+
*Names of Candidates (optionally with their irc name)
*Upload file from gerrit of eligible voters (see generate a list of voters above) - 1000 voters maximum.
+
*Upload file of raw email addresses from gerrit of eligible voters (see generate a list of voters above) - 1000 voters maximum.
 
*Check the '''Enable detailed ballot reporting''' box in the options section
 
*Check the '''Enable detailed ballot reporting''' box in the options section
 +
 +
* Do NOT check "Make this a test poll: read all votes from a file." as this will prevent you from running a poll.
  
  
Line 45: Line 51:
 
===Run the Election===
 
===Run the Election===
 
After you create the poll, civs will send an email to the address of the supervisor. The email will contain a link to a webpage which allows the supervisor to conduct the election. There is a button to start the poll, which once started becomes a button to end the poll. All the information contained in the poll is there, except the list of voters, civs doesn't save the list. There is a text box to add email addresses for additional voters. Save the link from the email, civs has no way to get you another one if yours is lost.
 
After you create the poll, civs will send an email to the address of the supervisor. The email will contain a link to a webpage which allows the supervisor to conduct the election. There is a button to start the poll, which once started becomes a button to end the poll. All the information contained in the poll is there, except the list of voters, civs doesn't save the list. There is a text box to add email addresses for additional voters. Save the link from the email, civs has no way to get you another one if yours is lost.
 +
 +
Note: If a ballot gets lost, you can re-enter the email address that is on the original voter's list and the system will recognize the email address and send a new ballot to that email address without risk of that voter being able to vote twice. The email address has to match the email address on the original voter's list.
  
 
==== Breaking ties ====
 
==== Breaking ties ====
 
Condorcet voting may generate ties. We advise to break them using [[Governance/TieBreaking]].
 
Condorcet voting may generate ties. We advise to break them using [[Governance/TieBreaking]].
 +
 +
[[Category: Elections]]

Latest revision as of 15:41, 4 August 2016

Pick election officials

Election officials should not run for election themselves. Ideally they should also have no interest in the election outcome (to preserve neutrality) but that is generally harder to achieve.

Set up the election

You should create a wiki page describing the election, the election official(s), the timeline, who can apply, who can vote and the method that wil be used for voting (and breaking ties, see below).

See for an example: PTL_Elections_Fall_2013

This page should be advertised on the appropriate mailing-list.

Generate a list of voters

Run `git log --pretty=%aE --since '1 year ago' | sort -u` - for whatever time frame you need to generate your voters list send the list of voters to the election officator, or confirm with project the list is accurate (%aE pretty format should be used to consider .mailmap).

If you receive a .csv file from someone with root access in infra, you may need to run `cut -d, -f3 <input_file>.csv > <output_file>.txt`. Check the file first to see if it has raw email addresses or is in a .csv format which would include their name on the line with their address. The voting application won't accept their name as part of the upload file.

NOTE: for official (PTL, TC and Board) elections there is an extra step that requires XXX. The email addresses in commit logs canonicalised to be the primary email address and that address is used to validate that the commiter is a CLA signer.

Request self-nomination

For elections with open candidates, we generally use a self-nomination mechanism (eligible candidates who want to run send an email stating their intent, and potentially describing their platform, to a per-determined mailing-list). This avoids having to confirm candidates when they are nominated by third-parties, which is a painful and time-consuming process.

You should allow sufficient time (at least a week) for self-nominations.

Running the election itself

Get Familiar with the Voting Application

Most OpenStack elections use the Condorcet Internet Voting Service: http://civs.cs.cornell.edu/ Start by reading the FAQs: http://civs.cs.cornell.edu/faq.html

Create the Poll

Then set up the poll: http://civs.cs.cornell.edu/civs_create.html

  • Name of the Poll
  • Name of supervisor (election official)
  • E-mail address of supervisor (election official)
  • Day and time you plan to stop the poll - manual ending
  • Description of poll (should not include the names of the candidates, as their apparent ordering would favor some of them)
  • Names of Candidates (optionally with their irc name)
  • Upload file of raw email addresses from gerrit of eligible voters (see generate a list of voters above) - 1000 voters maximum.
  • Check the Enable detailed ballot reporting box in the options section
  • Do NOT check "Make this a test poll: read all votes from a file." as this will prevent you from running a poll.


You should allow sufficient time (at least a week) for voting.

Note: CIVS uses the vote admin locale to generate voting emails. For example, if you start the election from a Firefox in a French locale, you'll send out voting links emails in French. To avoid that, please set your browser locale to US english before you start an election.

Run the Election

After you create the poll, civs will send an email to the address of the supervisor. The email will contain a link to a webpage which allows the supervisor to conduct the election. There is a button to start the poll, which once started becomes a button to end the poll. All the information contained in the poll is there, except the list of voters, civs doesn't save the list. There is a text box to add email addresses for additional voters. Save the link from the email, civs has no way to get you another one if yours is lost.

Note: If a ballot gets lost, you can re-enter the email address that is on the original voter's list and the system will recognize the email address and send a new ballot to that email address without risk of that voter being able to vote twice. The email address has to match the email address on the original voter's list.

Breaking ties

Condorcet voting may generate ties. We advise to break them using Governance/TieBreaking.