Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
Government Programming IT News Technology

Early Voting Problems, Open Source Alternative 164

Techdirt makes note of some problems cropping up already for early voters in the presidential election. CNN covers some of the issues, including machines in a West Virginia county which recorded some votes incorrectly because of an alignment error. A lengthy discussion of the problems was also featured on NPR. Reader Rooked_One points out a related story at NPR about a voting program called PVOTE, written in Python and only 500 lines long. "Pvote is not a complete voting system. It is just the software program that interacts with the voter. Other necessary functions, such as voter registration, ballot preparation, and canvassing, are not part of Pvote. It is especially important that the voter interaction be correct because it is the only part of an election that must take place in private, whereas all other parts of an election can and should be subjected to public oversight and verification."
This discussion has been archived. No new comments can be posted.

Early Voting Problems, Open Source Alternative

Comments Filter:
  • Everything in Oregon is weird. We can't pump our own gas, we don't pay sales tax, and we do all of our voting by mail. It makes no sense, and it's ripe for corruption (though nobody has called the "C" word so far. At least not lately)

    But it's kind of nice. No computers, no machines, just fill out your ballot and mail it in. I got my ballot in the mail yesterday. I've plenty of time to research the state and local ballot, so I can make an informed decision.

  • by worthawholebean ( 1204708 ) on Saturday October 25, 2008 @08:46AM (#25508903)

    My optimal system for the US race:

    Optical scan machines or touch screen with voter-verified paper trail (i.e. receipt that you drop into a bucket). Choose a random sample of let's say 200 ballots from each polling place; if they don't match the official totals by say five percent, recount the entire polling place by hand. This will happen occasionally by chance, but it won't be that often. Combine the results of this sampling for each congressional district and perform the same check (with a lower margin of error). Again, if it doesn't match, do a hand-recount.

  • by Casandro ( 751346 ) on Saturday October 25, 2008 @08:53AM (#25508917)

    Still with close elections beeing extremely likely that's no solution. It might only find completely defunkt machines, but none that just change the results slightly. In your system, elections get decided by very few votes.

    Besides with a bit of organisation, counting votes it extremely quick and simple.

    Just do it in 2 steps:
    First sort your ballots according to some system. If you have simple "choose one of the following 5" this is trivial.
    Then count those sorted ballots.

    Believe me, Germany has one of the most complicated voting systems in the world, still we have official results in the papers, the next day.

  • Python, eh? (Score:5, Interesting)

    by TheRaven64 ( 641858 ) on Saturday October 25, 2008 @09:02AM (#25508959) Journal
    That's good. It means that the trusted computing base is only a POSIX kernel, a C standard library and a Python runtime. Only about 100MB of source code to audit to ensure that this 500-line program runs correctly.
  • by molarmass192 ( 608071 ) on Saturday October 25, 2008 @09:04AM (#25508971) Homepage Journal
    I'd say a hybrid might offer more redundancy. Machine A is a touch screen which prints a completed ballot. Voter visually confirms the completed ballot. Completed ballot is taken to machine B to be optically scanned. Paper ballot is saved to a vault and the voter gets a printed receipt with choices printed on it. Ideally, the receipt provided to the voter would be imprinted with an anonymous unique number to verify their vote online, a bit like lottery tickets are verified. The unique ID might even be a checksum of the voter's choices and their SSN, which should, in theory at least, be unique and non-reversible.
  • by yttrstein ( 891553 ) on Saturday October 25, 2008 @09:31AM (#25509087) Homepage
    Security-ly speaking, when it comes to voting machines, the software itself is a "hard point", meaning that it is actually quite difficult to leverage in such a way as to alter voting results *without suspicion of foul play*--even if it isn't open source.

    Strangely in this case, the hardware itself is a soft point. (meaning everything from NVRAM to the touch display) It's trivial to misalign a touch screen on purpose, for example, and it can always be passed off as an error without drawing any meaningful suspicion.

    So, while this python idea is of course a good one, it is a mistake to believe that it would actually fix anything on its own.
  • Amazing (Score:2, Interesting)

    by nauseum_dot ( 1291664 ) on Saturday October 25, 2008 @09:45AM (#25509145)

    I hope that I am not the only one who is amazed that 500 lines of Python code and a 200 page thesis paper that explains my methodology gets me a PhD at Berkley.

    I hope he did something else, that I don't know about, like recompile and harden a Unix kernel/ develop his own minimum OS for it to run on and dig through the bugs to determine the security flaws that would exist if he was to use Python.

    For the first time in my life, I am glad that I am not pursuing a graduate degree in computer science. If that is what it takes, I think Cmdr Taco should get a PhD for for giving us Slashdot. It is 10x more practical than "pvote" and is soundly implemented. When I think about it, Slashdot was near the front of web 2.0 because he provided a geek means of social interaction, maintains relevance to those in the computer industry, and wastes my time when I am bored.

  • by slash.duncan ( 1103465 ) on Saturday October 25, 2008 @09:52AM (#25509183) Homepage

    Almost every place I've ever voted has had optical scans, generally of the connect the arrow type. They mail out sample ballots (marked sample and on different paper, no funny business there) several weeks ahead of time. You walk in with your voting card and/or proof of ID (the laws are getting stricter and require both in many places, now), the volunteers (almost always old people, setup so representatives of both major parties are present) mark your name off as voting and hand you an official ballot. This ballot should match the sample you got in the mail, or there'd be PR hell to pay.

    You walk over to the booth, generally a portable table with a cardboard privacy screen fitted around the top. There's a pen of the proper type in the booth -- you can ask to have it replaced if necessary. For each race or proposition, it tells you how many you can mark -- for some state races you can select multiple candidates and the top X number are picked -- and you mark what you wish. For most candidate races (in most states) there's also a blank entry you can mark, and write-in your choice.

    You don't have to vote for all races or propositions. If you screw up, you take the screwed up ballot back (using the privacy procedures below) and they give you another. (I've never actually screwed up, but this is what the prominently posted instructions say to do.)

    When you are done, there's either a privacy cover (if the cards are printed on both sides) or instructions tell you to turn the marked sides in. You leave the booth and return to the sign-in area, where another volunteer takes the ballot and feeds it into an optical-scan machine right there -- you watch them do it and hear it beep and increment the ballot count. Again at this point, if it fails to read (tho I've never had that happen), you can get a new ballot and try again. The ballot itself is deposited in a lock-box for recounts, if necessary.

    Many states have a no-reason-necessary early voting allowed policy. You can either request an absentee ballot and either mail it in or take it to an authorized polling place up to poll closing time on the date of the main vote, or go in and early-vote at the county recorder's office. A few elections ago I did just that, requesting and getting an absentee ballot in the mail, which I filled out, sealed in the provided envelope, and dropped by my normal polling place on the day of the vote. They had a lock-box for them. It was much more convenient than voting as normal, but I missed the voting ritual and it felt kind of weird watching the results come in that nite having not actually voted that day.

    States differ in how they check the ballots, but Arizona (where I am now) at least, requires an audit of several (IIRC two) percent of the precincts, randomly chosen (the "random" process of choosing them is encoded in the law, with at minimum witnesses from both parties, both to the choice and to the verifications, the audited precincts are not known previous to the vote so can't be avoided that way). These audits hand verify the count of the optical scan machines.

    This system seems pretty reliable to me. I still can't understand why the entire nation doesn't just go opti-scan, as the machines can be used to count and get quick results as necessary, while the paper trail is there for anyone wishing to verify things.

    The biggest problem I've heard about, doing it this way, is the lock-boxes disappearing a couple of times. Each one holds a few hundred votes. Of course, there's an accountability trail, but as they say, **** happens. Unfortunately, that's a problem for pretty much any after-the-fact verifiable system. But those cases are few and far between, it seems, and I've not heard of any of them actually affecting an outcome. There have been a few cases of other oddities as well, but nothing even close to the unverified touch-screen issues that seem to come up every year.

    BTW, I've worked with touch screens, and whoever came up with the idea of having the untrained public v

  • by Anonymous Coward on Saturday October 25, 2008 @10:57AM (#25509491)

    I would love to see a "none of the above" choice on the ballot, that's binding. If "none of the above" gets more votes than any other candidate then we get to start the process over, and spend the next 2 years without a leader.

    That would be cool, remember in the 90s when the Federal Government shut down twice? Neither does anyone else. I think we'd do all right for a bit without a leader.

  • by goombah99 ( 560566 ) on Saturday October 25, 2008 @11:16AM (#25509593)

    First off Germany has a relatively simple ballot, its only complex because it's evaluated in a complicated way. The US to begin with is large with diverse kinds of governing bodies, and has far far far far more elected offices. So comparing it to German elections is silly.

    Second Pvote is not 500 lines. it's 500 lines sitting on top of hundreds of thousands of lines of interpreter code, device drivers, and the tens of millions of lines of Linux.

    Third writing a voting system, while non trivial, is not the hard part.

    The hard part is twofold
    1) creating a viable bussiness model for it's distribution, component agregation, certification, and service it.

    2) designing a voting PROCESS so that you don't have to trust the third parties that build or maintain these or the people that operate them. Things have to be transparently secure.

    Now the OVC system OPen voting Consortium has had a python based system for years. it's open source too. But more importantly it is designed so we dont' have to trust the programmers (it produces an intermediate paper ballot and physically separates the vote selection hardware from the vote counting hardware ---just as optical scan does.) And it has a well thought out and viable bussiness model that will allow for it's practical distribution and maintainence.

    That is what the world needs. so if you want to help. Donate to OVC. They are struggling right now not because they can't write code, but because they have to win acceptance at the state level before any company is going to start marketing the system.

    OVC has a very clever bussiness model in which the software is free and open, but companies support it's development through fees paid to certify their OEM component based systems as compliant with the OVC standards.

  • by Toe, The ( 545098 ) on Saturday October 25, 2008 @12:06PM (#25509851)

    In Virginia (for example), where voting is completely electronic, they can still do recounts. Wanna know how? By doing the functional equivalent of hitting the refresh button.

    IIRC, for some reason, recounts always come up with the same number as the original count. Huh.

  • Here in Chicago... (Score:2, Interesting)

    by shoes58 ( 1203522 ) on Saturday October 25, 2008 @12:44PM (#25510023)
    I voted yesterday. This is the first time I've voted early. I, too, had concerns about the veracity of the process. I spoke to one of the poll workers, and he explained there is a paper trail. I saw that in action. After running through the touch-screen process, my ballot was printed on a paper roll, and I had time to examine every choice made. I also had the option of changing my vote prior to finalizing it, even though the printing process had begun. The machine printed a barcode at the bottom of my printed ballot, and the roll scrolled to blank paper for the next voter in line. The paper was under plexiglass, so I was not able to actually touch the paper. Overall, I felt the process was secure enough. BUT, my opinion would be the oppsite without the paper trail.
  • by jbn-o ( 555068 ) <> on Saturday October 25, 2008 @01:20PM (#25510227) Homepage

    What you're talking about is often erroneously referred to as a "paper trail". That term is harmful because it is too vague. Diebold sells a DRE (direct recording equipment; the computer records and tabulates the votes it collects) which produces a "paper trail": a long receipt-like strip of paper which ostensibly lists all the voters who used that machine since the last session. The problem with this is it is not voter-verified. Only the election judges get to see it and therefore it is entirely useless, truly nothing but a waste of paper.

    What voters need is better described as a voter-verified paper ballot. A piece of paper clearly listing their vote(s) which will be, as you said, manually counted by human beings (never computer counted).

    Nobody needs election returns faster than humans can count them. Retention enables recounts. We should retain these voter-verified paper ballots at least until the next election, if not as long as possible.

    We also need the software the machines run to be completely free software [] because free software voting machines allow counties to make the changes they need to handle changes in their electorate. If some district wants an election that isn't counted as first-past-the-post, they will need the freedom to change their voting machines to accommodate this. Nobody should have to beg the proprietor for improvements to their voting systems. Counties should be able to get expertise wherever that expertise exists and only a free software voting system enables this.

    A few years ago I served on the appointed committee to help the Champaign County board select a voting machine. We saw some voting machines demonstrated for us, tried them out, and decided what to recommend to the elected county board. The entire affair was picking the best of the worst. The allowable range of debate had been narrowed for us before we began when we were informed that we were only allowed to consider equipment approved by the state of Illinois. Toward the end of our tenure we learned that one of the machines we had been allowed to choose (and ultimately did choose, an ES&S optical scan reader/printer machine for preparing ballots) was not yet so approved. That machine has been deployed in at least two elections since we made our recommendation. Voters can optionally use it to fill out the voter-verified paper ballot before depositing their paper ballot into another ES&S machine which counts and stores the ballots.

The relative importance of files depends on their cost in terms of the human effort needed to regenerate them. -- T.A. Dolotta