Bringing free software to voting booths
Few acts symbolize freedom more than voting. The image of the popular vote is so strong that even the most despotic of governments feel the need to go through the motions; Kim Jong recently won an election with 100% of the vote. In most of the world, fortunately, elections tend to be just a bit more competitive than that. There is, however, a strong trend toward entrusting elections to black-box, closed-source electronic systems. Many of these systems have no auditing capability, no external record of votes cast, and, often, manufacturers with interests that do not always coincide with fair voting results. These manufacturers have resisted adding important features, such as an independent, voter-verifiable printed paper ballot. With many electronic voting systems, the only record at the end of the day is the data sitting on the system's disk. An unaudited, unbacked-up disk file created by unseen, closed-source software is a frightening way of choosing a leader. History shows that, when an opportunity for mischief presents itself, somebody will eventually take advantage of it.
Perhaps more than any other application, electronic voting cries out for the use of free software. Votes are a public resource which should never be filtered through a black box. As one looks around, however, serious projects aiming to create free election software are rare. Some of them (e.g. GNU.FREE, Voting Systems Toolbox) have gone dormant. Others (GVI) are more interested in exploring alternative voting methods. Then there are some (like the recently announced EVM project) which appear to be headed in the right direction, but which are too young to have released any useful code.
Part of the problem, certainly, is that, unlike many other free software projects, an electronic voting project cannot just put up a tarball on an FTP site and watch its software achieve World Domination. There are certification requirements, which vary across jurisdictions. Proposed standards for voting systems are stringent; see, for example, the IEEE's voting equipment standards draft. Human factors and presentation fairness issues loom big in this area. Then, there is security; activists who are concerned about electronic voting have, generally, recommended that voting systems attain a Common Criteria EAL4 rating, above and beyond the voting-specific requirements. Then there is the little matter of turning free voting software into a real product which can be sold and supported, in large numbers, to agencies in charge of running elections.
In other words, the code is not sufficient. Bringing free software to electronic voting will also require substantial amounts of money. Getting a voting system based on free software to an actual deployment will probably carry a multi-million dollar price tag - for a single jurisdiction. This is an effort which is beyond the capabilities of a group of volunteers with a SourceForge site and a bit of code.
Some free software supporters have called for widespread public funding for free software development. Others are very suspicious of increased public influence in this area. But it would seem that voting would be a natural place for governments to support a project or two. Governments are the only customers, and there is a strong public interest in the creation of voting software which is open, auditable, and worthy of trust. The potential for long-term cost savings should have some appeal as well.
Projects which set out to create a free voting system, but which limit
themselves to cranking out code, are unlikely to achieve their goals. If
such a project wishes to see its code deployed, it almost certainly needs a
sub-group which occupies itself with the writing of funding proposals.
Some success in that area could go a long way toward the preservation of
freedom on a national scale.
