10 ms·
Ask HN: Why Isn't Open Source Voting Software Mandated?
Why doesn't the United States (and other democracies) require open source voting software for all elections? Software that can be externally verified and validated and that could reproduce the results of an election (given the voting data set). Why are citizens expected to trust private companies and closed source software to elect officials? All software has bugs. This fact is not disputed. Citizens should have access to inspect the software used during national and state elections. This should be a basic democratic right. Why don't we do this? Why don't people demand it?
- LatteLazy 6y agoThere really isn't a good case to be made for electronic voting at all. Paper is much simpler, more reliable and has none of these issues.
- ssivark 6y agoOne could easily envision an electronic system backed with paper printouts. The electronic system provides immediacy and avoids human counting errors, while any large scale manipulation of the electronic system can be verified by counting the paper ballots.
- ultimoo 6y agoOP seems to be referring to the existing (proprietary) software that is used to count paper ballots -- not software to make the entire election process electronic.
- sebmellen 6y agoI think OP is referring to the voting machines that count the ballots. Such as Dominion software, which Trump is causing a big ruckus about. We're basically doing some degree of electronic voting with the machines that count the paper ballots anyway. And with the introduction of large-scale mail-in ballots, the argument against electronic voting is starting to fall apart.
- koenigdavidmj 6y agoParent could be talking about the scanning and tabulation. In theory, there shouldn’t be anything problematic with “you vote on paper, and then slide it through a scanner, from whence it goes into a sealed bin”. Then you can still hand-recount.
- cavanasm 6y agoMy state uses this method already.
- digitalpacman 6y agoYes there is. A computer counter is worse than a computer ballot printer. You have to have it as distributed as possible to make it as expensive as possible. A single counting or handful of counting machines makes it one machine to take over to do anything you want.
- chrisseaton 6y agoIn my country (UK) the results are known pretty much for certain the second the polls close. The results for certain are known within a few hours. We use paper and hand counting. Why do you want to use scanning? What problems do you think it solves that we haven't solved with paper and hand counting?
- doktorhladnjak 6y agoHave you seen a typical American ballot? There are many races to vote in at the national, state, and local level. Besides President, every ballot would have included house rep and 2/3 of states had a Senate race. Then add state governor, house rep, and senate which often align on the same cycle. Most states also elect attorney general, treasurer, education and several other statewide executive offices. Some states elect state supreme court judges. Then there can be mayor, city council, school board, port commissioner, and other local offices, although many states align these to non presidential election years. Then there are states like California that always have several initiatives. In practice, you are looking at dozens of races on this year's general election ballot in many states. Counting all those on paper would be time consuming and possibly less accurate than using an optical scan counter.
- TameAntelope 6y agoI know this is a naïve viewpoint, but I'm not yet totally convinced there is absolutely no way to securely enable digital elections. Obviously I defer to the experts in the field for what is and isn't possible, but something about it scratches at the back of my mind...
- bmuon 6y agoIt's not just about security. It's also about democracy. Who can verify that a voting system is secure? Only software engineers. And to be honest, only a small subset of them. Your own comment hints at that. Paper ballots allow anyone to verify the results of an election. It's supposed to be a universal process that everyone can be a part of.
- least 6y agoHard disagree. I think there are a lot of reasons why electronic voting is preferable to paper ballots, just that the reasons disqualifying electronic voting are complicated problems to solve. In my county, paper ballots are used (used to use electronic booths) and the form is printed in English, Spanish, Korean, and Vietnamese. Hypothetically an electronic ballot has no issues with localizing to an infinite number of languages without regards to costs of printing out separate ballots. Electronic voting isn't impeded by the restrictions of paper. It could have rich media, sound, videos, etc. Accessibility is another potential advantage. Right now with paper ballots the expected procedure for voting as a person who is unable to use the ballot is to have a family member fill it out for them. Electronic voting means that you can make accommodations for all sorts of disabilities and special needs while still allowing the person to vote without the need for a proxy. Electronic voting could be more convenient than in person paper ballots. Hypothetically if a person could vote online on their phone, the process would be more convenient and more people may vote. It also makes it easier to vote for people that are traditionally disenfranchised due to time constraints of voting in person (they can't afford to go to the polls, even if there exists laws that require employers to allow for time to go vote on election day). It also limits avenues for voter intimidation. Finally, electronic voting would (hypothetically) be instantaneous and accurate. It isn't dependent on humans for counting. There isn't really a potential for 'hanging chad' incidents. We'd know the victors of an election as soon as polls close. The issue is unfortunately all of these advantages don't really outweigh the issues that we don't have good solutions for (yet, or maybe ever). Electronic voting isn't tamper proof. Having open source voting software doesn't really help verify that the software that you say is running is what actually is running. If it is exploited, it is much easier to tamper with electronic votes than it is paper ones. If it is online, that opens it up to even larger issues of exploitation. There's no way to verify that what you intend to vote for is how you actually voted according to the machine. With a paper ballot there is tangible proof of how you voted, while that doesn't exist on a purely electronic vote. Paper ballots have their own set of issues, but they are manageable compared to the current limitations we have for dealing with electronic voting.
- hedora 6y agoExperts in this space demand paper ballots.
- Natsu 6y agoI think they're talking about vote tabulation, not ballot generation.
- ssivark 6y agoI think a practical means to achieving this would be to self-organize and create the hardware+software design and a proof concept for this. That makes it much easier for those concerned to stress-test it, and then point to benefits, since there is now a tangible realization of the idea. That should completely change the dynamics of the political process needed to get adoption. An easy path would be to get it approved for trials in smaller-scale local elections, and then slowly scale its usage over a decade or so. PS: One could easily envision an electronic system backed with paper printouts. The electronic system provides immediacy and avoids human counting errors, while any large scale manipulation of the electronic system can be verified by counting the paper ballots.
- digitalpacman 6y agoAll software for voting is terrible
- chrisseaton 6y ago> Why Isn't Open Source Voting Software Mandated? ... Why don't people demand it? Because paper is simpler and better. It works just fine in other countries. > All software has bugs. So why do you want software? What do you think the advantages are?
- dudus 6y agoAre you kidding? We just had an election amid a pandemic where electronic voting could have literally saved lives. Then we have a president who refuses to concede and states that are still counting and recounting votes in a tight election weeks after it took place, people don't expect a final tally until December.
- chrisseaton 6y ago> Are you kidding? No? > We just had an election amid a pandemic where electronic voting could have literally saved lives. The electronic voting machines the OP is talking about are still in-person. It doesn't make any difference to the risk in the pandemic. > Then we have a president who refuses to concede That's nothing to do with paper/electronic voting, is it? > states that are still counting and recounting votes Well why do they take so long? Why can it be done in hours in other countries but not in the US? > people don't expect a final tally until December I think a single person could count all the ballots in that time. What are they possibly doing?
- takeda 6y ago> people don't expect a final tally until December. It's always been this way, even before the pandemic. States have 30 days to certify their results. It always been this way. Many trump supporters believe that results will magically change in December. The reason it took longer this time is because: 1. Majority of people voted by mail 2. Many states were not allowed to count as the votes were arriving 3. Many states weren't even allowed to check signature and remove voted from envelopes in advance 4. Dismantling sorting machines in USPS before election causing delays (it took 10 days for my friend's ballot to be delivered within the same county) because of that many states extended wait time for incoming ballots.
- bsenftner 6y agoThe reason is simple: there is no open source voting software lobbyist in Washington DC with financing for congress people's elections. Anytime a Lobbyist is partially financing a congress person's election, they get to "participate" in that congress person's legislation within the Lobbyist's area of specialization. I wager there are Lobbyists for the commercial voting systems, and that is what prevents an open source alternative from even being considered.
- convolvatron 6y agoi think its stronger than this. as evidenced by the Bayh-Doyle act...culturally the US government is so heavily biased towards the profit motive that they see 'enabling business' to be much more of a goal than 'building an effective society at a tolerable cost'. look at tax software for another perfect example. US is pretty busted (edit: legal publishing, maps, insurance....)
- godelski 6y agoEveryone here is talking about paper ballots. Good, but this ignores OP's question. Most voting machines, even if they have paper trails, have some software in them. Just saying "paper ballots" doesn't address the issue. To answer OP's question, I personally have no idea but think it should be. Much of our scientific work is open sourced (e.g. codes from national labs, NASA, etc). But I think a lot of people don't understand what open source is or means. They think you can't have open sourced software and still privately own it. We still honestly haven't figured out how to deal with this adequately in the law (there's a post on the front page about FB taking their OS project, and these posts happen at least once a month). People don't demand it because frankly people aren't very tech literate.
- chrisseaton 6y agoThe answer to OP's question is... why have software at all? Why not just paper? Why do you want a 'voting machine' at all? What's wrong with paper? The solution to a problem that should not be solved with software is not to have different software.
- sebmellen 6y agoWe already have voting machines in use! That's the software that needs to be open-sourced.
- chrisseaton 6y agoBut why? What problem do they solve? Get rid of them. Don't convert them to open-source. This is the wrong argument to be making.
- sebmellen 6y agoWell, optimally, yes. But I don't see this happening. Ballot counting machines and software are really the only way elections can happen in a reasonable timeframe in the US, and even then with considerable delays, as evidenced by this year's election.
- heavyset_go 6y agoTrade secrets, patents & IP, and national security are usually the reasons cited by politicians and manufacturers of voting machines.
- remirk 6y agoBecause open source software doesn't make electronic voting 100% foolproof either. It's hard to prove the software running on the systems is the same as the source code you've read. And you still have other issues like radio waves being emitted based on the computers' calculations, which (in theory) makes it possible to determine what you've voted. Researchers in The Netherlands proved that it was possible with the machines there, which is why we went back to pencil and paper.
- sova 6y agoI want to be able to make sure my ballot was counted. Give me a public/private key pair when you mail me my ballot or when I leave the polls, and encrypt it in such a way that I can confirm the authenticity myself. As a software developer, I will not be convinced that this is not possible.
- whimsicalism 6y agoDo you want to verify that your ballot was counted or that it was counted for a specific candidate? If the former, we already have that. If the latter, that will enable vote buying and is specifically avoided.
- nokcha 6y agoAn important property of our voting system is that it is impossible for a voter to prove (to a third party) how he/she voted. This property is important because it guards against bribing/coercing/pressuring voters to vote for particular candidates. I don't know of any practical way of enabling a voter to check that his/her vote was correctly counted without also compromising the anti-bribery property, especially with a realistic model of the abilities and limitations of most voters.
- whimsicalism 6y agoOnly mildly related, but an interesting suggestion I've seen involved the use of intentionally "poisoned" ballots that people could request/would be sent along with your mail in ballot. These ballots would be verified in the same way as normal ballots, but wouldn't count. Then, you could show a prospective vote buyer a poisoned ballot verified vote which they wouldn't be able to distinguish from a counted vote, rendering vote buying unprofitable.
- rootusrootus 6y agoIIRC this is what Microsoft ElectionGuard aims to do. That was the software that was tried in Texas, failed to gain traction, and now Microsoft has taken it up as a project.
- aazaa 6y ago> Why doesn't the United States (and other democracies) require open source voting software for all elections? One thing that's different about the US is that each state is responsible for carrying out its own elections. There is some federal involvement, but it's mostly up to the states to implement. One often-cited advantage of this approach is that it makes it difficult to attack a presidential election because you'd have to work across different state voting systems. So a national mandate would face opposition on the federalism issue.
- dariusj18 6y agoIt doesn't necessarily need to be a Federal government program,. It could be an initiative that all states take up on their own, or even a Federal mandate that voting software be open source.
- cle 6y agoTo expand on this, I’d totally support regulations requiring states to maintain some level of supply chain independence and diversity of software and hardware between them, to improve resilience against attacks.
- corytheboyd 6y agoI think a lot of people gloss over this because they don’t want it to be true, but it think it is. The red tape of it all actually makes it pretty damn secure, regardless of how “good” it is from the perspective of a software engineer. Imagine if every state used the same self hosted voting software, any weakness that can be attacked will be, and I’m sure it wouldn’t be that hard to social engineer your way into local governments to exploit.
- veddox 6y agoThat is a point. On the other hand, with the electoral college system, you don‘t need to hack the entire US. A single swing-state might be enough.
- yongjik 6y agoI've said it before, but that's like arguing against company-wide approved security policy, because if every department implements security in their own way it would be harder for an outside attacker to hack them at the same time.
- 0x262d 6y agoThe US especially is an oligarchy and for-profit US tech companies dominate the tech industry. Those same companies are atrociously anti-user and notorious for selling data etc, so people don't trust them and I don't think there is broad awareness that there could be a decent software solution. And also we could just use paper.
- sam_lowry_ 6y agoSoftware or not, is not the point. Members of the local polling station should be able to verify votes, and the easiest process is hand-counting, then publishing the sums per candiate.
- eli 6y agoWhat problem are you trying to solve? “Reproduce the results”? You mean counting?
- dilippkumar 6y agoSlightly related question: Why are voting machines soo complicated that there’s scope for any bugs in the first place? A vote counting software based on dedicated buttons- one for each option to vote on - should be something that is simple enough to be assigned as an CS undergraduate course project. We have built very sophisticated banking software that handles several orders of magnitude more computations and has been ticking away bug-free for decades now. What am I missing?
- endgame 6y ago1. The banking sector hasn't been ticking away bug-free. 2. Electronic elections are a thorny mix of privacy and transparency requirements. Example: Electors need to be able to confirm their own vote was counted but not be able to prove who they voted for (this is to prevent vote-selling and voter intimidation). 3. Even if you get everything right in #2, you need to prove that the software running on the machines is in fact the software with the correct properties, and doesn't break privacy through a side-channel. 4. There are UI concerns that aren't immediately obvious. Example: the list of candidates should be randomised so that donkey votes don't skew the result to one candidate. 5. This is software that potentially every citizen needs to interact with, which means accessibility is important. You need to cater for blindness, people with limited motor control, i18n and l10n for all the languages in the voting cohort, etc. 6. Related to #3, you need to secure your voting machines and both the hardware and software supply chains between elections.
- boulos 6y ago(I'm going to assume you mean the vote counting machines / software) tl;dr: In the US that decision would be up to each state. In the US at least, the management of elections is left to the individual states. Assuming you're most interested in the US Presidential election, it's also specifically delegated to the states to choose how they wish to select their electors (it just happens that most use a popular vote of their citizens in a winner-take-all setup per state). There are a number of groups trying to push for more transparency, but it's fundamentally a per-state issue in the US. California has a bill [1] that seems like it "passed" but is referred to committee (stuck). It would establish $16M in funding, at least half of which goes to development, which must be AGPL 3: > (1) All of the system’s software developed at least in part using state or county funds pursuant to this section must be licensed exclusively under the GNU Affero General Public License 3.0 or a later version. and > (2) All of the system’s software components must be open source during development, using a process that is open to public feedback. Development must be carried out in public repositories by January 1, 2021. So some folks definitely agree we should have open-source election software. Most likely, if a system becomes successful in California (the largest market) it could spread to other states. As frustrating and repetitive as it sounds: you need people to vote in local elections, and contact their local representatives. [1] https://leginfo.legislature.ca.gov/faces/billTextClient.xhtml?bill_id=201920200AB1784 https://leginfo.legislature.ca.gov/faces/billTextClient.xhtm...
- dmalvarado 6y agoDevelopers casually looking at source code vs nation states paying teams of hackers to find exploits. With the goal not being to steal money, but to steal a government. I can understand why it's not open source.
- mcknz 6y agoElection officials, politicians, and state & local governments do not equate open source with security. It's counterintuitive.
- dogmatism 6y agoITT, people talking about the merits of paper vs electronic. But the answer to the question is simple: same reason most government software isn't open source, namely, lobbying
- rdsubhas 6y agoVoting machines (atleast in India) do not have a turing complete runtime. So there is nothing to open source. A good way to describe it is a dumb printer. It exists to print a proper ballot for the elector who then drops it off. The machine _just so happens_ to also have a secondary counter while it prints, so it can be secondary verified for extra safety. The paper is what matters and it's still there. This is called VVPAT, Voter Verified Paper Audit Trail [1]. It has been proven over and over to give consistent recounts and restore trust in elections. Over the course of time, after many many recounts, it becomes obvious that the machine-printed ballot and machine do not ever diverge. So it _just so happens_ that for convenience, the machine has grown to get counted first. If anyone has a doubt, they can easily go back and count the ballots which are stored forever. Trivia: First time a Cabinet-rank senator in India lost election by 1 vote [2]. Recounts tallied down to the dot. It since happened again. Chaos still did not break out. Candidates were not fighting over who was the winner. Reason? Voting machines and verified ballots. Recounts won't change reality. Answer to the primary OP's question: "Why not open source the software" – is the crux of the Voting machine is mainly 1950s pseudo-mechanical hardware. They are not networked. This is technology older than floppy disks. A lot of in this forum imagining "software" think in terms of C or Python, because that's the target audience here. Yo, it's not. It's not running an x86 processor. It does not have a turing complete language to open source. If you want it, get a thrown away one. But open sourcing the "software" (if you call a few registers and a counter that) – doesn't make any sense as it doesn't give any picture. Second – to a lot of commenters, why these machines? Single answer: Consistent recounts. With paper, it's 100% guaranteed that "No two recounts will ever be the same". It's a human process. Two humans verifying it will never come to the same conclusion. One will say the "ballot stamp was not in the right place", another will say "chad did not fall off the paper", someone else might just be tired in the night, so on and on. As a democratic society, we have had large cases of recounts that it's not even a surprise anymore. It has become the go to whining and agitation tool for every single loser of every close election. For the continued functioning of democracy, we have to put an end to this recount problem. It's a pity that in the US where you had two really high profile elections (2000 and 2020), and you still cannot figure out how many times to recount to believe the result. Best of 3 recounts? Best of 5? Does that even improve trust? I'll finally leave you with the summary of an excellent video on elections in India before/after voting machines. "Don't shoot the messenger" [3]. Every loser will complain and blame something. Hacking the voting process, obstructionism, who's issued voter IDs, where and how many voting centers are placed, gerrymeandering, media, pre-mature leading polls, on and on and on. All this thing about Voting machines is a classic case of shooting the messenger. The voting machine only exists to give one less reason to blame on. Don't shoot the messenger. 1: https://en.wikipedia.org/wiki/Voter-verified_paper_audit_trail https://en.wikipedia.org/wiki/Voter-verified_paper_audit_tra... 2: https://en.wikipedia.org/wiki/C._P._Joshi https://en.wikipedia.org/wiki/C._P._Joshi 3: https://www.youtube.com/watch?v=zdo43a4JfYQ https://www.youtube.com/watch?v=zdo43a4JfYQ
- Findeton 6y agoI don't know but my brother has a secure electronic voting company with open source software https//nvotes.com
- drivingmenuts 6y agoThere’s too much money behind commercial voting software. At the end of the day, it’s politicians who make the decision on what to support based on contributions and influence from companies with deep pockets and wealthy backers. Additionally, voting doesn’t happen often enough for that to be at the top of our minds among all the other things we have to deal with that have more immediate and visceral impact. Only a small portion of the American population lives well enough to be able to look beyond next month or even next week. Unlike the EU, we are largely reliant on our own resources for major life emergencies, and we’re gathering (or failing to gather) resources to mitigate them. It will take many generations of work to fix that situation so that people can worry more about long term needs rather than staying focused on the short term. It will also take a lot of money that the middle class can’t afford and the wealthy won’t spend. I don’t expect it to happen in my lifetime.
- smitty1e 6y agoThat, and make forensic audits a matter of course.
- 2Gkashmiri 6y agoi am dumb but can anyone explain to me why is it difficult to set up a website, give each voter a login where they tick a poll. one time login, mfa and other stuff. hasnt internet solved "polls" already?
- foosamu 6y agoIt feels like voting and human rights is always delayed in our history. Creating something that would gurantee free elections could revolutionise the world. But that does not mean it's in everyone's short-term interest. Why would any corrupt politicians encourage something that would put them in prison?
- veddox 6y agoNothing is going to guarantee free elections, certainly not any technology. Democracy is a human, social phenomenon. While it does pose technical challenges, it stands or falls with how humans behave, not how well the technology performs.
- matt_s 6y agoThere is Open Source voting software and it is in use in about a dozen states. I'm not sure to what extent - couple counties or statewide. It involves paper, voting machines and most importantly audit software. https://voting.works https://voting.works and code here: https://github.com/votingworks https://github.com/votingworks The general population outside of Hacker News wouldn't understand the concept of Open Source software. Maybe try to get the above in use in your local county or state. Movements start locally, if enough people suggest this people in office will listen.
- Spooky23 6y agoBecause open source doesn’t really solve any problems, and probably creates a few. Tabulating ballots is all about process. You can have the most reliable software on earth, but if you operate it wrong, you won’t get the desired result.