| But how does this work in practice? I could (theoretically) create 5000 github accounts and have full control over the repo in one month [1]. This means I could create a pull requests which gives my main account absolute voting rights unless other real people try to organize over 5000 accounts to vote no. While this can happen in the real world as well (just look at Turkey), it is quite hard to achieve (you first need enough people to support you that you can gain such power). In the internet, creating accounts is pretty easy and unless github flags my accounts (which can always be circumvented), there is no real democracy just like with Bitcoin when the most determined/resourceful person has the most power. That's because they either managed to create enough accounts, or in bitcoins case, have custom hardware to control the creation of bitcoins as well as (almost) all transactions. While the idea is pretty interesting to do that automatically, a better approach IMO is to have humans decide what to implement and what not because humans tend to be able to spot fake votes when there is no meaningful discussion why something should be changed. And thanks to the wonderful nature of free software, if a maintainer starts to prioritize their own agenda over the community, the community tends to just fork the repo and do their own thing. This is the best example of democracy I have seen so far. People are able to discuses what they want to do and if they fell their interests are no longer supported, they can just do their own and bring other over if they feel the same way. [1]: the current minimum age is 1 month according to https://github.com/chaosbot/chaos/blob/master/settings.py#L3... |
Well, this is an experiment.
But if you think you have a better way of having a democratic piece of software, you're welcome to open a PR!
For instance, you could add a veto power - any account of a certain age can vote, but if enough accounts weighted socially react with, e.g., the "Hooray" emoticon, that counts as a veto, and the PR could be closed.