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.
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.
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.
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?
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.
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.
https://voting.works and code here: 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.
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?
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.
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.xhtm...
I can understand why it's not 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_tra...