Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
United States

E-Voting Company Reveals Their Source Code 279

Kodi writes "VoteHere has decided to release their source code so that other people will have confidence in it (MSNBC, press release.) It's definitely NOT open source (unlike OVC) but it's still a step in the right direction."
This discussion has been archived. No new comments can be posted.

E-Voting Company Reveals Their Source Code

Comments Filter:
  • First Glance (Score:5, Interesting)

    by monstroyer ( 748389 ) * <devnull@slashdot.org> on Wednesday April 07, 2004 @11:43AM (#8792767) Homepage Journal
    1) Pain in the ass. Asks me to submit my Full Name, Organization, and email. Along with an Opt-Out in check mark for a newsletters and licence agrement.

    2) You may not download this Software if you are located in any country (or are a national of a country) subject to a general U.S. or U.N. embargo or are deemed to be a terrorist country (i.e., Cuba,Iran, Iraq, Libya, North Korea, Sudan and Syria). Ouch! Why the patriotic license clause?

    3) A quick glance at the source code seems to indicate that it's cygwin dependent C++. Not really the best platform to open your source code on since the windows world encourages closed development.

    Also, who's to say that this is the source code that will be compiled on the voting terminals? What prevents any e-voting company to build binaries that have "secret conspiracy back doors" in them? Are voting polls expected to compile their own code? And if so, why chose windows when there is no built in compiler available by default on that platform?
    • by alecks ( 473298 ) on Wednesday April 07, 2004 @11:48AM (#8792822) Homepage
      Are you saying that You read the article, registered to download source code, browsed through it, and still managed to get FP?
    • Re:First Glance (Score:5, Interesting)

      by pete-classic ( 75983 ) <hutnick@gmail.com> on Wednesday April 07, 2004 @11:50AM (#8792861) Homepage Journal
      2) You may not download this Software if you are located in any country (or are a national of a country) subject to a general U.S. or U.N. embargo or are deemed to be a terrorist country (i.e., Cuba,Iran, Iraq, Libya, North Korea, Sudan and Syria). Ouch! Why the patriotic license clause?


      That is almost certainly because it contains strong encryption, which is considered munitions (!) under US export law.

      We can debate that law (I think it is foolish), but it isn't VoteHere's fault.

      -Peter
    • Re:First Glance (Score:4, Insightful)

      by lcde ( 575627 ) on Wednesday April 07, 2004 @11:52AM (#8792878) Homepage
      Also, who's to say that this is the source code that will be compiled on the voting terminals?

      these are the same arguments for anything you don't compile yourself. Who is really to say that RedHat RPM's don't have a patch that opens them up. Because they don't show it in the source RPM? Because they're not microsoft? Sometimes you have to have a little trust.

      It may be true that they want people to submit bug reports or other things they see wrong and they will closely look over and patch with their own patch.
      [tin_foil_hat]
      But with it being e-voting and used for US politics. i wouldn't be to surprised if some gov. agency makes them have a back door.
      [/tin_foil_hat]

    • Re:First Glance (Score:3, Insightful)

      by Talthane ( 699885 )
      Also, who's to say that this is the source code that will be compiled on the voting terminals?

      You can take paranoia too far, you know. Who's to say the people counting the votes at the polling stations are counting the same pieces of paper you filled in there? If you're going to take that extreme a view, then all voting is irrelevant and utterly without any means of proof. Linux is as unreliable as Windows, the OVC as Diebold, because anyone could have compiled your nice open source software and turned i
      • Re:First Glance (Score:5, Insightful)

        by interiot ( 50685 ) on Wednesday April 07, 2004 @12:00PM (#8792977) Homepage
        Paranoia can't be taken too far regarding voting, at least not conceptually. In practice, you can only spend so much time and effort on proving that votes haven't been tampered with, but if you combine electronic voting machines with the results of 50 years of research in computer security, then software should be able to do most of the grunt work, and it may be possible to have MUCH stronger proof that no tampering took place than is available with paper, without requiring very much reoccuring human time/effort.
    • by meringuoid ( 568297 ) on Wednesday April 07, 2004 @11:59AM (#8792960)
      Cuba, Iran, Iraq, Libya, North Korea, Sudan and Syria

      This is voting software, with which one would run an election in a democracy. Wouldn't we be happy if these countries downloaded and used it?

      Then there would be no more phony rigged elections in these places - you can't possibly rig an e-voting machine, Diebold said so.

      • Re:First Glance (Score:2, Informative)

        by Freddles ( 471210 ) *
        Cuba, Iran, Iraq, Libya, North Korea, Sudan and Syria

        This is voting software, with which one would run an election in a democracy. Wouldn't we be happy if these countries downloaded and used it?


        Perhaps. But US law prohibits [ustreas.gov] (or with certain countries severely restricts) US persons and companies from having any business dealings whatsoever with any person or company in any of those countries. The sancations vary from country to country with an outright ban on dealings with Cuba and lesser restrictions o
      • Wouldn't we be happy if these countries downloaded and used it?
        Well, if by "we," you mean the US government, then no.
        For all the talk about establishing democracy in Iraq, the powers-that-be in Washington will not permit open, free, and fair elections in Iraq because Shiite fundamentalists would win.

        --Mark
    • Re:First Glance (Score:5, Insightful)

      by 4of12 ( 97621 ) on Wednesday April 07, 2004 @12:04PM (#8793031) Homepage Journal

      Also, who's to say that this is the source code that will be compiled on the voting terminals?

      Precisely.

      And how many voters or voting officials will be able to verify the digital signature of the binary that the voting machines run (which would potentially thwart trojan replacement of compiled code with different binaries)?

      Or, to verify the voting machine hardware itself does not contain any backdoors?

      Yes, that's right. The same number of informed caring intelligent voters and educated informed voting officials you saw participating in previous elections. (To be fair there are many intelligent caring voters and officials - it's just that intelligence and caring don't guarantee successful secure electronic voting measures.)

      With all the potential avenues for compromise and the levels of expertise, scrutiny and trust required for proper implementation, there's good reason some of the best computer scientists in the country think electronic voting is not a good idea.

      At least I'll credit this company for taking one step forward in a mile long journey. I just hope decision-makers get the hint about vulnerabilities and realize how far we have to go.

      • Re:First Glance (Score:2, Interesting)

        by krazy_kc ( 300758 )
        And how many voters or voting officials will be able to verify the digital signature of the binary that the voting machines run (which would potentially thwart trojan replacement of compiled code with different binaries)?

        Ken Thomson proved this won't help, while I don't disagree with your sentiment, remember that all the open source in the world can still be circumvented by a compiler that you didn't write...

        • Re:First Glance (Score:4, Interesting)

          by 4of12 ( 97621 ) on Wednesday April 07, 2004 @12:46PM (#8793511) Homepage Journal

          Ken Thomson proved this won't help, while I don't disagree with your sentiment, remember that all the open source in the world can still be circumvented by a compiler that you didn't write...

          I remember that story, of hiding the login.c backdoor into the compiler binary.

          It makes me think I should be more careful to check the .sig for my downloads of gcc .

          But, then, I'm thinking back, wondering what version of gcc I used to compiled gpg , or what version of gcc Red Hat used to build my kernel....

          It seems trustworthiness is only asymptotic and not absolute.

        • Re:First Glance (Score:3, Insightful)

          by Tassach ( 137772 )
          It's unlikely that a general release compiler (gcc, vc++, etc) would have a specific back-door for a voting system built in to it. Any backdoor of this variety would be present in any system built with that compiler

          . In this case it doesn't really matter if you can trust the compiler or not -- what you want to do is ensure that the version of the software installed on deployed machines matches the audited reference copy. This can be done easily. Then you can test the hell out of the reference copy to ma

    • Re:First Glance (Score:2, Insightful)

      by Anonymous Coward

      Also, who's to say that this is the source code that will be compiled on the voting terminals?

      Well, all bets are off if the company decides to purposefully make a "bad" (evil?) product. In that case, you just have to hope for a whistle blower inside the company.

      BUT...by opening the source code...they allow other people to look and see what precautions have been made security-wise.

      In other words, if an unintentional mistake was made everyone will have a chance to see it.

      So, no, making the source avail

    • Because then those countries might reverse engineer the code and figure out what a cool idea democracy is. And then the US would no longer have conventient scapegoats to wage war against.
    • Re:First Glance (Score:4, Insightful)

      by Tassach ( 137772 ) on Wednesday April 07, 2004 @01:08PM (#8793763)
      What prevents any e-voting company to build binaries that have "secret conspiracy back doors" in them?
      1. Release the makefiles along with all the details of how the release executables were built (exact details of the build platform, compiler flags, etc) -- basically all the details you need to produce an identical executable.
      2. Calculate the MD-5 and SHA-1 hashes of the test version you built yourself. EG:
        find / -name \* | xargs md5sum | sort > checksums; \
        find / -name \* | xargs sha1sum | sort >> checksums; \
        cat checksums
      3. Have independent auditors perform this process on a random sample of deployed machines.
      4. diff the checksum file for the machine being tested against the one for your reference build.
      If all the hashes match, you're assured that the executables on that machine have not been tampered with.

      You may not download this Software if you are located in any country (or are a national of a country) subject to a general U.S. or U.N. embargo or are deemed to be a terrorist country (i.e., Cuba,Iran, Iraq, Libya, North Korea, Sudan and Syria). Ouch! Why the patriotic license clause?
      Same reason any made-in-the-USA software containing strong crypto has a similar warning -- US law prohibits the distribution of strong crypto software to "bad" countries.
    • 2) You may not download this Software if you are located in any country (or are a national of a country) subject to a general U.S. or U.N. embargo or are deemed to be a terrorist country (i.e., Cuba,Iran, Iraq, Libya, North Korea, Sudan and Syria).

      Ouch! Why the patriotic license clause?


      That license clause is to protect us from people in other countries who might start getting ideas about having tamper-free elections.
  • Obscured? (Score:2, Insightful)

    by dolo666 ( 195584 )
    Something is really wrong with this move by Votehere. Nowhere on their site is a place to access the revision history of the code, or upload changes, or even contact them about bugs in the code for credit or what-have-you.

    Obscured security relies on obscurity; therefore we have a previously obscured source code that is now revealed (as is) and the creator expects the public to be pleased? The key element of Open Source is the insight from a million minds into security, feasibility and programming efficienc
    • Re:Obscured? (Score:2, Informative)

      by Anonymous Coward
      The key element of Open Source is the insight from a million minds into security, feasibility and programming efficiency;

      Oh, you must have missed the part where it said "To avoid any doubt, this Software is not being licensed on an open source basis.".
    • Re:Obscured? (Score:5, Informative)

      by medication ( 91890 ) on Wednesday April 07, 2004 @12:15PM (#8793133) Journal
      I realize that it takes a bit more effort the RTFA, but in the pdf include in the source they make it very plain how to submit bugs:

      Reporting an Issue
      VoteHere appreciates your e(R)orts in helping us identify and resolve issues and
      inaccuracies with our products, specifications and documentation. If you feel you
      have identified an issue with the VHTi API or documentation set, please proceed
      with the following steps for submitting the issue to the VoteHere support team:
      1. Record the version number of the API or document you are referencing,
      and if documentation-related note the page and /or section number.
      2. Record and document the issue as clearly and in as much detail as possible.
      3. Record your name, company name, and a telephone number where you can
      be reached during normal business hours.
      4. Contact VoteHere using one of the following methods:
      Email: support@votehere.net
      Fax: 1.425.450.2861
      Phone: 1.888.457.6863

      • How to provide feedback
        We welcome constructive feedback as part of this review process. You can submit
        any feedback you have to vhtifeedback@votehere.com. We will address any valid is
        sues and/or suggestions.


        Conveniently located in the top-level directory in a file cryptically named README.Feedback.
    • If people are so convinced that this code must be insecure, find a bug... Break the thing and tell the company, if they don't fix it, tell the press.

      I think this is an enormous step in the right direction, it allow a much greater degree of public oversite for e-voting. I am actaully satisfied with this, I would love a more open process, but I think this is good enough...
    • Re:Obscured? (Score:3, Insightful)

      by Analogy Man ( 601298 )
      The key words are transparency and accountability.

      A) There can be no accountability without transparency (something that our press has been doing a poor job at supporting for the last 20 years...worsening of late). What we don't know hurts us!

      B) Transparency is meaningless without accountability. So I punched you in the nose...bugger off and deal with it you big baby! We lost all the votes from Precinct 27 oops, sorry. We had 2x as many votes as registered voters in precinct 43 so it comes out a wash

    • Something is really wrong with this move by Votehere. Nowhere on their site is a place to access the revision history of the code, or upload changes, or even contact them about bugs in the code for credit or what-have-you.

      Read their license agreement carefully. They don't intend on accepting feedback of any kind. They also do not authorize forking of the code at all. The only purpose that you are allowed to make from downloading the source is to *EVALUATE* it. This is not an open source license that wo

  • by Anonymous Coward on Wednesday April 07, 2004 @11:46AM (#8792798)
    Now, if only slashdot would 'Open' their source (secret blacklists, obscured karma scores, hidden moderations, editor modpoints and bitchslaps).

    Time to stop this hypocrisy of criticizing closed e-voting, while implementing it here.

  • by ravenspear ( 756059 ) on Wednesday April 07, 2004 @11:46AM (#8792802)
    In a move to inspire confidence, Diebold agrees to have Microsoft review their code.

    The company was quoted as saying, "Microsoft's highly qualified software testers will objectively review all source to determine any bugs. We are confident their analysis will put speculation about the reliability of our software to rest."
  • No (Score:5, Insightful)

    by hanssprudel ( 323035 ) on Wednesday April 07, 2004 @11:46AM (#8792806)
    VoteHere has revealed _some_ source code, which may or may not be what is used in their machines. Unless the machines are produced in a truly open fashion, the fact that they have made some code available for viewing means very little.
    • by account_deleted ( 4530225 ) on Wednesday April 07, 2004 @11:50AM (#8792859)
      Comment removed based on user account deletion
      • Actually, you can do that with the Diebold machines. And you can insert fradulent votes for him, too. And it isn't traceable. All you have to do is either get phyiscal access to the box, by being an election official, or crack an NT box over WiFi. No need to see the source of the voting software, because the vote TALLY software is just VBScript written is MS Access. Sure, it has a fancy front end with forms, but you can just hold shift while it is loading and get straight at the underlying tables, and
    • Re:No (Score:3, Insightful)

      Doesn't anybody else think that this kind of software should be developed by the government in an open source fashion? I don't like the idea of a closed 3rd party system being responsible for electing my next government. The election process is supposed to be transparent.
      • Re:No (Score:3, Insightful)

        by pjt48108 ( 321212 )
        YES! I agree! Open up the code, and let voting machine makers MAKE THE MACHINES that run it. As an analogy, auto manufacturers don't determine the design and construction of roadways, only the cars that use them. A person should be able to read the code themselves. In fact, such open code could be used for free by a multitude of organizations across the spectrum of society in order to run their own elections, be it for city council, scout troop leader, union president, etc.

        Of course, I am still a fan of a
    • Re:No (Score:5, Interesting)

      by surprise_audit ( 575743 ) on Wednesday April 07, 2004 @12:30PM (#8793316)
      Unless the machines are produced in a truly open fashion...

      And even then, how is any random voter (geek or not) going to be reassured that the proper, open software is what's actually running on the machine he's touching??

      I'm sure we can all think up tricky ways to very the code - maybe provide a "verify code" button which prompts for a passphrase, then generates a hash using that and the software, providing a printout that the voter could verify against a secure web page, using the same passphrase. That would work unless you're paranoid enough to think that maybe there's a second eprom in there that's actually handling the machine, checksumming against the original, unused version...

      No, I think it's pencil-and-paper time again. Can anyone think of a really pressing need to use some kind of electronic vote machine, other than the "we can declare the result instantly!" reason?? I venture to suggest that voter confidence in an honest election ought to outweigh any "instant win!".

      Sadly, society in this country has been pushed more and more towards instant gratification for minimal investment. Instead of wielding a pencil to make a mark you now barely have to touch the display. Instead of waiting a day or two for the results, you can watch the numerous "results" shows on TV as they attempt to predict the winners.

      Election reforms I'd propose: 1) Pencil and paper ballots; 2) Absolute blackout of media coverage, at least until the polls close *all* over the country. None of that instant win crap on the East Coast while West Coast, Alaska & Hawaii voters are still making up their minds...

      • "we can declare the result instantly!"

        "The robot polls are opening... and the robot vote is in."
      • What is the disadvantage of instant gratification in this instance, if all the security and trust issues can be worked out? Why should we have to wait a few days to find out who the leader of this country is? Why should we not be able to vote by touching the display if it can be done reliably and securely? I agree that security is more important than expedience, but if we can have the first we may as well go for the second.
      • Re:No (Score:5, Insightful)

        by pangian ( 703684 ) on Wednesday April 07, 2004 @02:20PM (#8794740)

        Can anyone think of a really pressing need to use some kind of electronic vote machine, other than the "we can declare the result instantly!"

        Well I can think a few reasons why electronic voting machines would seem advantageos to the people who administer elections, and they have very little to do with speed of reporting (which isn't currently and issue):

        1) Lower cost in the long run over printing paper ballots. This resonates particularly well with election managers who are forced to *reprint* a bunch of ballots because of a mistake or change in the race.

        2)Electronic voting systems can be used to accommodate voters with special needs. Electronic voting machines can often display a ballot in several languages and large print and can be designed to provide Braille or audio through headphones. Currently, in many districts, the blind don't have an entirely secret vote. This is temping for election administrators as accessibility requirements expand.

        3) Touchscreen e-voting systems often provide an opportunity for the voter to check and confirm his or her votes, and can reduce the need for election officials to divine the "intent of the voter" that occurs in some pencil and paper, optical or punch systems. This is attractive to managers since Florida.

        I am also *very* skeptical of electronic voting, and would probably feel a lot more comfortable with pencil and paper voting (which is not immune from user error and manipulation, I'll remind you). However, too often skeptics rail on e-voting without an real understanding of the resons that election managers choose them.

        • I want voting machines done RIGHT as much as the next technology guy -- no back doors, bad counting, etc etc...

          We all bitch about them, and at the same time we don't talk much about the error rate of paper-based voting.

          In fact, I have no idea what kind of error rate that is. How do we measure voting accuracy and error rates in a democracy that provides anonymous ballots?
          • One indicator that is often used is the "missing vote rate," which is simply (number of voters at a polling station - number of votes for an office at that station)/number of voters at the polling station. The idea is that errors that switch voter preferences are either uncommon or random enough to cancel each other out, but the error of greater concern is rejecting a ballot for not being able to determine the intention of the voter. Of course, the missing vote rate isn't an exact reflection of error, sinc
      • No, I think it's pencil-and-paper time again.

        And how is any random voter going to be reassured that their pencil-and-paper ballot ever gets counted, rather than, say, floating in San Francisco Bay? [trilliumprints.com]
        Personally, I'm more worried about the very real troubles with a physical ballot being lost/stolen/miscounted than I am with a theoretical hardware/software exploit. For example, given that the names/positions on a ballot are different from election to election, and even from district to district, it seems th

  • by AtariDatacenter ( 31657 ) on Wednesday April 07, 2004 @11:47AM (#8792819)
    Exposing the source code for e-voting (and electronic voting systems) is good. But just as important are the methods and procedures that a company uses around the software. Without knowing how they handle data, what protections and precautions they take, what operational or administrative technical policies are in place, I don't think we can judge much about a system from the source code. But we can, of course, find flaws in the code itself.
    • I certainly agree with the parent's point that open sourcing the software isn't a magic bullet, and that the policies and procedures are critical.

      The way I'd phrase it is that voting is a system componsed of hardware, software, people and procedures. Flaws in any aspect of the system can compromise it. You could have perfect software, but have procedures that (for example) allow election workers manipulate the results before they're collected. That's why things like auditing still critical.

      That being said
  • It's not patriotic (Score:5, Informative)

    by the_rev_matt ( 239420 ) <slashbot AT revmatt DOT com> on Wednesday April 07, 2004 @11:58AM (#8792951) Homepage
    It's called compliance with export law. Plenty of software companies have this restriction listed (for a long time you had to check the box to download Acrobat Reader until the export restriction were loosened slightly).
  • by hng_rval ( 631871 ) on Wednesday April 07, 2004 @11:58AM (#8792953)
    If (Vote == Bush)
    BushVotes++;
    Else If (Vote == Gore)
    If (Rand % 10 == 1)
    BuchannenVotes++;
    Else
    GoreVotes++;
  • 818181 (HAHAHA) (Score:2, Informative)

    by sgumby ( 730231 )
    How to explain that every Congressional race in Maryland, for example, won by the same margin, of 818,181 votes? Funny how those numerals translated to HA HA HA in alpha characters..... www.countthevotecolorado.org [countthevotecolorado.org]

    i hope this software will help prevent such things...(if it not cause it...)
    • Maryland as well, huh? In Comal County [votewatch2002.com], in 2002, three candidates for three different posts each got exactly 18,181 votes.
    • 818,181 votes? Funny how those numerals translated to HA HA HA in alpha characters

      That number is fishy, but not because it can be made to map to "HAHAHA". You could also observe that 8+1+8+1+8+1 = 27 = 3^3, but that doesn't hint that it was written be a Jehovah-loving Kabbalist.

      Sometimes, to paraphrase Freud, a number is just a number.

  • That's great, now: (Score:3, Interesting)

    by mystereys ( 673518 ) on Wednesday April 07, 2004 @12:13PM (#8793106) Homepage Journal
    Where's my voter-verifiable paper printout?
    • Where's my voter-verifiable paper printout?

      EXACTLY!

      Even if that source code is nice, secure, proveable, and unbiased, HOW DO I KNOW THAT IT IS THE SAME CODE USED ON THE MACHINE? The truth is, I can't know it. That is why a voter verifiable prinout is needed. The machine may report bad numbers, but at least I was able to verify my paper vote for the recount.

      -Derek

  • Like PGP (Score:5, Insightful)

    by Rick Zeman ( 15628 ) on Wednesday April 07, 2004 @12:20PM (#8793204)
    This is just like what Phil Zimmerman, then NAI, and then PGP Corporation did with Pretty Good Privacy. They'd publish their source code for peer audit, but you definitely weren't allowed to do anything with besides audit the source and compare the resultant binaries. It was NOT open source.
    I don't have any problems with that, or with the election software not being open source.
    • Re:Like PGP (Score:4, Insightful)

      by tiger99 ( 725715 ) on Wednesday April 07, 2004 @01:14PM (#8793844)
      Yes, in this case that sort of arrangement is quite acceptable. Because this is going into a commercial piece of hardware, the software needs to be controlled at one place, so even if it was Open Source, it would not be possible to get contributions from all and sundry. But it also shows something that such as Gates and Ballmer are incapable of realising, that you can freely expose the source of closed commercial code. It bears a copyright, so it can't be copied and used improperly, and more than can a binary. By showing your intellectual property, you actually make the detection of illegal copying easier, unlike the stupid SCOundrel case, where nothing has been shown, nor ever will be, therefore nothing can be proved.

      Altogether it is much cleaner and tidier to show the source, in particular it does not involve giving away your intellectual property (but first you have to have some intellect, in order to develop some IP...) It clearly defines exactly what you have.

      In a sensible world, there would always be the option to see source code, just as there used to be comprehensive maintenance manuals with many pages of circuit diagrams for hardware, which theoretically could have led to copying, but in practice did not. I used to love the Tektronix oscilloscope manuals, but judging by the mediocre performance of most of their competitors products, the fact that every design detail was exposed, to assist with maintenance, did not result in significant copying. However, it might have inspired lots of engineers in the way they designed other things, just the same as exposure to Minix (ugh!) source code may have inspired Linus. It might, and did, also result in some ingeneous modifications when the proper spare parts were not immediately available.....

      I hope this disclosure is the beginning of a trend, it will benefit everyone, including the fact that the owners of the code can get some extra, free, code review.

      It will not, of course, please RMS. You can't please all of the people all of the time.

  • The problem is that this code might not be the code that is in the machines. I think we should give people to compile the released source themselves and somehow load that into the machine before voting. There would be a standard build procedure, so everyone would use the same (open) compiler. The code would be checked to make sure it is bit for bit identical to a version compiled by a trusted third party. That way, having produced the executable yourself, you can be fairly sure that the software can be trus
    • We can't get more than 20% of the population to vote, but you expect people to compile their own software?

      I bet 80% of the people that do actually vote would be wondering just what button to push on their WebTV or AOL account to compile the source.

      • Not everyone would have to do it-- trust their stuff if you want. I am not advocating the ability to use a compiler as a prerequiste to be able to vote. I am saying, the option should be availible to those who care. It would make it possible to randomly check these machines for honesty.
    • Re:My Idea (Score:3, Insightful)

      by Zathrus ( 232140 )
      That's just insane.

      Look, it's pretty simple. If you don't trust the precompiled binaries they have on the machines, then why on earth would you trust the compiler they provide? I'm not talking about not trusting gcc... it would be fairly trivial to produce a hacked gcc that compiles the code in question differently (or simply compiles an embedded version of the code). And you'd have no way of knowing.

      Heck, hack the diff tool for that matter. Either reject any schmuck who actually tries to pull this, or re
      • Sure, I guess you could go to hand counting. That'll only take a few weeks to verify the results.

        Somehow, the Republic managed to survive for a couple hundred years with paper ballots, waiting longer than "a couple weeks" for the results in the days before electronic communciations. What was the problem, again?

        Sean

      • Unless, of course, you don't use their gcc. I'm saying they should pick a compiler, say, gcc 3.1. Then I can get (I wouldn't be required to do any of this to vote, see my clarification attached to the other reply) the gcc (from gnu) and the code (from them) and compile mine. Like I said, it doesn't solve the problem, it makes it makes the problem more difficult to exploit. If you combined this with hardware audits (i.e. somebody buys a voting machine and the company is unaware whether it will go to an elect
    • Worst...idea...ever
  • by mjallison ( 665213 ) on Wednesday April 07, 2004 @12:37PM (#8793395)
    Revealing source code is good, but that doesn't gaurantee that the code you review is the same code actually running in the deployed machines.

    Some people would like to see paper trails and code review as a backup security measure, but I have another option I could feel comfortable with. How about a neutral third party, mutually selected by the state/city/etc and machine supplier? This third party can act as the review agent for the code, even bringing in outside experts. Public review of the code could even be done if all parties agree that this is the best thing to do.

    Finally (and here is where I think things get better), the escrow company actually builds the reviewed code, performs quality and acceptance tests. This code built by the third party is then released to the state for installation in their machines. The machine supplier never releases code directly to state/county/city/etc.

    Many large corporations use similar schemes to manage mission critical code. The IP still belongs to the machine supplier, of course, but there is now a very public and verifiable step in the process to ensure trust in the system.
  • by Anonymous Coward
    Much more interesting than the source is the following document:

    http://www.votehere.com/vhti/documentation/egshu f. pdf ...describing a neat method of establishing a voter-verifiable ballot data that makes it quite difficult for single terminals to "cheat".
  • The source is not enough by itself. It only takes two extra lines of C code to rig an election:

    if (some_condition)
    votes[0]++;

    They should allow people to double-check the veracity of the final product (the binary) by building it themselves.
    It would be nice if they would reveal:

    * The size of the binary
    * The hardware/software configuration of the machine on which the compiling was done.
    * The MD5 sum.

  • e-Voting in Brazil (Score:4, Interesting)

    by Anonymous Coward on Wednesday April 07, 2004 @01:00PM (#8793674)
    We've been having e-voting in Brazil for ten years now, the machine's source code is not open, it's a small machine that saves the result on a disk and prints a confirmation with each vote.

    In ten years we had three presidential elections, as well as elections for governors, mayors and senators, all of them with e-voting, citizens between 18 and 60 years MUST vote (between 16 and 18 and above 60 voting is optional).

    In this ten years, with plenty of elections and huge ammounts of votes not ONCE the result of an election have been contested by any political parties (winning or losing, left or right), individuals or the media. Usually the official results are released in one or two days after the election.

    So my question is: Why the big fuss about e-voting in the USA?

    • Why the big fuss about e-voting in the USA?

      A lot of us in the USA are very cynical about the government and how it operates. It's the American Way and has been for 200+ years.

      We look at a company like Diebold, whose management have made public statements showing political allegiance, we see that they base their systems off of MS Windows and MS Access, we see their memos about how incompetent their software development is, and we really have to work hard to not shit ourselves over just how corruptable s
  • Don't be unfair! (Score:4, Insightful)

    by Syncerus ( 213609 ) on Wednesday April 07, 2004 @01:00PM (#8793679)
    Look, these guys are trying to do the right thing to inspire trust and confidence in the integrity of their software. What they are doing is entirely reasonable and proper. Just because they want to make real money from their code doesn't mean they are evil. Just because you think that everyone should release everything under the GPL, doesn't mean that they should be forced to accept your values. The release license is the choice of the author; never forget that.

    The purpose behind this excercise is to promote trust in the integrity of the electronic voting process; not to release Open Source voting software.

    You should commend these guys, not snarl at them.
    • Just because they want to make real money from their code doesn't mean they are evil.

      Funny, I've yet to see a license that explicitly tells the licensor, "you are not allowed to generate revenue with this product under this license." Even the GPL allows people to sell software--and support, which is how a smart software company butters its bread to begin with--as long as they include the source code with the binary executable.

  • by Discoflamingo13 ( 90009 ) on Wednesday April 07, 2004 @01:10PM (#8793798) Homepage Journal

    I won't be satisfied until voting machines are subjected to the same safety criteria as automotive or aerospace software (e.g. FAA's DO178B). This means clear requirements, traceability from requirements to implementation, formal verification by third parties, and an audit trail. Infrastructure already exists for this purpose - the FAA could take this on with little difficulty.

    I thought our government was a bureaucracy - why didn't they think of this first?

  • by Saeed al-Sahaf ( 665390 ) on Wednesday April 07, 2004 @01:14PM (#8793850) Homepage
    Boy, you just can't win at Slashdot. All the sputtering frothy yappers here demand a look at the code. They get a look at the code, but that's not good enough anymore.

    I guess some people will bitch no matter what.

  • Definitions (Score:3, Interesting)

    by Quill_28 ( 553921 ) on Wednesday April 07, 2004 @01:20PM (#8793924) Journal
    They needs to be a standard way to refer to different licenses.

    Most lay people would assume that open source means you could look at it. But in tech circles that is not the case. It has to be more than that.

    And does the tech definition of open source include BSD, GPL, public domain, etc licenses?

    Or is it just refering to GPL?

    Or does it depend on who you ask.

  • by OGmofo ( 189475 )

    "Lookie folks, you can download our source code, unlike those other evil opaque ne'erdowells."

    What's to keep them from closing the source once everyone hops on the bandwagon? If there's no promise to keep it open in perpetuity, its worthless.
  • No it's not. (Score:4, Insightful)

    by lynx_user_abroad ( 323975 ) on Wednesday April 07, 2004 @02:07PM (#8794552) Homepage Journal
    It's definitely NOT open source (unlike OVC) but it's still a step in the right direction."

    No it's not a "step in the right direction" and you're not helping to fix things by claiming that it is.

    Having a copy of some source code is not a "step in the right direction" if you can't understand it. Most people can't read source code.

    Having a copy of some source code is not a "step in the right direction" if you can't have complete confidence it's implemented correctly. If it's at all complex, there's a good chance the are bugs in it. If the manufacturer ever admits they've fixed a bug in it, then they are admitting even their engineers who designed it didn't understand it enough to spot all the bugs. Will Joe Voter spend as much time reviewing the code? (If they never admit to a bug in it, then they are in denial.)

    Having a copy of some source code is not a "step in the right direction" if you can't be sure the source you have is the same one used to compile the binary runninng on the machine you're casting your vote on.

    Having a copy of some source code is not a "step in the right direction" if you can't be sure the compiler wasn't trojaned. Or the hardware itself.

    Unless you have evidence of a ballot cast, the best you can claim is heresay testimony of a ballot cast. Are you willing to accept that as a basis of your next government?

    • Right now, all those problems exist.

      Except that right now, we can't even verify that they've caught the obvious bugs.

      It *is* a step in the right direction. Maybe not a big one, maybe not even an important one, but we are better off now than we were before.
  • Beacuse in the end what I want has nothing to do with software but the end result, what I put on my ballot.

    It should be some sort of paper, to ensure some sort of paper trail. It should be human readable.

    That simple.
    • While I understand your argument I think you're missing a part of the point. Some of it has to do with the end user - voters - but a lot of it has to do with the integrity of the system which has nothing to do with the voters.

      Even with a paper trail, a closed source system is dangerous because it can be manipulated. Open source ensures that it simply cannot be manipulated without it being caught in an audit.

      Anthony

  • Boy, nice license (Score:3, Informative)

    by Rogerborg ( 306625 ) on Thursday April 08, 2004 @05:34AM (#8801510) Homepage

    "You can look for 60 days, but if you touch, we own anything you modify. Oh, and we can can your license at any time and for any reason, and you also agree that we can and should gag you if you say anything that might be detrimental to our business."

    We'll, that certainly inclines me to view their source in a charitable light.

"If it ain't broke, don't fix it." - Bert Lantz

Working...