Thursday, March 4, 2010

Open the Code!




Our speaker last week mentioned something interesting about the automated elections on May. He argued that the source code which will be used on the election machines must be open to the public to examine and scrutinize, in order to find out about it flaws and to determine its reliability. He further added that the fact that the code is not being made available means that the government is probably hiding something.

This struck me as I remembered reading about the similar topic from Lawrence Lessig's book. In his book The Code 2.0, he says that "where transparency of government action matters, so too should the kind of code it uses". He specifically cites the source code of vote counting machines as one which clearly requires to be made available to the public. This was evident after the controversy created by the 2000 Florida elections, since it made the Americans question the integrity of the vote-counting machines.

In the Philippines, there is a greater need for transparency, given the history of our polls. Almost all our previous elections have always been marred by fraud, corruption and violence. Our only solution back then was to "watch over" the elections. Thus, we placed poll watchers, made unofficial quick counts, conducted exit polls and extended media coverage throughout the whole vote counting process. It made the elections more transparent in that sense and in some way, created at least a certain amount of trust in the system.

Today, as our elections will become automated, the most of the ways we adopt to ensure transparency in the election process are now unavailable. Most of the vote-counting process now occurs inside the computer system, with the source code performing all the counting and collating of all the votes from different parts of the Philippines. It would then be very hard to monitor all these occurrences that are happening, since everything happens "internally" within the computer system. Because of this automation, we have thus lost the ability to "watch over" the elections like we did before.

But opening the code to the public will help alleviate this problem. Our demand for transparency from our election process basically comes from the need to know the procedure for counting the votes. We want to know if our votes will be counted and how they will be counted. Knowing the procedure (especially the safeguards against fraud) is what creates the public's sense of legitimacy in the election process. In opening the code, we can see how machines count our votes. We can see how they will be transmitted in the network and how they will be collected with the other votes coming from the other poll precincts. Most importantly, we can see and recommend fixes to any loopholes, bugs or flaws within the code which may cause the process to fail or which may be exploited fraudulently.

An often-cited argument against opening the code is that it is sensitive information which should not be divulged since it may be used by hackers to their advantage in exploiting the system. I have 2 simple arguments against it. The first is that, theoretically, all systems may be hacked. People have always joked that the only way that your computer will not be hacked or infected is to disconnect all types of connection from the network or the web, and to lock your computer in a safe. I believe that it still hold true today. Since the possibility of attack always exists, why not make the code available, anyway? Which leads me to my second argument: opening the code will actually make the system less vulnerable to attacks. Making available the source code for vote counting machines will, as we have seen in all open source code software, incite support from the online community. The online community can then help out by recommending fixes to any bugs which may appear in the code. And given that these are the elections we are talking about, there will be an overflow of support. Various groups who have previously volunteered to "watch over" the polls the traditional way will likely also lend their support in "watching over" the polls in this new way. What this essentially does is pit the government and us, the people, against the cheaters and the hackers. Who will win? I don’t know. But I sure like our chances compared to the closed code scenario, wherein the government shoulders the burden all by itself.


Source: Lawrence Lessig, The Code 2.0 p. 141-143


Monch Bacani
02-01003
12th entry

No comments: