As a security-minded guy, I’ve been thinking about decentralized governance a lot, particularly the social edge-cases that can lead to disaster. DAOs are fairly new, but many other types of open-source projects have been struggling with the same problem for quite a while, and I think there’s a lot we can learn.
Of all the nuggets of governance insight I’ve come across, one from the Rust team sticks with me as one of the most pithy and important:
No New Rationale : decisions must be made only on the basis of rationale already debated in public (to a steady state).
The full story behind this idea is documented in an excellent blog post on listening and trust. To summarize, a core group of Rust contributors made a decision between two technical approaches. Many members of the community felt strongly on both sides, but the core group made a decision on the basis of a rationale that had only been discussed amongst themselves, thereby making other community members (rightly) feel powerless and disenfranchised.
This happens surprisingly often, even though the problem and its solution is not often documented as well. For example, the same phenomenon can be seen in action in the story of Uniswap’s recent woes, which were enabled in no small part because of the disillusionment and apathy of minority-stake community members who felt excluded from the governance process. (And another instance of a violation of this rule disillusioned me for years about contributing to the Mozilla community, though I had no idea what was happening at the time.)
Because this is one of the most common – and deadly – failure modes of the sort of emergent, self-organizing social order that is so essential to open-source projects, I’d like to suggest that we all internalize the “No New Rationale” rule as one of our social norms, that we all keep it in mind and hold ourselves and others to its standard. It is by its nature a social rule, and so it must be enforced informally, but any DAO proposal which attempts to flout it should expect to receive no community support.
I like the concept of what you are talking about here - is the idea basically that anything that goes to a formal proposal should be transparently talked about in public before the vote so that people can read and understand the rationale that went into it or is there some nuance past that I am missing?
Not just formal DAO proposals specifically, but every decision that’s made on behalf of the DAO. Decisions are required for projects to function, and sometimes they’ll have to be made by community members in positions of trust, like workstream leaders, admins, or security engineers. Sometimes those decisions might be controversial, and that’s OK – but they should never be made for reasons that come as a surprise to anyone, or that hasn’t been addressed publicly.
The core problem the No New Rationale rule tries to address was articulated well by one of the aggrieved Rust contributors quoted in the blog post above:
Importantly though: There was almost zero participation from members of the core team in the public discussion thread. That’s what I most think is not right. When anyone else has an opinion on an RFC that they want to express, whether in support or opposition, what they have to do is to lay out their reasoning as a comment in the discussion thread. Then other people can read, be swayed by it, or not, respond to it, and a productive discussion may ensue. Why is it a good idea for members of the core team to be entitled to skip this, to keep their reasoning and discussions to themselves, and only reveal it together with their final decision?
(I also want to make it absolutely clear that I’m proposing this as a proactive measure, and I don’t any evidence of this type of thing in our community. This kind of social problem requires intentionality to avoid.)
I hear you and I think I generally agree, though there will be times when miscommunication/disagreements over this type of thing happen and I think its important to give community members the benefit of the doubt until there is some evidence they don’t deserve it.
So I like the goal of having the intention to try to be as transparent and open as possible when the community is making decisions or having discussions about anything, but also be aware that there is always a chance some group of people feel “left out” of a decision even when honest efforts are made.
I agree, and I consider “Assume Good Faith” to be just as important a social norm for an effective and healthy community.
Wholeheartedly agree 1f44f communication is key. It’s one thing to keep everybody aligned and on the same page when you work full time in an office, but doing so in a decentralized fashion is next level. “No new rationale” and “assume good faith” are sound practices we should embrace in our culture and standards we should collectively uphold.
And of course Rule #1 = have fun!
Not just formal DAO proposals specifically, but every decision that’s made on behalf of the DAO
Trying to understand this more. Let’s take a non-engineering-related function. If the DAO got approval to print t-shirts, should the color and design on the shirt be completely public. Something even that small? Generally, if you give something a universal attribute like “every decision”, when you start to peel back the onion, you might find exceptions. Or is this a “universal” type proposal