Wednesday, October 29, 2014

Voting machines that flip the vote are non-partisan

Truthout has an interesting article on some recent examples of voting machine problems. Both Democrats and Republicans are reporting that their votes are being flipped. They note in their article that voting machines are still counting the votes in secret and that we are well advised to take pictures of our results with our phones if we want to verify our votes. That might be a problem because then people might be tempted to sell their vote by proving who they voted for to someone with money to buy it. I don't know if that will ever catch on, if it's happening now, or if anyone that regulates voting systems has thought about it.

I can remember the days of the punch card. It was simple and effective, but not too great for the environment. At least we could verify where our votes were going. There's nothing proprietary about punch card systems other than the code that they run on.

But as before, one thing remains clear: creating an open voting system based on open standards and open source code will help us to ensure that our voting systems are working as advertised. In order for any democracy to work, we need to know that our votes are going to the people that we think are representing our interests. With what is called, "Black Box Voting", we have no way of knowing for sure if our votes are not flipping after we have verified the vote on the screen. You know, when it's counted on the servers that collect and tabulate the votes.

To put this in perspective, consider the fact that what we think of as computers are really just machines that record 1s and 0s. The computers use protocols and formats that are arbitrary, and the memory system is volatile, such that if you disconnect the power, you lose whatever was in memory. The file systems on the disks are arbitrary, yes they are logical, but humans had to start somewhere, and that is with an educated guess on how to build a file system. Once you find something that works, you stick with it. Computers are fickle. They don't always do what you want them to do when you want them to do it. I know, I've been working with computers for about 30 years.

Voting machines are built out of arbitrary choices and demands. All concerned have some idea of how it should run. But the problem is that not all who are concerned have a voice in how they should run. From what I can gather so far, we are using proprietary systems running some form of Windows. The source code for these systems is proprietary and if there is any oversight at all about the code running on these systems, it is done by a very small and privileged group. The rest of us have no way of knowing for sure if the code will accurately record the vote.

I'm not just talking about the voting machine you see in the booth. I'm also talking about the machines that collect all the data from each voting machine, the servers that do the heavy lifting of counting the numbers and tabulating the results. Yes, those machines. Those machines are hidden from public view and they too, are probably running a proprietary operating system like Windows.

This is why I advocate a completely open system for voting. We have open source hardware systems that can be integrated into a voting machine design. We have open source operating systems that are used by businesses all over the world, one of them is called Linux. We can create boards and committees that have broad oversight over the production and operation of open source hardware and software for voting systems. Those boards and committees can be held accountable for the operation of open source voting systems.

Why do we need open source voting systems? Because we can't completely trust the voting systems we have. If votes are being flipped right before our eyes as some report, that might be intentional, but that we saw it, that's an accident. Yeah, that's probably my paranoia, but I'd rather be using an open system that most programmers can review and check for flaws, submit corrections to fix the flaws, and that has hardware that most electrical engineers would know how to fix.

A completely open source system can be verified up and down to do the job it was intended to do. The system can be protected from tampering through open source design practices and philosophy. Machine images (the operating system and application code) can be checksummed to ensure they have not been tampered with. The hardware can be tested, locked and deployed to ensure it runs properly in the voting booth. With open systems, anyone who wants to know how it runs, can find out, but security is not maintained by obscurity. We've tried that and failed. Security automatically improves in the crucible of transparency.

Why should we be dependent on a few private companies, with interests that may not coincide with our own, for our right to vote? No democracy will survive if a handful of private companies can steer an election their way. Not even ours.

No comments: