About OpenSTV

OpenSTV is desktop software for counting ranked-choice ballots for election methods such as the single transferable vote, instant runoff voting, and Condorcet voting. OpenSTV will run on MS Windows, Mac OS X, and Linux. To download OpenSTV to your computer, select the download link at the top of the page. Please send questions to the email list openstv at googlegroups.com.

Before using OpenSTV, you need to have the ballots from your voters. You can collect ballots using OpaVote or collect them on your own (such as paper ballots).

Here is a summary of some of the features of OpenSTV:

Bibliography of STV books/papers

Thomas Hare: "On the Application of a New Statistical Method to the Ascertainment of the Votes of Majorities in a More Exhaustive Manner", Journal of the Statistical Society of London, Vol 23 No 3 (Sep 1860)

John Stuart Mill: "Of True and False Democracy; Representation of All, and Representation of the Majority only", Chapter 7 of Considerations on Representative Democracy (1861)

Henry R Droop: "On Methods of Electing Representatives", Journal of the Statistical Society of London, Vol 4 No 2 (Jun 1881)

Brian L Meek: A New Approach to the Single Transferable Vote: Paper I: Equality of Treatment of voters and a feedback mechanism for vote counting (1969)

Brian L Meek: A New Approach to the Single Transferable Vote: Paper II: The problem of non-transferable votes (1970)

Voting matters: "To advance the understanding of preferential voting systems"

Frequently Asked Questions

Q. Where do I get my questions answered?

A. Send an email to openstv at googlegroups.com.

Q. Which voting method should I use?

A. There is no clear answer to this question and you will get different answers from different people, but we will give our recommendations here.

If you are electing one person and simplicity is important, then we recommend instant runoff voting. Instant runoff voting is easy to explain and gives good results.

If you are electing one person and simplicity is not important, then we recommend Condorcet voting. Most people agree that Condorcet is the best method for electing one person, but it is more difficult to explain.

If you are electing multiple people and simplicity is important, then we recommend Scottish STV, as it is the simplest of all the STV methods.

If you are electing multiple people and simplicity is not important, then we recommend Meek STV. Most people agree that Meek STV is the best variant of STV, but it can only be implemented with a computer program.

Q. Will you implement a feature that I would like to see in OpenSTV?

A. It depends.

The main factors include (1) how worthwhile the desired feature is, (2) how important you or your organization is, and (3) how hard it is to implement the desired feature.

For example, if we have no idea who you are, but your request is a really good one and it is easy to implement, it will probably make the next release. On the other hand, if the United States Senate asks us to implement a really crummy feature, then we probably wouldn't do it.

Q. How can I collect ballots from voters?

A. You can use OpaVote to run an election online. With OpaVote, you can send a private link to the email address of each voter, and each voter clicks on the link to cast a secure vote. When the election is over, you can download the ballots and count the votes with OpenSTV.

History

OpenSTV was started in in the Fall of 2002 by Jeff O'Neill, who needed an excuse to get away from the mountain of reading required by the first year of law school. The code was first released in October 2003 under the name pSTV. The "p" in pSTV stood for Python as the code was and is written entirely in the Python programing language. The name was changed from pSTV to OpenSTV in October 2006 to better reflect the nature of the software. Jeff started OpenSTV partly out of an academic interest and partly out of frustration for the lack of available tools for conducting STV elections.

Acknowledgements

The authors of OpenSTV would like to thank the following people for their much appreciated assistance:

OpenSTV depends on the following open-source and/or free software:

Links

Organizations Advocating for STV

Other Links