CZ:Elections/How to

From Citizendium
< CZ:Elections
Revision as of 17:20, 15 February 2014 by imported>John Stephenson (Protected "CZ:Elections/How to": essential election pages ([edit=sysop] (indefinite) [move=sysop] (indefinite)))
Jump to navigation Jump to search

Running a CZ election is fairly easy. These instructions document the steps necessary to accomplish this.

Some basic information

The Election Committee, appointed by the Citizendium Council, is responsible for running a CZ election. Its work is roughly divided into the following steps:

  1. Create the email account that will be used to receive the election ballots.
  2. Create the election "user" on the wiki.
  3. Create and place the election wiki pages.
  4. Have an administrator change the Sitenotice to indicate nominations and referenda proposals are open.
  5. Once nominations close, place the election information on the election user's wiki page and have a sysop change the Sitenotice to indicate the election is in progress.
  6. Once voting completes, count the ballots and ask an administrator to change the Sitenotice so it no longer indicates an ongoing election.
  7. Provide the election results to the Citizendium Council for audit.
  8. When the audit completes, update the election user's wiki page with the results.

Keeping things organized and secure

Certain lessons have been learned from previous elections. This has led to some conventions that simplify organizing the election information, so it is easily navigated. All election information is held on a single set of pages.

The main page for a particular election is actually a user page for a user account on this wiki, just as all project members have an account and associated user pages. This election-user account is created, administered and shared by the Election Committee rather than a single individual. All information about how to nominate candidates and propose referenda exists on subpages of this election-user account page. For example, for the election of June 2014, this page would be named User:ElectionJune2014.

The reason a user account is used is that votes are cast by using the 'Email this user' feature, to ensure a secret ballot. Any information sent via e-mail is private and sent straight to the e-mail address associated with the election-user account. This e-mail account is created specifically for the election and its address must be kept secret. Instructions for this are given below. Only the members of the Election Committee should know this information, with the exception that after the election completes the auditor (the Managing Editor or other appointee) must be given the email account name and password (or granted access to the account; see below) in order to conduct the audit.

Create the email account

Ballots in the election are emailed by each Citizen to the election-user account. Since the election user is a virtual person, the Election Committee must create an email account somewhere that will receive the emailed ballots. In the past, Election Committees have created this account on Gmail, but any email provider will do (e.g. Yahoo).

One advantage of Gmail is that it permits multiple users of a single mail account. The problem with simply distributing the e-mail account password to all members of the Election Committee is that they will each have to log into it to carry out the election, which will cause Gmail's system to log several very different IP addresses at possibly overlapping times. This can look like an attempt to compromise the account, meaning that Gmail could block it until someone verifies their identity. To avoid this, all members of the Election Committee need their own personal Gmail addresses, and these accounts can be linked to the election account, allowing everyone to freely log in. To do this, whoever originally creates the election account needs to log into it, go to Gmail's settings (the button on the right with the cog), then the 'Accounts' tab, and scroll down to 'Grant access to your account'. Click 'Add another account' and enter the Gmail address of the first Election Committee member. Confirm and repeat for other Committee members. Later, you can do the same for the auditor. At the end of the election, these privileges can be revoked.

Keeping information private

The main issue with this account is its name and password must be known only to the Election Committee (and the Citizendium Council auditor after the election closes). Keeping the email account's name secret is important, since if it is widely known, anyone could email a ballot to it and thereby corrupt the election. (It is trivial for someone to send email so it appears to come from a particular sender. Thus, an intruder could get a list of Citizendium users; filter that list so it comprises inactive members; and send email to the election email account pretending to be those users.)

To ensure the email account name is private, it should be composed in a way that provides little opportunity for someone to guess it. Email addresses like CZ.Election@gmail.com or CZ.Election.June.2012@yahoo.com should never be used. Instead, a simple security technique known as a nonce (which is a fancy name for something used only once) provides the necessary security. A simple nonce that will work is a random number of sufficient length appended to a short prefix. For example, the account name might be CZ.Election.xxxxxxxx@gmail.com, where xxxxxxxx is replaced by a random 8 digit number.

Of course, that raises the question, how does the Election Committee get an 8 digit random number. Fortunately, there are sites that generate random numbers. For example, the site randomizer.org will generate a number between 10,000,000 and 99,999,999 in about a second. To use the form it provides, set the fields as follows:

How many sets of numbers do you want to generate? 1
How many numbers per set? 1
Number range (e.g., 1-50):

From: 10000000 (1 followed by 7 zeros)
To: 99999999 (eight 9s)

