Current Phase: 1, Architectural Decisions
The initial phase of our development doesn't involve any coding at all. It involves
a public forum for discussion. We have enlisted the aid of SourceForge.net to this end.
Please visit our forums and contribute to our initial discussion today!
This document is currently seperated into two major sections. Please feel free to browse either or both.
Important Documentation.
1. Quick-Reference Guides
The first thing to look at might be the Quick Reference Guides for the
other, comercially available software. These aren't design schematics, but
if you've never really worked on an electronic voting system, this brief
survey will give you the general idea of what we're looking at. These
documents are hosted by the Electronic Frontier Foundation (see: http://eff.org/Activism/E-voting/.)
2. Source Code for Extant Development Efforts
Part of figuring out how to work on this is working with what's already available.
A great part of the GNU GPL is that we can use many of the clever ideas that
other groups have come up with in order to make the perfect software. For the convenience
of our developers, and any interested parties, we have mirrored some of the various source
code, as well as provided the relevant links to the projects.
"The system uses standard personal computers as voting terminals, with voters using a barcode to authenticate their votes. Voting terminals are linked to a server in each polling location using a secure local area network. No votes are taken or transmitted over a public network like the Internet."
Links hosted at elections.act.gov.au
http://www.elections.act.gov.au/Elecvote.html - Project DescriptionOur friends at lxer.com have helped us translate this document, which announces, roughly, that the department of home affairs has ordered (the Dutch department of) LogicaCMG to develop a voting service, and (The Dutch state) acquired the intellectual property for all program-code developed for this voting service. The program code is now available under GPL. A part of this available source is a mathematically proven vote-tallying system written in Java/JML.
Links hosted at ososs.nl
http://www.ososs.nl/downloads/broncode%20stemdienst%20Kiezen%20op%20Afstand%202004.zip - Source CodeLinks hosted locally
Documentation: The JML Docs for the tallying system and the Java Docs for the tallying system, as well as the credits, and the user manual [Dutch, pdf].And of course, we can"t forget the important work done by the OVC on EVM2003, a Python piece of software. I"ll rip a bit from an email I received from David Mertz, who is the CTO of OVC: "Most of the design ideas, however, really were carefully hashed out, and you should pay some attention to them. We had some really serious voting and cryptography experts involved in this, so it"s far from accidental or haphazard what we did. Liam Helmer"s efforts to create a StrongBox Linux version of "EVMix" are particularly important (albeit not fully realized yet).
Links hosted at the EVM2003 project at sourceforge.net
http://evm2003.sourceforge.net/index.html - Project Description http://sourceforge.net/project/showfiles.php?group_id=86315&package_id=116043 - Source CodeSynopsis of major themes for software design. (With linked documentation)
This assessment is derived originally from Cranor, L.F. and Cytron, R.K. Design and Implementation of a Security-Conscious Electronic Polling System. Washington University Computer Science Technical Report WUCS-96-02. February 1996. It comes directly by way of Cranor, L.F.: Electronic Voting.