Ballot boxes

Ballot boxes

I’ve been playing a bit with OpenSTV this week.  If you’re a big organisation running lots of elections, you should definitely just cough up for the [paid copy here]1, or almost certainly better yet, the online version ([OpaVote]2) which looks excellent (and runs free small elections)._ _ All of them let you run various different types of election, and have different settings. I’m particularly interested in STV, but was struggling a little to work out how to use the open source version of OpenSTV (v1.7). I couldn’t find any instructions for installation (partly for the good reasons noted above – because better alternatives exist), but if you’re interesting in it, this provides some guide to that: 1. Have python installed (I use [Active Python]3 which has a package manager thing called pypm) 2. Download and unzip [OpenSTV]4 (I put it in the python folder) 3. Open pypm, and type: install wxtools  (or, install wxpython – not probing into this, two laptops two outcomes) 4. Open the command prompt (windows-key+rcmd) 5. Change directory (‘cd’) to within the directory you unzipped (e.g. ‘cd c:Python27openSTV’) 6. At the command prompt type: python setup.py install 7. python openstvOpenSTV.py – opens the GUI 8. You can also create a .bat script so you have a little shortcut/executable program to open it 9. From there: 1. select FileNew Ballot File (or ctrl+n), and enter candidate names 2. Confirming that opens a ballot file editor, click next to the candidate names in order on the right hand side to rank preferences as on each ballot (double click to delete a rank) 3. After you’ve entered each ballot, click “append new ballot” 4. Click FileSave, then ‘Exit’ (if you exit you’ll be prompted to save too) 5. Click FileRun Election, and select the ballot file (ends .blt) 6. Select some options: 1. The correct method (e.g. ERS97) 2. Cleaning method (Cambridge or San Francisco) – this is about removing overvotes (more than one candidate is given the same ranking), either through the Cambridge method (remove overvotes and go on to the next valid ranking), or San Francisco method (ballot is exhausted at an overvote), or none (?) 3. If any candidates withdrew, tick that box (if you do this the next window will let you mark withdrawn candidates) 7. Input election options, the key one here is the number of seats available (“Seats”) 8. Then read the output for the results, which can be saved (txt or html are sensible, the csv output is horrible) I found I had to manually move the icons folder from where I’d unzipped, into the ‘libopenstv’ folder, (although this isn’t a crucial component) otherwise you get an error (although that’s not a big issue).

Footnotes

  1. http://openstv.org/

  2. https://www.opavote.org/

  3. http://www.activestate.com/activepython

  4. https://github.com/OpenTechStrategies/openstv