Viewing a single comment thread. View all comments

5

dele_ted wrote

I actually recently finished a platform in Flask which is designed to help groups and communities make decisions without hierarchy. It's not hosted anywhere currently, but i can explain the way it works here. Of course this isn't the end-goal, it's just my original sketch for how things could work when an anarchist community needs to make decisions. The concept and platform is designed for physical communities, so it needs some adjustment to work online, but i think it's a good place to start, or at least a good inspiration for other solutions.

  • All members of the community can post "issues". Simple posts with a title and a body, which point out something they would like to be solved. An example could be a proposal to ban a certain community member.

  • When an issue is posted, it goes to phase one. There are three phases; when an issue has progressed through all three phases, it will have been solved, and the solution will have been either carried out or dismissed. Here's a short explanation of each phase:

  • Phase 1: A filtering process. Every member of the community can vote directly for the issues they feel are relevant. Members cannot downvote issues. When half (adjust if needed) of the community-members have voted on an issue, it progresses to phase 2. This way, important issues are solved faster than lesser important issues.

  • Phase 2: Time to solve the issue. Every member of the community can suggest solutions to the issue. Members can vote on the solution they like the most. After one day (again, adjust if needed), the solution with the most votes progresses to phase 3.

  • Phase 3: Achieving concensus. The solution sits here without doing anything for one day (adjust if needed). If nothing happens during this resting period, the solution is carried through. During this period, every member of the community (perhaps only members with a certain reputation when it comes to online communities, to avoid trolls and griefers) can place a "veto", much like in ancient Greece. For physical communities, users can place as many vetoes as they want; for online communities, every user should probably have a fixed amount of vetoes (i think two or three per month would be a good fit). When a solution is vetoed, the vetoing community member will have to give an acceptable reason for the veto, and all other members of the community will be able to see the reason given and by who the solution was vetoed. It is of course required that members of the community adapt the mindset of concensus decision-making: cut some here, give some there. Can't always have it exactly your way if we are to respect the opinions of every member of the community.

  • In the case of online communities, users could have the option to vote on banning another member from partaking in decision-making. This could be used to avoid trolls and such.

I'm of course happy to share the Python Flask source code if there's any interest, or even translate the system to English and get it online.

5

surreal wrote

yeah source code would be nice. can you put it on gitlab or similar? i could contribute some.

4

dele_ted wrote

Everything is in Danish, even comments, so i need to give it a fixer-upper first. The code is also pretty messy, there's some work to be done before i feel comfortable sharing it. I'll get to work on it if people here are interested!

4

surreal wrote

i could help you with testing/refactoring when you feel like sharing. i don't speak Danish but there is always google translate and well python speaks for itself :)

5

dele_ted wrote

Alright, it's on Github now. Everything was done in somewhat of a rush, so it's a minefield of confusion, but i think we can fix things up together. Have a look.

It's also hosted here, in Danish though. The version on Github is newer and has been translated to english. Feel free to play around with it.

I'd like to share the project somewhere on Raddle, which forum do you think would be best suited?

3

surreal wrote

nice! thank you. I will need some time to grasp the concept. I may make a pull request this weekend. I will need to setup mysql on linux, except if MariaDB works with the flask msql lib.

/f/freeasinfreedom is pretty active on software stuff

3

dele_ted wrote

Sure. I'll add a .sql file that you can import with the database configuration later today.

3

dele_ted wrote

That'd be cool. The MySQL database is in english and as far as i remember variable names and so on are english too, the only translation to be done is on the templates and code commentary. I'll translate tommorow or the day after tommorow and get it on Gitlab the same day. Will send you a PM when it's online, and share here or in a new post somewhere.

Be warned though, the code is at the point where it works without bugs, but haven't been tested thoroughly. Lots of messy code, lots of security issues, lots of optimization issues etc.

I'm happy to see some interest in the project!