Another rewrite of the first section of the README,

now including information that I got from Karl Fogel about E-Vote and
OpenSTV's last known GPL release.
This commit is contained in:
Bradley M. Kuhn 2014-02-10 17:30:21 -05:00
parent 96683ddde9
commit 48865240c6

48
README
View file

@ -2,32 +2,38 @@
When I was setting up Conservancy's ability to run elections for its member When I was setting up Conservancy's ability to run elections for its member
projects, I surveyed various different systems. I was mostly looking for projects, I surveyed various different systems. I was mostly looking for
something that implemented STV algorithms. something that implemented STV algorithm and ballot collection for the same.
As it turns out, there are precious few Free Software voting systems. As it turns out, there are precious few Free Software voting systems.
[Selectricity](http://selectricity.org/) is a good option, but upon
discussions with the primary author, Benjamin "Mako" Hill, he confirmed that
it does not currently implement any of the algorithms designed for multiple
winner elections. So, if you want a preferential voting system with just one
winner, Selectricity is probably the best choice.
Now, if you're looking specifically for * [Selectricity](http://selectricity.org/) is a good option, but upon
[range voting](http://en.wikipedia.org/wiki/Range_voting), then discussions with the primary author, Benjamin "Mako" Hill, he confirmed
[Fedora's election system](https://github.com/fedora-infra/elections) that it does not currently implement any of the algorithms designed for
probably what you want. multiple winner elections. So, if you want a preferential voting system
with just one winner, Selectricity is probably the best choice.
Meanwhile, for various STV algorithms, * [Fedora's election system](https://github.com/fedora-infra/elections)'s
[PpenSTV](http://packages.debian.org/unstable/main/openstv) is your best supports only [range voting](http://en.wikipedia.org/wiki/Range_voting).
choice. OpenSTV is a command-line based system that implements all sorts of
voting algorithms, but it has no vote-collection system. (It's also worth
noting that openstv has since been taken proprietary, but older versions that
were released as Free Software are still available.)
GNOME Foundation, noticing this, implemented their own little hacked-together * Meanwhile, for various STV algorithms,
system to collect votes for their annual Directorship elections, and they [OpenSTV](https://github.com/Conservatory/openstv) is the best
have the code available in their choice for counting votes using various STV methods. OpenSTV is a
[GNOME Foundation website repository](https://git.gnome.org/browse/foundation-web/). command-line based system that implements all sorts of voting algorithms,
This project is a fork of that repository, with *just* the voting stuff but it has no vote-collection system. (It's also worth noting that
openstv has since been taken proprietary, but older versions that were
released as Free Software are still available.)
* [E-Vote](https://github.com/mdipierro/evote) is a system focusing on the
collection of ballots, and seems promising in its design, but it is
relatively poorly documented and it was unclear upon initial evaluation
if STV-style ballots were available.
* GNOME Foundation hacked together a system in the
[GNOME Foundation website repository](https://git.gnome.org/browse/foundation-web/)
implemented their own little hacked-together system to collect votes for
their annual Directorship elections.
This project is a fork of GNOME's work, with *just* the voting stuff
included. Most of the GNOME-isms have been removed, although a few remain. included. Most of the GNOME-isms have been removed, although a few remain.
I've also offered patches back to the GNOME Foundation repository by I've also offered patches back to the GNOME Foundation repository by