Keith wrote:
That's the advantage of publishing your code. People who are motivated by more than just a paycheck can check it. Or people who are being paid by your opponents. Voting machines in particular are going to have a lot of very motivated smart people checking them out.
By open source, I didn't mean it should be created by a bunch of volunteers. I meant that the code should be made public and available for scrutiny. Poor choice of words on my part. It's why standard cryptographic algorithms are published before they're adopted.
I understood what you were saying, but I don't think this is like the crypto-algo competitions. Those were legitimate scientific battles, with tenure, grants, PhDs, and more hanging in the balance.
I think the science of voting machines is dead as a door nail. It's been a while since I was in the field, but as I recall, even then there were legit, accepted ways to do it.
Without scientific interest, you've got to rely on hobbyists to vet your code. Sometimes, like OpenBSD, that works great. But it's a massive effort, especially sorting the good analysts from the idiots. And once you do that, it usually boils down to a handful of talented people who take an agonizingly long time to get anything done (with good reason).
And don't forget - in my example above, our source code was 99.9% clean (it may have been cleaner than that... I forget how much code we actually wrote). An entire class, whose grades (and thus future) depended on it, missed the single mistyped character. No one ever saw the evil code, but that was the stuff that got loaded onto the voting machine.
It's not just about source code, it's about the underlying operating systems, the compiler, the hardware, the top-to-bottom system. That's a E36 M3-ton to analyze.
Of course, the old ways of doing this - pen and paper, punch cards, those clunky old booths with the levers - have many of the same flaws and more. You can throw Florida 2000 at me, but it's much, much harder to compromise* a heterogeneous population of physical systems than a single electronic one.
- and by this I mean that while it's easy to steal a ballot box full of votes, it's harder to change all of those votes without anyone noticing (yes, Florida, hanging chads, confusing arrows...I get it).