Democratic File Revision Control
Welcome to the technical demonstration of democratic software and product development as well as broad democratizing of collaborative knowledge management. This demonstration setup provides the following components:
- an instance of LiquidFeedback, which has been extended with the ability to control repositories,
- Git repositories served by GitWeb and git-http-backend,
- Mercurial repositories served by HgWeb, and
- a Wiki on Fruits, demonstrating the wiki functionality.
The accreditation to the demonstration system is managed by Interaktive Demokratie e.V. Please contact them by email if you are interested in further studying this demonstration setup as an active participant.
The technology needed for democratically managing repositories
will be integrated into LiquidFeedback soon has been integrated into LiquidFeedback 3.1. More information about this new technology is available at the following official sources:
- Press release "Democracy conquers software and product development and knowledge data base management" by Interaktive Demokratie e.V.
- Scientific essay "Democratic File Revision Control with LiquidFeedback" by Björn Swierczek, published in Issue 4 of The Liquid Democracy Journal on electronic participation, collective moderation, and voting systems. For an abstract of the article, see below.
In this paper, it is shown how a project team can democratically decide on incorporating changes of files held in a repository managed by a revision control system by extending LiquidFeedback and its proposition development and decision making process.
LiquidFeedback [LF] is an open source software for proposition development and decision making published by the Public Software Group e. V., Berlin, Germany [PSG]. [PLF, p.13] Since 2010 the software LiquidFeedback is used by political parties, non-governmental organizations, regional governments, and companies for opinion formation, binding decision making, and citizen petitions.
A revision control system is the standard way to track changes of the source code of a computer software developed by multiple authors. This technique is also used for many other purposes, like tracking changes to documents, books, datasets, product data, or any other kind of information. Different revision control systems are availabe on the market and used widely. Often used systems are Git [Git], Mercurial [Mercurial], and Subversion [Subversion]. Other software is incorporating aspects of revision control systems to track changes while providing other functionalities, e.g. Wiki systems like MediaWiki [MediaWiki] used by Wikipedia [Wikipedia].
But these systems lack support for collective decisions on incorporating changesets. In most implementations, either a user has write privileges or not. Therefore, in larger projects, especially projects with more than a few dozen active contributors, only a small number of people regularly have final control over the files held in the repository. They are moderating the process of applying changes and finally deciding if a change set will be included or not.
To overcome these limitations and to get rid of the need of priviliged moderators, it is shown that it is possible to extend and use LiquidFeedback in such a way that the process of changing the files managed by a revision control system can be organized collectively by the members of the project team using LiquidFeedback's proposition development and decision making process. Furthermore, it will be shown that these concepts can also be adopted by many other systems which are utilizing revision control systems.
Through implementing a proof of concept, it is demonstrated that it is technically possible to organize democratic decision making on incorporating changes to files held in a repository. Therefore, the decision if a project makes use of privileged moderators or implements a democratic decision process is not a technical question anymore, but an organizational or political one. This opens new application fields for democratic processes in the context of revision control and at the same time new application fields for revision control systems in the context of democratic processes. It is also possible to create completely new application fields by using the synergistic effects created by utilizing LiquidFeedback with revision control systems.
The full article "Democratic File Revision Control with LiquidFeedback" by Björn Swierczek is published in Issue 4 of The Liquid Democracy Journal on electronic participation, collective moderation, and voting systems.
[Git] The “Git” ditributed revision control system. Website https://git-scm.com/ (interactive)
[GitWeb] Software component “GitWeb” of the ‘Git’ revision control system, see https://git-scm.com/book/en/v1/Git-on-the-Server-GitWeb
[git-http-backend] Software component “git-http-backend” of the ‘Git’ revision control system, see http://git-scm.com/docs/git-http-backend
[HgWeb] Software component “HgWeb” of the ‘Mercurial’ revision control system, see https://mercurial.selenic.com/wiki/PublishingRepositories?action=recall&rev=192#hgweb_-_introduction_and_prerequisites
[LF] Project page of “LiquidFeedback” at http://www.public-software-group.org/liquid_feedback
[MediaWiki] The “MediaWiki” wiki system, written in PHP. Website https://www.mediawiki.org/wiki/MediaWiki (interactive)
[Mercurial] The “Mercurial” distributed source control management system. Website https://mercurial.selenic.com/ (interactive)
[PSG] Association “Public Software Group e. V.”, Berlin, Germany, publisher and copyright holder of LiquidFeedback. Website http://www.public-software-group.org/ (interactive)
[Subversion] The “Apache Subversion” version control system. Website http://subversion.apache.org/ (interactive)
[Wikipedia] The free online-encyclopedia “Wikipedia”. Website https://www.wikipedia.org/ (interactive)