Do you wish each number in a set to remain unique? Yes
Do you wish to sort the numbers that are generated? No
How do you wish to view your random numbers? Place Markers Off

This should produce a number of 8 digits. Once the random 8 digit number is available, create the external email account using the name indicated above, e.g., CZ.Election.xxxxxxxx@gmail.com, where xxxxxxxx is the 8 digit random number just constructed. The name of the account and its password should be shared only with the other members of the Election Committee. After the election is over, the MC auditor will also require this information to complete the election audit, but the information should not be shared before the election completes.

Create the election user

Once the election email account exists, it is possible to create the election user.

If you have administrator privileges

If you are an [CZ:Administrators|administrator]] or higher on the main wiki, the easiest way to create the election-user account is to log-in and go to Create account. In the Username box, fill in the election user name, e.g., ElectionJune2014. Enter a strong password (random letters and numbers are best), and enter the secret e-mail address you have already created for use in this election. Then hit 'Create account'. Be sure to confirm the e-mail address by going into the secret election account and clicking the link in the automatically-generated e-mail it should have received.

Finally, copy this template and paste it into the user page of the new account, then hit Save. As an example, the information about the election should be at http://en.citizendium.org/wiki/User:ElectionJune2014.

If you don't have administrator privileges

If you can't create accounts automatically on the main wiki, you will need to secure the services of someone who can. In order to create the election-user account, inform a constable (or anyone with administrator privileges) that you are about to do so. The Constabulary e-mail address is constables@citizendium.org

Next, log out of Citizendium and click on the Register link in the left-hand column (under the heading Dive In!). Fill in an email address to which you have access, e.g. the email address associated with your personal account (not the election email account name - you will change the account's email address later. This will ensure it is not revealed to the administrator who approves the registration). Select one "main area of interest" check box (it doesn't matter which one). In the Full Name box, fill in the election user name, e.g., ElectionJune2014.

The final main step is to copy this template and paste it into the Personal biography section. Leave everything else on the page alone.

Finally, click the Signature check box and then the request account button. Go to the e-mail account you used and confirm the request by clicking on the link in the automatically-generated e-mail you should have received. If it's not there and hasn't been caught by your spam folder, contact the constable or other administrator for assistance.

If all has gone well, the constable or other administrator will see the registration request and the provisional e-mail address, grant it, and then you will get an e-mail in the account you specified asking you to confirm the registration. Do so. This will create the election user on the wiki.

Once the election user is registered, login to the election user wiki account. Select My preferences, which should automatically select the User Profile tab. In the section labeled Email-options, change the email address of the election user to the election email account name. Then click the save button at the bottom of the preferences panel.

You will find that the registration process has placed a category called 'CZ Authors' on the election page. This is because the procedure you have used to create the account was really designed to sign people up to the project. Edit the user page to remove this category. You may also find, if the adminstrator hasn't deleted it already, a welcome message on the election account's Talk page. This should also be deleted or blanked.

The election's nominations page

First, create the nominations page. This is a subpage of the main election page User:Election<date>. Specifically, the nominations page is: User::Election<date>/Nominations (e.g.User:ElectionJune2014/Nominations).

Then copy the nominations template mediawiki markup to a text editor; execute the global replace described in this section; and make the following changes:

  • Delete all unnecessary sections. For example, if the election is only for the Citizendium Council, the Managing Editor and some Referenda, delete the section corresponding to the Ombudsman.
  • Fill in the dates for the Timetable section. These should be available in the Citizendium Council motion that established the election.
  • Change all links as appropriate to point to the correct election pages.

Finally copy all of the text from the text processor and paste it into the nominations page (i.e., edit the nominations page, get rid of all text in the edit box; paste the modified text into the edit box and hit Save).

The election's referenda page

First, create the referenda page. This is a subpage of the main election page User:Election<date>. Specifically, the referenda page is: User:Election<date>/Referenda (e.g.User:ElectionJune2014/Referenda).

Then copy the referenda template mediawiki markup to a text editor; execute the global replace described in the Create and place the election's wiki pages section; and make the following changes:

  • Discover how many valid ballots were cast in the previous election and enter 20% of that figure as the minimum number of supporters required, rounding up. The previous election is the number of voting participants, so even if people chose not to cast ballots in previous referenda, if they voted for even a single candidate, they must be included in the total.
  • Change all links as appropriate to point to the correct election pages.

Finally copy all of the text from the text processor and paste it into the referenda page (i.e., edit the referenda page, get rid of all text in the edit box; paste the modified text into the edit box and hit Save).

Change the wiki Site notice

