DDD - Digital Discussion and Decisions

Updated: Aug 10th, 2005


In 1450 Johannes Gutenberg developed the printing press, and without it, and the communication technology that followed, the democracy we have today would not be possible. It allows everyone to get enough information to make an informed decision during elections.

While they where big advances, the printing press, movies and television still only allowed relatively few to present their ideas to a wide audience. Most people's ability to influence government is limited to one ballot every few years to select among representatives which prepackaged sets of ideas.

The Internet is a fundamentally different communications technology. It gives everyone an equal chance to present their ideas. My website is just as accessible as the world largest company's website. I believe this makes the invention of the Internet more important then the printing press. Just as the printing press made representative democracy possible, the Internet makes direct democracy possible.

Most direct democracy proposals until now have involved complex systems of meetings and delegates bringing the ideas from local groups to national organizations. Internet technology allows everyone to contribute and allows those contributions to be organized and presented in an understandable and configurable way.

There have been many implementations of Internet based discussion, from Usenet to blogs, but they haven't included feature to allow decisions to be made.


DDD is a system for Internet based direct democracy. Users create proposals to modify or add to a "master document" and voted on them. The master document is updated dynamically based on the current vote results.

The voting on proposals would never end. If a proposal gets voted into a master document and is popular it could remain unchanged for years or a new, better, proposal could replace it or it may not work out as hoped, lose popularity and be removed. Certain things, such as budgeted money that has been spent cannot be taken back.

A delay could be including so that the a change doesn't take effect immediately so that the master document doesn't change frequently when votes are close.

This system will need to scale from governing an organization or political party with thousands of members, to a country with millions of citizens and one day, perhaps, make decisions involving the whole planet with billions participating. I expect it will take decades, during which this system will evolve, before that will happen.

Document Structure

The document would normally be a set of policies or bi-laws for an organization or laws for a government.

The document would be a hierarchical structure of paragraphs. The paragraphs are not numbered, as paragraphs can be inserted and removed by proposals.

Proposal Structure

Some proposals would add to the document, but most will amend existing proposals. Proposals would add, remove or replace paragraphs.

A proposal should address any contradictions that it may create with other existing popular proposals, even if to clarify why it is not really a contradiction. Only popular proposals that existed when the proposal was created need to be clarified. Unpopular proposal also don't need to be considered.

Voting Structure

Users can vote for or against proposals. They also have to option to make their vote subject to approval of other proposals.

As there could be may proposals to consider, the system would automatically suggest votes to users by finding voters who have voted in the same way as the user in the past and calculate how the majority of them voted and recommend that vote to the user. This is similar to how amazon.com website suggests books.

Discussion structure

Each proposal would have an attached discussion. The discussion would be hierarchical and support Slashdot like comment rating.

Discussion need not be limited to within DDD, but could occour elsewhere, with urls pointing back to the proposals being discussed.

Protocol structure

DDD uses a client-server stature, much like the World Wide Web.

There would be multiple implementations of both the DDD server and client, all supporting a common protocol. Having different clients allows users to choose the interface they prefer. Clients would include both stand alone applications and web or email based interfaces.

Next Steps

  1. Develop examples
  2. Start protocol design
  3. Implement server
  4. Implement text-based client
  5. Establish an organization run by this software


Darwin O'Connor doconno@gmail.com