GRDM :: Grass roots democracy machine

Tuesday, 12. December 2017 19:41
Choose language
Sponsored by

Welcome to GRDM

2009-01-02 22:01
The GRDM, the Grass Roots Democracy Machine is a software development project designed to create a voting system. The aim is to implement the basic goals of anonymous and comprehensible votings into software.
> > > Read more

Support the GRDM project

2009-01-02 23:15
There are two possibillities to supports the project. If you want to help please write a mail to the address listed in the menu.
  • Developer: To become a developer for GRDM you need very good skills in PHP and MySQL. Your job will be to make a code review of the code found in the SVN and check for security issues, HTML rendering or general errors. There are still some functions unimplemented and you are welcome to help implementing them.
  • Testers: Your your as a tester is to check the functionality of GRDM from the view of an user. Please be as much elaborate as possible if you want to report errors. Your bug report should contain:
    1. Complete description of the error
    2. Where is the error visible?
    3. What are the error messages?
    4. How is the error reproducable?

Demo server

2009-01-02 23:09
There is a demo server at where you can have an overview about the currenz functionality of GDRM. To play with administror rights use
  • Username: admin
  • Password: test

2009-01-02 23:07
To make your start with the GRDM as easy as possible the following sequence will give you an example for the complete voting procedure from the creation of the voting question to the reporting of the voting.



The following offensive decision is used as an example for the voting squence:
  1. A decider fills out the web formular and creates a yes-no-question (learn more under Decision question types) with the question text "Should it be allowed to open till 10pm?". He chooses "Bundesentscheidung", (learn more under Decision spheres) and preparation time of two weeks that is used to decide if the question should be accepted or dropped. Then he adds background information about his motivations to add his decision question and why it's an important topic for him.
  2. The users can now discuss in the forums about the topic and choose pro and contra arguments (learn more under Informations about decision questions). The three highest rated pro and contra arguments are shown at the final voting page.
  3. In the following two weeks 58% of the users decide that the topic should be pushed to a voting.
  4. The whole time the forum is used to discuss and select the 3 pro and 3 contra arguments.
  5. After the expiration of the time limit the deciders decide about the offensive question.
  6. The votings are put into a voting list to allow a checking of the result (learn more under Making the voting verifiable).
  7. When the voting time is over the voting list is made public to allow all to re-check the result of the voting (learn more under Presentation of the voting result).

Decision question types

Because not all questions can be answered by "Yes" or "No" it is essential to have more different question types:
  1. Yes/No/Abstention from voting/Void: The decider votes for the topic of the question ("Yes"), decides to be not for or against it ("Abstention from voting"), doesn't make a valid voting ("Void") or decides to vote against it ("No"). All users have one vote each for each question.
  2. Selection: The decider cooses items from a list and votes for it ("Yes"), decides to be not for or against it ("Abstention from voting"), doesn't make a valid voting ("Void") or decides to vote against it ("No"). The decider has as much votes as there are items.
  3. Weighted selection: The choosen items are sorted by the decider by his personal preferences. (E.g. 1st item C, 2nd item A, 3rd item B). The decider puts important items to the top of the list and decides for all of the items if he wants to vote for it ("Yes"), to be not for or against it ("Abstention from voting"), doesn't want to make a valid voting ("Void") or decides to vote against them ("No"). The decider has as much votes as there are items.
  4. Redistribution: Goods (e.g. money) with a fixed amount are distributed on differents ressorts (e.g. schools, highways etc.). The distribution can be done by procentual or absolute values. The decider has as much votes as there are items.

Decision spheres

The decision spheres are designed to match the voting spheres used in Germany. An adaption to the voting rules of other countries should be possible easyly. The GDRM diffentiated the decision spheres:
  1. Kreisentscheidung
  2. Landesentscheidung
  3. Bundesentscheidung
A decider has to be member of the decision sphere to be able to vote for decision questions belonging to a choosen sphere.

Informations about decision questions

It is essential to give the deciders a quick informational overview about the topics of the decision questions. These informations are put together by the users. This is done in the forums. Each user can vote about forum threads that contain pro and contra arguments and help making these arguments getting visible on the voting page. The three most choosen pro and contra arguments are shown there.

Making the voting verifiable

The decider marks his vote with a random key word and puts it in the voting list. The voting list only contains these key words to make it impossible to make a connection between the voting and the user. On the other hand, the decider sees his voting with the key word on the list and knows that his voting was registered correctly. The voting list is made public after the voting to allow all to recalculate the result of the voting.

Presentation of the voting result

The result of the voting is presented on the page of done votings. The results are displayed different by type:
  • Yes/No/Abstention from voting/Void: The amount of the Yes/No/Abstention from voting/Void votes.
  • Selection: The amount of votes for all items.
  • Weighted selection: The amount of votes for all items and the coosen order.
  • Redistribution: The procedual midpoints for the assignments to the different ressorts.

Software dependencies

GRDM is developed on Debian Linux and uses functions of the following softwar components:
  • Debian Linux
  • Apache 2.x Webserver
  • MySQL Datenbank
  • PHP 5.x
  • GPG
<< Previous 5 articles
based on devalcms