So that members are aware that they may nominate candidates for the various open seats and work on referenda proposals, have a administrator change the site notice to indicate this. Here is some wiki text that, suitably modified, can be used for this purpose:

<br/ >
{| align=center style="width:70%; border: solid 3px orange; padding: 3px;"   
|-
|style="background:orange;"|<center>'''<big><span></span> <date> Election</big>'''
|-
|align=center|
The Call for Nominations for the <date> election opens on <beginning of nominations period>, and will end on <end of nominations period>.<br />  
To make your nominations and proposed referenda, please visit [[CZ:Election<date>/Nominations]].<br />
|}

To modify this wiki text appropriately, replace <date> where ever it appears by the election date, <beginning of nominations period> with the date/time of the beginning of the nominations period and <end of nominations period> with the date/time of the end of the nominations period.

Periodically update the table of nominees

As nominators add names to the nomination's page, members of the Election Committee first should evaluate whether the nomination is valid (i.e., the person is a member in good standing of Citizendium and the nomination is seconded if it is a self-nomination). If so, an Election Committee member should create an entry in the table for the nominee. How often the Election Committee should process nomination information given by nominators is unspecified, but once a day is preferable.

Modify the election user's wiki page to contain the election information

Go to the election user's main page. Copy the election template mediawiki markup to a text editor; execute the global replace described in the Create and place the election's wiki pages section; and make the following changes:

  • Delete all unnecessary sections. For example, if the election is only for the Citizendium Council, the Managing Editor and some Referenda, delete the sections corresponding to the Ombudsman.
  • Modify the office holder user references. Specifically, the current holder of each council seat is referenced by something like [[User:<first Council member>|<first Council member>]]. Replace <first Council member> with the name of the actual council member whose term is expiring. Make the corresponding change for the Managing Editor or Ombudsman, if their seats are up for election.
  • Fill in the dates for the Timetable section. These should be available in the Citizendium Council motion that established the election.
  • Modify the Candidate tables so that only those who accepted their nomination show. It should be possible to simply copy the tables from the nominations page and delete those nominated who declined.
  • Copy the text of each referenda that qualified for the election to the Referenda section. Segregate Citizen initiated and Council initiated referenda into the two subsections.
  • Modify [[Special:EmailUser/<election user name>|E-mail this user]] so it contains the actual election user name. For example, for the June 2012 election modify it to read: [[Special:EmailUser/Election June 2012|E-mail this user]]

Finally copy all of the text from the text processor and paste it into the election user's main page (i.e., edit the election user's main page, get rid of all text in the edit box; paste the modified text into the edit box and hit Save).

To inform the membership of the election, have an administrator change the Site notice to indicate it is open. Here is some wiki text that, suitably modified, can be used for this purpose:

<br/ >
{| align=center style="width:70%; border: solid 3px orange; padding: 3px;"   
|-
|style="background:orange;"|<center>'''<big><span></span> <date> Election</big>'''
|-
|align=center|
'''Voting in the <date> election is open until <end date of election>.'''<br />  
'''To view a list of nominees and proposed referenda, please [[User:Election<date>|click here]].'''<br />
|}

To modify this wiki text appropriately, replace <date> where ever it appears by the election date, <end date of election> with the date/time of the end of the election and User:Election<date> with the Election user name.

Count the ballots and provide the election results to the Council for audit

Once voting is complete, process the ballots emailed to the election external email account. Use the voting method approved for the election (contact the Citizendium Council if you are unsure which voting method to use).

When the Committee has completely processed the ballots, contact the Citizendium Council auditor (the Citizendium Council chair unless he/she was running for reelection, in which case contact the Citizendium Council member who is designated to perform the audit). Give the auditor the password to the election email account (this should not be shared with the auditor until the Election Committee has processed the ballots on their own) or grant access to a Gmail account (see above) and inform him/her of the election results. The auditor will then independently process the ballots and compare the results he/she obtained with those of the Election Committee. If they agree, the auditor will inform the Citizendium Council of the results. If they do not agree, the Election Committee and the auditor should work together to figure out the discrepancy.

Once the Citizendium Council auditor verifies the vote, the Election Committee should fill in the vote tallies for each candidate and referenda on the election page ([[User:Election<date>]]) and indicate who won seats and which referenda passed.

Finally, ask an administrator to change the Site notice so it no longer indicates an ongoing election.

Retain the election information for 90 days

Per a Council ruling (item 11 of the MC passed motion 2012-002), the ballots (and consequently, the election email account) must be retained for 90 days subsequent to the election. At the end of that time, delete all e-mails and then the account itself.