Background

 

What is Open Source Software?

 

The term “open source software” generally refers to a computer program for which the source code is available to the public and is created, used, modified, and continually improved through an open and collaborative effort.  However, the degree to which the software is “open” can vary, and there’s an extremely wide spectrum of different strategies used to develop and license open source software.

 

The most well-known open source software is Linux, which is a computer operating system (as is Microsoft Windows).  Linux was created and has been continually improved since the early 1990’s by a worldwide community of volunteer software experts collaborating over the Internet. 

 

While open source advocates concede it’s impossible to create perfect software, they believe open source software is extremely reliable and trustworthy – because unlike its proprietary counterparts, open source software is developed and constantly improved through input from experts in an open, global community.  According to Linus’s Law, which was coined by Eric S. Raymond, a leading figure in the open source field, and named after Linux creator Linus Torvald, “Given enough eyeballs, all bugs are shallow.”  Linus’s Law means if you have a large community of experts reviewing the software, you can quickly identify and fix most computer software bugs and other problems.

In his essay “The Cathedral and the Bazaar,”  Raymond analogizes that “closed source,” or proprietary, software (such as Microsoft products) is like a cathedral, because only one company’s engineers have access to the source code for the software, and only that company can identify and fix bugs, viruses, security holes, and other weaknesses.  Therefore, problems take longer to solve, and the user is likely to end up paying to get the solution.  By contrast, open source software (such as Linux) is, according to Raymond, like a bazaar, because millions of people have access to the source code and can analyze it, identify problems, and propose fixes immediately using the Internet and a meticulous system of vetting ideas.

Bruce Perens, a major figure in the open source movement, has laid out the framework and general principles of the open source model, including free access, distribution, downloading, and modification of the source code that makes up a piece of software.  Different types of open source licenses allow more or less “openness” depending on the particular creators’ goals, providing different levels of flexibility for people to use, add, modify, and redistribute open source software (http://perens.com/Articles/OSD.html).  To clarify a common misconception, “modify” does not mean the original source code is modified by computer users who’ve identified a problem and found a way to fix it.  Rather, it means the code can be downloaded and modified for one’s own use or for others.  Any changes to the original source code are only made by the person, group, or company that licensed the code.

Many corporations now use open source software systems, including Bank of America, Amazon.com, America Online (AOL), DreamWorks, Charles Schwab, IBM, and Merrill Lynch, to name a few.  In recent years, federal and state agencies – including the state of Massachusetts – have begun to migrate some of their computer systems from proprietary to open source software.  Last September, California State Chief Information Officer Clark Kelso established an Open Source Working Group of information technology managers from ten different state departments.  Today’s hearing will include a discussion of the Department of Defense and the California Air Resources Board’s experiences in moving toward open source computer systems.

 

However, even open source advocates agree the open source model is not necessarily the right solution for every technology need.  The purpose of this hearing is to discuss the potential for using open source software in California’s voting systems and whether doing so will create more transparency, security, reliability and confidence in the electoral system.

 

Current Election Law

 

Federal law requires the Election Assistance Commission (EAC) to certify voting systems used in the U.S.  In addition, California law requires the Secretary of State to certify voting systems used in the state and to hold an exact copy of the source code for each certified voting system in escrow.  The Secretary of State has the authority to conduct an independent review of the source code for each voting system used in California.  However, because the voting systems used in California and the 49 other states are proprietary – that is, copyrighted by the companies that developed them – those source codes are held strictly confidential and out of the public’s view. 

While California law only requires voting software to be held in escrow for the Secretary of State’s review, a new North Carolina law requires voting system vendors to allow their source codes to be reviewed not only by the Secretary of State, but also by the state Board of Elections and the chairs of the state’s political parties.  The law is designed to help identify security flaws in voting systems.  Diebold refused to comply with the law on the grounds that its software is closed-source and proprietary. After losing a legal challenge to the North Carolina law, Diebold has chosen not to do business in North Carolina.

Current law does not specify whether voting systems must be proprietary or open source, so there’s nothing to prevent an open source system from being presented to the federal government and the Secretary of State for review and certification.  

Some open source advocates suggest it may be in the public’s best interest to require all voting software to be open source or at least be “disclosed” so the public can examine the code, help identify weaknesses and propose fixes, have visible proof of the software’s integrity, and ultimately have more confidence in the electoral system.  In fact, DeForest Soaries, the chairman of the EAC, has recommended that voting system vendors be required to release their source codes to the states under nondisclosure agreements, and that computer scientists in each state should review the software under the agreements.   

 

ACR 242 (Goldberg), Resolution 171, Statutes of 2004, asked the Secretary of State to investigate the possibility of using open source software in voting system technology.  The Secretary of State released a 16-page report  titled “Open Source Software in Voting Systems” on January 31, 2006, which recommended further research into whether open source software should be used for voting systems.

 

New Research

 

In 2005, the National Science Foundation (NSF) awarded a $7.5 million grant to a team of researchers from six institutions around the U.S. for a five-year study on how to design and build secure and reliable voting systems. The ACCURATE (A Center for Correct, Usable, Reliable, Auditable, and Transparent Elections) team includes Professor Avi Rubin of Johns Hopkins University (Director), Drs. Drew Dean and Peter Neumann of SRI, International, Professor Doug Jones of the University of Iowa, Professors Dan Wallach and Michael Byrne of Rice University, Professors Deirdre Mulligan and David Wagner of the University of California at Berkeley, and Professors Dan Boneh and David Dill at Stanford University. 

 

Part of ACCURATE’s research on voting technology will involve the study of open source voting systems.  According to ACCURATE, “As technology becomes more complex and elections become increasingly reliant upon technology it is necessary to consider what level of access, review, and openness of code is necessary to ensure that the standards, testing, and certification are capable of verifying an election technology’s ability to support election policies.” (emphasis added)  Several of ACCURATE’s team members will be participating in today’s hearing, as well as in this committee’s hearing on February 16, which will examine the federal testing and certification process for voting systems.

 


Purpose of the Hearing

 

The goals of today’s hearing are informational, and some of the questions the committee will look to explore are: