Sequoia Voting Systems has become the first electronic voting machine maker to publish the source code used in one of its systems, a move that computer scientists have praised.
On Monday, the Denver, Colorado company released the first batch of code for Frontier, an end-to-end e-voting system that it plans to begin selling in the near future. Sequoia has promised to release the blueprints for 100 per cent of its system software, including firmware, before the system is submitted for federal certification in June.
To be sure, the initial installment is fairly mundane: code written in Microsoft's C# programming language that acts as a desktop publishing program of sorts for controlling the layout of a ballot. But the move represents a seismic shift in strategy for Sequoia, which in the past has gone to great lengths to keep third parties from reviewing the inner workings of its machines.
"They completely reversed their viewpoint from a viewpoint that was very much closed source to a viewpoint that is very much disclosed source," said Jeremy Epstein, a senior computer scientist at SRI International and an e-voting consultant.
Until now, makers of e-voting machines, such as Premier Election Solutions (formerly Diebold), Hart InterCivic, and Election Systems & Software (ES&S), have generally insisted that making their source code public would violate their proprietary rights and could make it easier to tamper with their machines. For the most part, their blueprints have been available only through inadvertent disclosures or to inspectors who sign non-disclosure agreements.
This refusal to open up has prompted criticism that e-voting machines lack the transparency needed to convince the electorate that their ballots are being counted fairly and accurately. Last year's e-voting glitches in at least seven states were only the latest to shake voter confidence.
Based on Epstein's initial review, "the code is better than what we've seen in many cases," he said. The number of comments are adequate, and he's pleased that it's written in a modern language that's widely regarded as secure.
Not that Epstein is fully satisfied with Sequoia's disclosure. Reading the company's license, it remains unclear if reviewers are permitted to compile the source code so they can run the resulting binaries in their own laboratories. Simply reading the source code makes it hard to know how the various pieces work together.
Epstein is still waiting to see the code for more crucial parts of the Frontier system, such as those that tally votes and report them to election officials.
"I don't really expect to get an awful lot out of this part of the source release," he said, "other than to learn how they're doing things and to provide feedback to Sequoia" about how future releases can be more helpful.
The Freedom to Tinker blog provides more info here. ®
As one Reg commentator has already pointed out, there's no way to guarantee that Frontier systems will run unmodified versions of the disclosed source. That means the usual safeguards - manual audits, voter-verified paper trails, and election transparency - will still be necessary.
Said David Dill, a Stanford University computer science professor and a critic of electronic voting machines: "This [source disclosure] is not a substitute for those priorities, but I do think Sequoia's efforts will lead to higher quality software in the long run and a greater level of confidence in their systems."