Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 153 Stack Exchange communities.

What is meta?
Here's how it works:
  1. Any Stack Exchange user can ask a question
  2. The community provides support, votes on ideas, and reports bugs
  3. Your voice helps shape the way Stack Exchange operates

Here are the facts: Stack Exchange elections results are calculated using OpenSTV. OpenSTV is, as of December 4th 2010, open source, but not free. Stack Exchange sites provide the binaries of OpenSTV for users with reputation above a certain amount (150 according to Geoff). Geoff suggest that because SOIS has donated a significant amount of money to OpenSTV that it is allowed to do this.

And here are my questions:

  • I presume the reputation required to download the binaries is equal to the amount needed to vote in the elections. Am I right? This Rebecca person, (whoever she might be, huh) now tells me that I'm mistaken and that I should check up my eyes again. It's 150 reputation points across all sites. And then Jeff comes around and tells me that it's the same amount that's needed to vote in the elections. Y'all are confusing me, oy!
  • What can we (legally) do with the binaries? I presume redistribution is out of the question, but suppose (highly unlikely) I want to run my own elections, can I do so with the binaries here, or is it only for running simulations of the SE elections?
  • The downloads page for OpenSTV lists a Linux version which is actually the Python source of the application; this is not provided on the elections page. Is this an oversight, or because Linux has small usage rate, or because of licensing restrictions?
  • And finally, can you please fix the casing for 'Windows' and 'Mac'? It's driving me nuts!!!

    Uppercase, dammit!

share|improve this question
I believe that the author is charging for downloads, not for the software itself, although I do note that it is now pretty hard to find the software anywhere else on the web. Given that the software is open source, it would be pretty difficult to control its distribution. – Robert Harvey Feb 6 '11 at 7:08
It was fun times trying to find a decent Linux version to run the SO election results; the version on Sourceforge is...not good – Michael Mrozek Feb 6 '11 at 7:10
I see nothing on the linked page to indicate that any copyright infringement is taking place here. What exactly is causing you concern, Yi Jiang? – Michael Petrotta Feb 6 '11 at 7:11
The fact that they ask people to not redistribute on their download page. – jcolebrand Feb 6 '11 at 7:14
"ask" != "not legal" – Michael Petrotta Feb 6 '11 at 7:17
@RebeccaChernoff So you say. – Yi Jiang Feb 6 '11 at 7:35
@Robert – badp Feb 6 '11 at 8:36
The guys as SE have a... thing... about capitalisation. They seem to be against it (see…) – Mark Henderson Feb 6 '11 at 10:10
up vote 25 down vote accepted

Yes, it is perfectly legal. You can not add restrictions beyond the GPL when using the GPL. That is to say, you can't stop people from exercising the freedoms that the GPL provides to end users.

That being said, the GPL 'kicks in' for anyone who conveys a covered work. Yes, Stack Exchange is required to provide anyone who asks a copy of the source code. There is no ambiguity there. But, it becomes a moot point when dealing with interpreted languages.

OpenSTV can ask that people pay $5 and download the software from OpenSTV, which they're doing. However, that practice does not make the software any less free than it is (referring to liberty, not price), anyone is free to distribute under the terms of the GPL.

Stack Overflow's donation covers every $5 per download, and then some, thus respecting the wishes of the authors. That was the right thing to do (IMHO), but it wasn't a legal requirement.


It looks like OpenSTV changed to a more restrictive license sometime after 1.7 (which is the version we're discussing). This doesn't change the fact that version 1.7 is free software, as defined by version 2 of the GNU General Public License.

share|improve this answer
Just as note if people are interested: I'm only able to pinpoint the source code of 1.6.2(?) at GitHub. The project pages at Sourceforge and Google Code are empty, and it seems like the source code has been purged from those. – Time Traveling Bobby Mar 14 '12 at 9:37
The downloaded binaries (at least the DMG) don't seem to contain the source, only compiled Python bytecode. – Mechanical snail Feb 6 '13 at 9:58

Yes, this is all done with the approval of Jeffrey O'Neill.

You may email him yourself to ask, if you like. Or just visit and look in the right hand sidebar..

openstv website screenshot

(just FYI, the download is only available to users who have the reputation necessary to participate in the election.)

share|improve this answer

The downloads page itself, which you link to, says the downloads are under the GPL. By definition, that means StackExchange and everyone else has the right to redistribute it within the terms of the GPL. What exactly confuses you?

share|improve this answer
The fact that the same page ask you to pay to download the application and ask you not to redistribute it? – Yi Jiang Feb 6 '11 at 7:41
@Yi: A polite request is not a legally binding license. The author is quite clear that it is under the GPL, and does not claim otherwise. He would hardly be the first free software author to ask that people support him even though they are not legally bound to. – Nicholas Knight Feb 6 '11 at 7:44
Again, and not to belabor the point, @Yi Jiang, the text on that page has nothing to say on the subject of "legality" (copyright infringement, in this case). The GPL, on the other hand, has lots to say on that subject. That page is just asking for a few bucks to be thrown their way. – Michael Petrotta Feb 6 '11 at 7:46
@Yi: I'd also note, by the way, that the GPL specifically contemplates this scenario. You should read it thoroughly sometime, it's actually a rather interesting for a legal document. – Nicholas Knight Feb 6 '11 at 7:48

Linux users can get OpenSTV from their distributor. For example, Debian and Ubuntu have an openstv package. That is the usual path to getting binaries.

share|improve this answer
And since OpenSTV was written in Python, there are no binaries, just the source... – badp Feb 6 '11 at 8:37
@badp: Python has compiled bytecode, which is what is being distributed by SE. – Mechanical snail Feb 6 '13 at 10:28

Last open source version of OpenSTV, 1.7, is archived here at least:

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .