This page decribes how voting is typically done for candidates nominated for membership (at annual or special member's meetings) and the board (annually).

The next member's meeting and board elections will be held at Tuesday July 7, 2009 16:00 UTC on channel #asfmembers on irc.freenode.net. Please use your availid when logging into IRC. Use channel #asf for backchannel chatter, and keep the #asfmembers channel for official meeting business.

How Meetings Are Held

To best suit having online meetings, member meetings are held over IRC during a period of three days. This allows the bulk of the agenda and any basic resolutions to be voted on interactively, on the first half of the meeting on IRC the first day; this typically takes about an hour. The chair then announces the candidates for membership, and board nominees as appropriate.

The interactive meeting on IRC is then recessed for 48 hours, and the actual vote emails are sent out. Votes must be cast during the next approximately 40 hours, so that vote counters have a chance to tally votes before the meeting is re-convened. On the third day, the meeting returns from recess and joins the interactive IRC session again, and the results of member candidate and board elections are announced in the meeting. The second half of the meeting is typically much shorter, and members need not attend the second half if they have already attended the first half.

Reminder: do not publicize the names of newly elected (or not elected) members after the meeting! We need to wait until elected nominees formally accept membership before announcing any names.

How To Vote

Once the initial half of the member meeting is over, Jim will set up the voter tool to mail out the ballots. The ballots contain a description of the issue being voted on, together with a command that needs to be executed on people.apache.org in order to actually cast your vote. You will receive several ballots, one for each potential member being voted on, and one to select a new board. IMPORTANT: email ballots are sent to your email address as noted in members.txt, so ensure you can read this address!

Tip: a quick way to collect all your vote emails: Find your local mail program's pop/imap INBOX, and do this on your local (i.e. secure) machine:

Then Edit allmyvotes to update all instances of "vote" to be one of "yes", "no", or "abstain" for new member elections. For board elections, see BoardVoting for important STV information. If on Windows, swap line feeds to Unix (LF only)

Typically the way many members cast their ballots is to create a text file on their own machine, with each line consisting of the command to be executed on people.apache.org which casts the vote. When the text file has been edited to reflect your intentions, one way votes may be cast is by piping the text file directly to ssh:

If you are using Windows, you can use the Putty "plink" command-line tool instead of ssh:

Note that the votes.txt file must have Unix line endings (i.e. LF only). For those members concerned with privacy, an alternate method of casting votes is below.

Here is a sample file you can use to test if it is working:

date
date

A real vote file will look more like this:

/home/voter/bin/vote voteidentification1 longhexstring1 abcd
/home/voter/bin/vote voteidentification2 longhexstring2 defg
etc.

You will get a stream of results that should be inspected to confirm that your votes have all been properly cast. You will also get an email reply each time your voteidentification1 key is used - this is important if you assigned a proxy.

One of the more recent concerns that some members had regards ensuring anonymity of the vote. The above process is slightly imperfect in that regard, in that your votes are all being passed as arguments to a command instead of being cast interactively. A solution to this issue is change the final step to this:

The args_to_stdin.pl script will simulate an interactive session for each vote by passing what would have been command-line arguments to stdin instead. This process happens independently for each line in votes.txt, and causes a more verbose stream or results on stdout.

There are some caveats to this approach though. One is that if you make a typo in the path /home/voter/bin/vote (which should start each line), the args_to_stdin.pl script will fail, and you'll need to correct the path and start the vote over again (it is ok to vote on the same ballot more than once). The other issue is that the ballot may suggest to you that you should ""-quote your actual vote string, but that won't work with args_to_stdin.pl. Just pass your vote without surrounding quotes and you should be fine.

Vote early and often! Only the last time an individual voter key is used counts; so if you change your mind (or realize that you made a mistake) you can always re-cast your vote.


Proxies

If you cannot attend a meeting interactively, you should assign a proxy. Your proxy can mark you as present during the first interactive portion of the IRC meeting for official records. You may also assign your proxy to cast votes for you as well, if you will be unable to check your email for your voter keys during the meeting. If you assign a proxy, be sure they have a signed proxy form and that you or they update the proxies file in the appropriate Meetings directory. For example: https://svn.apache.org/repos/private/foundation/Meetings/20090707/proxies

The current proxy form is available in the appropriate Meetings directory, for example: https://svn.apache.org/repos/private/foundation/Meetings/20090707/member_proxy.txt


Counting and Tallying

For a new member to be elected, he/she must receive more Yes votes than No votes. To help in the counting for the results, there is a simple script under voter/monitoring called yna-summary.pl which will take in the Final Tally emails, as sent by the voter tool, and determine the YES/NO result for each issue. The script is setup so you can concat all the YNA Final Tally emails into 1 large file and have the script slurp that it, and it will generate the results for all elections/issues.

Note that the anonymous board votes are published privately within the foundation directory, so that any member may validate the results. New member votes are not published. Multiple volunteer vote counters selected from the membership before the meeting each validate and cross-check all results.


Also see BoardVoting for important details about how to cast your STV - Single Transferable Vote - for board candidates.

MemberVoting (last edited 2009-09-20 23:35:12 by localhost)