This page decribes how voting is typically done for new members and the board.
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 the new board.
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, the votes are cast by piping the text file directly to ssh:
% ssh user@people.apache.org <votes.txt
If you are using Windows, you can use the Putty "plink" command-line tool instead of ssh:
% plink user@people.apache.org <votes.txt
Note that the votes.txt file must have Unix line endings (i.e. LF only).
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.
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:
% ssh user@people.apache.org /usr/local/bin/args_to_stdin.pl <votes.txt
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.
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.
Also see BoardVoting