Open Source Software and the Electoral Assistance Community
Expanding the use of open source software may offer new opportunities for the electoral assistance community to improve coordination and modernize assistance missions.
by Ajay Patel
Software is the hidden building block of election administration. At nearly every stage of the process there is a program in a datacenter taking raw information and turning it into something useful. Be it voter rolls, ballots, or results, man gathers the information while machines do the real work.
The trust we apportion these machines is awesome; we rely on programs to tell us who won an election, who has the right to vote, and who is entitled to right to run as a candidate. They build ballots. They help identify suspicious behaviour. They handle masses of data with ease. Ideally, they help create elections that are fast, flexible and accurate. Because we trust these programs to handle so many fundamental analytic functions, their development and deployment should be as integral a part of mission planning as Logistics or Security.
Election missions build their critical software with little rigour or methodology, surprising given its importance. Open source software development is a proven approach with a focus on sharing, innovation, and strengthening programming community capacity. It is a way to bring better designed, more professional, sustainable products to both the missions and, more significantly, national election institutions.
International assistance missions spend hundreds of thousands of dollars and thousands of man-hours on software development to build and manage these mission-critical systems. Data integrity, critical functions, and significant investment; all are good reasons to expect that there are modern, effective products underpinning this work.
In fact, oftentimes this is not the case. Chances are an assistance missions’ election software was built a long time ago; by a programmer who has reused the same code, mission after mission, stretching it to try and fit new needs. New name, new logo, same old code
It is tempting to think this is a good thing, that a program that has worked election after election has become richer with time, proved its sturdiness. This is not so.
These programs are built with old, rigid technologies that were never designed to be dynamic or reusable. This means that the recycling of old code is neither quick nor easy, and rather than code being strengthened by each iteration, it becomes increasingly fragile. Deeply hidden remnants of elections gone by can create unexpected results, wreaking havoc and taking days to find and purge. Programmers hired on a project-to-project basis have little time and motivation to develop a stronger overall product, only enough to get the job done and go home.
This points to an even greater issue within the electoral assistance IT community. Software and systems development has traditionally been conducted in an ad-hoc and non-collaborative manner, leading to systems with no standards and oversight, a lack of institutional development, and generally unremarkable products.
The election software development process is opaque. Inside missions, programmers do as they please, as few mission staff know enough to challenge or guide the software development process. Observers may try monitoring datacenter processes, but are often limited to lingering in tally centres watching data entry while the real work is done behind the scenes, beyond their reach and technical understanding.
A lack of collaboration has hampered the international election communities’ efforts to build capacity in the national institutions they are assisting. Because international advisors falsely believe their value lies in the code, rather than their specialised knowledge, they resist sharing in a bid to protect future employment. IT advisors will often leave without handing over editable software to their national counterparts, and will rarely share these assets with their organizations or the international community. Although the ACE website offers nearly every other electoral resource you could think of, from budgets to stickers to manuals, election software in noticeably missing.
The isolationist approach to building software does not lend itself to innovation. Collaboration is key to creating better products, and the open source movement has shown us that software lends itself to being build collaboratively.
Open source software is developed using methodologies and standards that put collaboration, flexibility and reuse at the heart of the software. The resulting product is distributed freely, usually under a free software license, so it can be taken by others; used, improved and re-distributed, creating an effective development cycle with a community of programmers invested in the project.
This design approach has had extraordinary success. The Firefox web browser is an open source product that is used on nearly a quarter of computers worldwide. Linux is an open source operating system that powers 13% of the servers in the world, with support from sources as diverse as the Brazilian government and Nokia. Even the CIA uses open source software, to organise and search its data. Election software is simple by comparison.
Notably, many of these projects been developed by world-class programmers working as part-time volunteers. Development can take place remotely, or in concentrated ‘geek meets’ and code sprints. These programmers have various motivations: exercising technical talent, building prestige, or simply having an impact in the world. A number of open source projects are already involved in monitoring and crisis mapping elections. There would be tremendous interest within the open source community if given the opportunity to contribute to actually making elections happen.
If the election assistance community were to migrate to an open-source approach, the resulting software products and community would serve not only international assistance organisations, but also the institutions they strive to build. Open source software could be customised in-house by local developers or tailored by a network of global contributors. Communities have worked on similar projects for decades, they can be trusted to provide the skills for free support and development to national bodies long after international consultants move on and the attention spans of donors expire.
Would this mean the end of international IT election experts in the field? Almost certainly not, but it would encourage a shift in responsibilities towards coordination and oversight of projects, managing installations, testing, training and troubleshooting. Capacity building of national staff might finally get the attention it requires. There would an opportunity to modernise electoral assistance missions operations, using IT to update logistics, field coordination and public outreach; areas of standard practice outside the field of election assistance.
Introducing open source products and philosophies to the electoral assistance community is an opportunity to inject some much needed innovation to its IT solutions. If open source software has provided better products, transparent solutions, and cheap community support to the other industries, perhaps it’s time to see what it can do for international elections.
Ajay Patel is an election technology and observation consultant with the United Nations and the National Democratic Institute. He is currently observing the Afghanistan elections.