Saturday, December 20, 2003

Open source code in voting machines is not a solution

It has been suggested that open source coding would be a solution to the problems we have recently seen in the use of computer voting machines. This is a mistake. From an insightful post by Jeremi on a Slashdot thread:

"Looking at the source code would be interesting, but it shouldn't give you any confidence in the system. Even in the (practically unattainable) ideal case, where the code is thoroughly analyzed by all the experts and they all agree the code is correct... there is still no proof that the code everybody looked at is the code that will actually be running on the voting machines. Even if you stand over the Diebold employees and watch them compile the source code and install the resulting binary on the machine, you still don't know if that code is what will be running on the machine during the election [].

The point is, having access to the (alleged) source code is no guarantee of accuracy. The only reliable guarantee of accuracy is having the system print out a paper receipt that the voter hand-verifies and turns in at the poll. Once you have that, the vote can be recounted by hand, if necessary, and any inaccuracies will be detected. Without that, no electronic system will ever be trustworthy."

The only point I would make is that hand counting will always be necessary, unless all the other candidates consent to waive it (for otherwise, how could we ever know that even a landslide victory wasn't fixed?). In fact, open source coding is largely irrelevant to the issue of voting fairness, and as long as the voter-verified ballots produced by the voting machines are kept and hand counted, the voting machine companies can keep their code proprietary and secret (any cheating in the code will be caught by the hand counting). To put it another way, hand counting of ballots is a completely necessary and largely sufficient condition of a fair voting system, while open source coding is neither a necessary nor a sufficient condition of a fair voting system. This reality still leaves us with the paradox of voting machines: if we have to hand count anyway, why do we need the machines at all?