Voting machines are products produced by private firms. Getting them to publish the source code is about as likely as getting Apple to publish the source for iOS.
I'm not sure if this it's a popular decision, but I don't really think the private sector should be innovating with our electoral system. Integrity is of utmost importance, and voting machines have been proven vulnerable in the past. I don't think the private sector has appropriate motivation to really get voting right.
The difficulty is the purse strings to pay for election infrastructure comes from politicians. Private firms have funds for product advocacy without advance funding from government, unlike open source solutions. So the entire field is distorted from day 0 when it comes to proprietary vs open source.
A smarter thing to do would be to create a selection pool defined as any registered voter over the age of 75; and from that pool they choose their election technology board. And that board procures the election system based on the budget the legislature gives them. That is, the budget is the budget only, it doesn't say anything about what technology or brand is used, the only attachment is that funds are used for the state election system. If someone over 75 can't understand how our election system works, we're screwed, and in fact we've seen how voting systems have failed, have altered the outcome of elections, and because they had no paper trail, and no meaningful way to do recounts or audits there's no recourse.
The question is about who you trust and how you make sure that all the actors are being fair.
Would you feel better if the government designed the machines? A lot of people would probably feel worse.
Right now, you have each state's board of elections making decisions - they get observed by both parties so that they can all sign off on what's happening. Idk. You can never eliminate the possibility of fraud. I just think the likelihood of all of these actors colluding is really low... I mean congress can't even pass a budget.
Integrity being of the utmost importance is probably the #1 reason why the people put in power by elections should not be in charge of running those elections.
I'm not saying I prefer Diebold, but I certainly prefer it if the only other option is the House/Senate $PARTY Caucus.
I, as a taxpayer/legislator, can't contract a private company to (for a token fee) write and support a codebase that they will (as part of the contract) open source? The people win, as we get open source and hopefully transparent code. The company wins, as they're paid for their work (as they should be).
I fully expect that this would be more expensive than closed source.
(I'm not convinced that we should be using electronic voting at all, but that's a different debate.)
Well, ostensibly, given enough time, we'd end up with a single code base, where the modular add-ons are really just about user interface, similar to how every county in the U.S. does their own ballot layout. In the old days, pen and paper could be considered to be a single code base. If you get the basic thing to do right, it's a choice, not a necessity, to have different code bases that do the same damn thing.
So eventually it would be less expensive than closed source, to implement and maintain. Basically wealthier and more ideologically committed states would subsidize that reference implementation, and the rest of the country, should they adopt that open source reference, would get to use the code more cheaply.
From a global perspective, there's a pretty decent chance a huge chunk of the code is already done - i.e. it could use the Linux kernel with a bunch of its more extraneous modules disabled. A handful of math libraries. A handful of UI libraries. And then a code signing mechanism from stem to stern. There's a lot more to it than that, but code wise, a bunch of it might already be written, the work is not innovating ducks but getting them in rows, and documenting it in a way that it's reproducible and ideally only boots up when it's exactly conforming to the spec.
Closed source with multiple competing companies nationally by definition means many different code bases all in different maintenance states. It really is wheel reinvention over and over again.
We should be using electronic voting to tabulate and aggregate the data, but at the most local level personally I think electronic but with two paper receipts (one to the voter with who they voted for, one to the state w/o) is the best option.
Hmm. No effort, ever again, in open source products? I wonder what RMS, Linus Torvalds, and the BSD folks have to say about that?
Seriously, the open source movement has generated some pretty good businesses. Maybe the case can be made that electoral equipment is an exception to that.
>No effort towards innovation would then go into that sector. Ever again.
Good. You're talking about something that needs to handle a small handful of registers perfectly and produce a paper audit trail. Innovation is not only not needed, it should be actively suppressed due to the risk to the security of the electoral process.