November 3 is election day in the U.S. Early voting is available in most states. If you haven’t yet, make a plan to vote. If you’re an employer in the U.S., make sure employees have time to vote.
Can developers contribute to better elections through open source? Yes, though it’s a challenging, complex space, with many requirements, including accessibility, affordability, auditability, certification, scale, security, and the secret ballot. There is a robust research debate on the details of the best way to achieve some of these, and real world adoption in public elections is naturally slow.
Still, computer scientists have made substantial contributions making elections better–including driving a consensus that paper ballots are necessary, and developing risk-limiting audits that can increase confidence in election results–and now, open source elections software, such as projects from VotingWorks, is beginning to democratize access to innovation, as open source has done in so many other fields.
VotingWorks’ source code is open source on GitHub, including Arlo, a tool for conducting post-election risk-limiting audits. Like most modern software, VotingWorks projects build on many other open source dependencies. One such component specific to elections, is Microsoft ElectionGuard, which uses “homomorphic encryption to ensure that votes recorded by electronic systems of any type remain encrypted, secure, and secret.”
The OSET Institute has been advocating for and building open source elections technology since 2006. OSET’s TrustTheVote Project’s code is also on GitHub, including Rocky, an online voter registration service.
Last year DARPA announced funding for an open source secure voting system. You can see some of that work in the Free & Fair organization on GitHub. On the theme of dependencies and collaboration, Free & Fair has contributed to ElectionGuard, and lists VotingWorks and OSET as partners.
There are many other elections-related projects to get involved with, including open data projects on U.S. election results and voting locations, the backend for VoteAmerica, and code for the Voting Information Project.
This post has focused on the U.S. due to its upcoming national election. However, there are opportunities for developers to contribute to projects furthering elections or other civic engagement around the world–for example, GitHub has partnered with the Times of India and IBM on the Lost Votes Tech Solutions Challenge.
Want more project ideas and networking with other civic technologists? Get involved in a local civic technology group!