links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
Squeak voting system
Last updated at 6:20 am UTC on 1 January 2006
The goal of the elections team is to enable the Squeak community to rule itself.

The first project we're discussing, because it seems basic to other stuff (elections, a constitution and so forth), is a voting system. We've broken this into two relatively separate parts:

  1. Manage the list of allowed voters.
  2. A system for voting.

The first is somewhat contentious and under discussion.

A system for voting


Here is a first cut at the requirements for the voting system:


  1. Allows a voter to propose a topic on the website. Another n users need to "second" it. When n is reached, an email is sent to every eligable voter that hasn't opted out. The topic proposer can also edit or remove the proposal.
  2. Allows any voter to propose an alternative course of action for this topic, and edit or remove it. An "ignore this topic" course of action is there by default.
  3. Topic proposer gets to set a vote date, which is at least a week after the topic is raised. When a date is set, another mail is sent to voting members that didn't opt out.
  4. A voter can vote until said date, and gets a confirmation mail whenever his vote changes.
  5. Numeric results of Condorcet votes are published on the website as per Debian standards.


A. Easy backup.
B. Topics, proposals, and votes are in a form that can be audited via a text editor.
C. Security: the initial security model is the "mildly secure website", described by Peter Crowther as:

Initially, we favor simplicity and debuggability, and therefore reject all but the minimum security and privacy requirements. This tradeoff makes the system unsuitable for high-value decisions where affecting the result is worth hacking into the system, and should be fixed in the next version.

Peter notes that Squeak People already provides many of these security features; it is missing the challenge to the email address.