Horizontal organizations challenge: domain names

You can’t really solve the problem in all cases. Fundamentally, this is a problem of distributed consensus among N nodes (with N being either “the whole world”, or “the members of the project”).

And while there is solution for consensus when there is a majority who agree (eg, a way to decide), there isn’t if there is no majority (as it seems there is a need for 2/3 of the nodes to agree on anything, if I read the theory behind the Byzantine General problem ).

So no matter what, there is always a risk of not reaching a consensus (at least in a free software project).

So in the end, what is needed is to make sure that no one can make a unilateral decision, which requires a bigger community and a lot of bureaucratic process. That’s a rather heavy trade-off, especially since UNIX (and so most servers based on UNIX-like system) have a default model of “root can do everything”.

Or indeed, if the goal is just to raise the bus factor, Google do regular tests by simulating failures (search for DiRT on the web). So for example, pretend to see what happen if @dachary go rogue (or more likely missing, cause I think you can’t really avoid a admin going rogue expect by having a bigger infra and separate teams), and how can the project survive. And then, debrief and say “ok, we found that access to X for Y is missing”.

1 Like