Can you imagine a project without maintainer?

Let's explore Democratic Coding

Register here

What is this about?What is my part?Why is it important?

Funded by
In collaboration with

March

Experiment start

≥ 2 hrs

Time requirement

Javascript

Language

10-27

Participants

The Evocracy decision-making protocol for coding

Deliberative decision-making

Evocracy is a method to make decisions in large groups efficiently. It follows a democratic and deliberative approach. However, the approach is not only applicable to text-based decisions, but also to code.

Democratic coding

In this experiment, a group of developers is coding collaboratively following the Evocracy protocol. This experiment aims to pave the way for innovation in decentralized governance of open-source and web3 projects.

A life-changing event

Aside of the valuable purpose of this experiment, it should also be fun and insightful for all participants, changing your way of thinking and adding a novel collaborative coding experience.

The procedure of the experiment

Proposals

Following the Evocracy protocol, each participant has 2 weeks time to suggest an individual code solution to the task. Your code doesn't need to be a fully functioning app. Depending on your coding preferences, i.e. frontend or backend, you can focus on particular aspects, i.e. suggesting only a user interface or only a backend logic.

Groupwork

Next, all participants are assigned to groups of three. Each group uses Mattermost and Git, and optionally collaborative live editing and virtual meetings to agree on a common solution, integrating all individual approaches. Ideally, groups reach a first working prototype application within 3 weeks. Within each group, members elect one representative.

Solution

Representatives are again assigned to groups. Approaches are integrated in a new repository and, once more, a representative is elected in each group. This process repeats until a final group, and a final application, is left.

Evaluation

After the final group has finished, all participants can read and try the final code and vote on the result, i.e. if they approve or reject the collaborative solution. After the experiment, you receive a follow up survey and interviews will be conducted with a sample of the participants.

Publication

The final application will be published open source on Gitlab under MIT licence. All participants are thankfully mentioned, on request anonymously. The final repository will be cited in a scientific publication.

The coding challenge

The task: A P2P poll

We're building a simple P2P voting app. The app provides a single poll, where users can add options and vote on them. The whole application should work fully peer-to-peer between clients. For this purpose it is suggested to make use of CRDT implementations like Yjs or Automerge.

Let's have fun

You are free to add more features to the application. These might make the user experience more exciting, fun or creative. We want to enjoy the coding experience together and extend our coding skills.

Time requirement

The expected time requirement depends on your engagement. A minimum of about 2 hours is assumed. 1 hour proposing initial code and 1 hour for at least one meeting. If you are elected as representative or want to engage more, the time effort might increase substantially, however, it's in your control.

Vibe coding

AI assisted coding is allowed, however, your code needs to be clean and you need to be able to explain your code to others.

The vision: A Web3 democracy

In Web3 governance, we can identify two main concepts mostly described as governance by code and governance of code. The former describes that smart contracts can define governance logic, thereby determining human interaction and behavior. The latter describes the processes behind developing, maintaining, and updating the decentralized system. Notably, these two processes are distinct. In addition, the governance of blockchain systems is often considerably centralized and dominated by a few developers, operators, and token holders.

Evocracy enables an algorithmically guided and yet democratic aggregation of proposals. Users can bring up topics, deliberate and take decisions in a decentralized manner. In addition, the same method can be used for users to bring up issues with the infrastructure and collectively develop code solutions from within the system. After a vote-based evaluation of the final code solution, it could automatically be deployed.

With this, the code of the blockchain system would become fully democratic, resulting in a self-updating closed-loop system where users not only democratically decide on content-related outcomes but even on the codebase and infrastructure, and therefore, the governance system itself. This meta-governance system would potentially not only open governance of blockchain systems to much broader communities but also fully overcome centralized authorities, either direct or indirect.