Welcome Guest | Sign In
LinuxInsider.com

A Vote for Open-Source Voting Machines

A Vote for Open-Source Voting Machines

Open-source programs can be more secure because the code is visible and it speaks for itself in most cases. Thus, we can rely on the code and don't have to rely on its author. Tampering with the code is easy to detect and the nature and biases of the tamperer can be clearly identified.

Richard Stallman, president of the Free Software Foundation, started a revolution over printer drivers. According to the official history, he couldn't get permission or source code to modify a printer driver to suit his needs, so he wrote the General Public License (GPL) and a compiler. Eventually, he and others wrote an operating system, too.

Now a printer driver may be important, but it is not exactly revolutionary. Most people are not programmers and so they might even confuse the term with a Teamster who works for a print shop. But what Stallman was doing -- standing up for his rights -- is the essence of what we do on Election Day.

Get Out and Vote

Democracy is important. Since today is Election Day, if you haven't already done so, I urge you to exercise your rights and get out and vote. Some people in states using electronic voting machines may wonder if their vote will count, or if that will depend on who they vote for. We don't really know, because we have to protect the trade secrets of the companies that make the voting machines.

If this scenario sounds familiar, it may be because it resembles some arguments made in favor of open-source software. I tend not to trust software if I can't see the source code and compile it myself. Perhaps the program reports back to its author with details on how I am using it. I definitely don't trust most Web pages not to track what I am doing or to refrain from leaving something on my computer that is malicious or just plain buggy. However, I do make regular backups and I can always reinstall my machine. I can deal with it.

Voting is different.

Open-Source Voting Machines

We all need to believe that society is fair, otherwise we're in trouble. Fairness is what makes us willing to keep our part of various bargains. In order for us to be assured of fairness in an election, it is not enough to say that biased machines do not change the outcome, or to say that the machines themselves are unbiased. The machines simply have to produce fair results, and they also have to be able to make voters feel confident that they are, indeed, fair.

Basically, today we just have to trust the word of the voting machine manufacturer. Some voting machines have a feature allowing election officials to make sure the machine starts with a zero count. It involves pressing a button on the machine that makes it print a piece of paper with zeroes on it. That's all we have, folks. This does little to inspire confidence. We can do better.

We could demand that the manufacturer disclose its source code and circuitry for examination by experts, but that is not fair to the manufacturer who invested resources assuming that it would be able to retain its trade secrets. This might also run afoul of agreements the manufacturer has with its code suppliers and merely shift suspicions from the manufacturer to the hired experts.

The only way to go is with an open-source voting machine. Here's why:

  • Security. Open-source programs can be more secure because the code is visible and it speaks for itself in most cases. Thus, we can rely on the code and don't have to rely on its author. Tampering with the code is easy to detect and the nature and biases of the tamperer can be clearly identified. In addition to verifiability, if there are reasonable choices a programmer makes that might lead to unintentional biases or logistical problems, they can be readily identified and corrected.
  • Openness. Openness is more important in voting machines than with other software, because most software works fine even if it was written by a biased programmer. Say one programmer prefers linked lists and another prefers stacks for temporary data storage. As long as the program processes its input and provides output, and does so efficiently, who cares? If the output is wrong and doesn't comport with the input, spot checking by the user will uncover such bugs. Not so with voting machines, because outputs (ballots) cannot be traced back to inputs (voter decisions).
  • Ownership. Democracy should be owned by the people. For example, when a federal government employee writes software, that software is "owned" by the people, since the federal government does not have copyrights in government works. Many useful works are created in this manner, so it can be possible with voting machines.
  • Profitability. The issue that always stumps newcomers to open-source software is how someone can make money off of it when it is mostly given away. A number of companies have already solved this problem. Red Hat sells service with each copy of Linux. IBM sells consulting services, proprietary software and hardware with their open- source software.
  • Government Funded Development

    Development requires capital and capital requires profits. The goal of many companies investing in research is understandably to make money from that research. However, when governments fund the development of voting machines, they expect not money in return, but a more confident democracy. The government makes its investment back by giving away its development. For example, if California were to fund the development of open-source voting machines and give it away, counties and local election boards could adopt them, furthering the state's goal of securing democracy.

    Size matters in negotiations. A fruit stand operator with two computers can't dictate his purchase terms for an accounting and inventory program from a large software house. Such negotiations will be limited to whether or not he gets the basic version or the deluxe version that also does taxes. On the other hand, a large multinational corporation can dictate terms to a small custom software house developing tools for corporate use. So why can't a government running the eighth largest economy in the world use its leverage to get a decent deal on software, such as terms that allow the government to check that the code works as intended?

    The argument for governments buying voting machines from vendors that lock down rights of access to the machines and include restrictive licenses is that vendors need to find the business profitable enough to sell the machines and deliver their expertise. The very same argument is made for proprietary software.

    You Decide

    We can surely find experienced software and hardware developers in academia and industry who can provide their expertise in a non-restrictive manner. The vendors may argue that only they can secure the machines against tampering, but we cannot afford as a society to entrust such secrets to entities that exist solely to make a profit. There is nothing wrong with making a profit. However, democracy will be more reliable when the responsibility to secure it is in the right hands.

    Voting is one way we can make our voices heard. We get to exercise our right to decide which large entities and powerful leaders we want to represent us, not the other way around. If applying open-source rules to the voting process can help us be sure that our votes really count, why not?

    Voting is a path to your own personal revolution. So get out there and vote today.


    Phil Albert, a LinuxInsider columnist, is a patent attorney and partner with the San Francisco office of the intellectual property law firm Townsend and Townsend and Crew LLP.


    Facebook Twitter LinkedIn Google+ RSS