Open-source voting
You may have been following the "Diebold memo" scandal, but if you haven't, here's a quick recap:
1) In the wake of the "hanging chad" Florida fiasco, the feds decide to start looking at computerized voting machines.
2) One of the main contenders is Diebold Election Systems. The only problem is ...
3) Diebold is run by fiercely partisan Republicans, who donated boatloads of cash to the GOP in the last election; the CEO once said that he was "committed to helping Ohio deliver its electoral votes to the president next year". Nice. But even worse ...
4) Diebold's voting machines are so shoddily designed that, according to one study, a teenage hacker with a $100 card-printer could forge as many votes as he wanted. Diebold engineers know this, and over the last four years, they've written thousands of frantic memos to each other talking about how bug-ridden their software is.
5) Amazingly, the company posts these memos on public portions of their web site (accidentally, I assume).
6) In March, a bunch of college students take 15,000 of these memos and begin circulating them online, to warn about the danger to democracy.
7) Diebold freaks out and fights back -- legally. Using the Digital Millennium Copyright Act, Diebold lawyers force universities to take the documents off servers, claiming they're copyrighted information. Students rebel by posting the docs on peer-to-peer networks, spreading them around the world.
8) This forms an elegant object-lesson in why peer-to-peer networks are so politically powerful. If a document gets passed around enough, it'll be on so many millions of hard drives that no legal order -- or political despot -- can quash the information. It's a technology about which guys like John Milton could only dream.
So now you're caught up. The reason I give this bloated preamble is to point to the real solution: Open-source software.
As the Diebold scandal illustrates, it's incredibly dangerous to let a private company develop proprietary voting software. If they "own" the code, they'll keep it a secret. That means we'll have to trust them that the software is secure. If they're lying to us -- or, more likely, if they're well-intentioned but just unable to realize how buggy their code is -- democracy is screwed.
So why not just develop voting software in open-source mode? If everyone can openly inspect the code, any bugs or hackable insecurities would instantly be noticed and removed. And given that many geeks are pretty psychotic libertarians, you'd best believe they'll triple-check every line of the voting-software code to make sure no-one can mess with US elections. It's perfect!
So perfect, in fact, that Australia has already thought of it. According to a Wired story today, an open-source project in Australia created completely secure and bug-free voting software -- in only six months.
(Cool debate alert: Over at his blog, Barry Brigs wrote a post pointing out the dangers of open-source development, as well as a post in the boards here.)
Posted by Clive Thompson at November 03, 2003 03:55 PM
| TrackBack
I don't think it's perfect at all. Open-source rests on several cornerstones including programmer anonymity and zero accountability. What if we were to find out that a key contributor to our voting machine software was a member of Al-Qaeda?
In fact, the last people I'd trust to verify the correctness and trustworthiness of something as critical as voting machine software would be a loose group of international programmers who could care less about the integrity of our republic.
No: it seems to me that the American people would demand accountability, as they are of these particular vendors. Laudably, the other vendor, Sequoia Voting Systems, is apparently submitting its code to independent security review.
But shouldn't the government certify voting software? What could be more important to the security of the United States than the security of the system by which we the people decide the country's issues? More directly: shouldn't the Department of Homeland Security take this on?
No offense, Barry, but our government is the last group I would trust to verify the security of such a system.
The government has never been lauded for its efficiency, and the partisanship that exists within the government would virtually ensure that the job would be botched.
The Department of Homeland Security is understaffed and underfunded. They can't even keep boxcutters off our airlines, so they have not gone very far to gaining my trust in anything so far.
Accountability? Sure. By the government? Are you kidding?
Kinda sad that I would trust an international group of people I don't even know, and shun the government, but there you go.
This is a really interesting debate. Barry's quite right that, should America try to develop open-source voting software, malicious countries or terrorists would undoubtedly try to subvert the code -- and, say, insert a backdoor that let them manipulate results.
But the whole point behind open-source code is that anyone can look at it -- and anyone does. It's essentially impossible to insert secret code into an open-source project, because there will always be infinite monkeys ready to pounce on it. That's why Linux is so superbly crash-proof; no bugs can exist in it, because of the enormous marketplace-of-ideas geeks out there who want to win points for being the coolest by finding the flaws. Same deal goes for Apache, one of the world's most widely-used web-server software. And come to think of it, both Linux and Apache are widely used by the U.S. government itself. Because government sysadmis can examine the code too, they know that it's stable.
And of course, the same thing would be true with open-source voting software. The U.S. government would only use it, of course, after our own CIA and FBI and NSA geeks had checked it over themselves for security problems. If they did, they could fix it themselves.
Either way, it would give them control over the process -- by giving them control over the code. The problem with Diebold, as with any proprietary-software corporation, is that they have very good reasons to not let anyone see their code; they want to keep a trade secret so they can, quite legitimately, make money off their innovations, which they've spent years sweating over. But the polis has a different set of priorities. Democracy requires transparency, not secrecy -- and open-source development is the only transparent way to go.
For that matter, the U.S. could still employ Diebold to compile and run the open-source software, and pay them handsomely to do so. "Open-source" doesn't mean "non profit". It merely means "no secrets". In this paradigm, you'd pay Diebold to run an open-source project to create the software, accept all input from the world community of smart geeks, integrate the best ones, and -- this is the crucial part -- release the entire final code for public scrutiny. That way, it's impossible for anyone to hide an insecurity.
In fact, that's precisely how Australia did it.