- Status: proposed
- Deciders: @relequestual, @awwright, @gregsdennis, @Julian, @jdesrosiers, @karenetheridge
- Date: 2023-03-30
Story:In order to have proper governance, we should have a charter: #274
It's essential that both the maintainers and community can see a clear and coherent statement about the JSON Schema project and its intentions. Currently it is not clear, and may be hard to determine.
Lack of clear and documented governance makes it very difficult in some situations to move some issues forward. The current "process" is mostly undocumented and ad-hoc, with loose collective will. As the number of people who can work on this full or part time grows, the organizational needs will evolve, requiring governance for long term sustainability. Having a clear and documented governance model will allow us to make clear progress with an unambiguous process defined.
- JSON Schema committed to forming a governance model in effort to elevate and mature our organization
- It has sometimes been difficult to reach decisions on tricky topics, with no clear way to resolve divisive issues
- Undocumented process can lead to an imbalance of power which is undesirable
- Defining a process can help make sure everyone has space to be heard
- Defining expectations up front can help everyone know what the next steps are and avoid decision stagnation
- Gives internal and external confidence of long term viability
- Voting
- Unanimous Consensus
- General/rough consensus
- Lazy consensus / Do-ocracy
- Benevolent Dictator (for life)
We settled on Consensus and Voting, with a preference for consensus. Ideally we would like to have unanimous consensus, however reflecting on how requiring that might not always be a good thing, we landed on a variation of what's known as the N Street Consensus Method. This wasn't originally one of the consensus models proposed, but was discovered during the process and found in favour over general or nondescript "consensus".
In consensus based decision making, any individual can signal "block", which works like a veto when voting. It is a signal that the consensus process has failed, or the conditions for forming consensus are not as good as they could be. Given any member may signal a "block", this may give individual members disproportional power, and blocks may be used inappropriately, such as for personal reasons.
Ideally, major or critical reservations should have been worked out as part of the consensus building process. However, it is possible that a presented solution may have had something untenable added in error. We also define using aspects of the N Street based consensus method for resolving blocks, requiring that a blocker commit to trying to find a new or amended solution. There is a fallback of voting should resolving a block not be possible.
It's recognised that some decision making may not be suitable for using the consensus approach, or voting may be preferable, and voting is provided as a rare fall-back solution.
- Everyone has the opportunity to be heard and understood
- Shares power between all members fairly
- More likely to find a solution that is acceptable to all involved in resolving a given issue
- Make sure that decisions aren't made against the will of anyone involved
- Members are likely to assist or help in enacting the resolution
- Builds a stronger sense of trust
- Voting as a fall-back helps avoid eternal blocking
- Consensus can be slower than voting
- Still provides some additional powers to the facilitating Chair/s
- May make some types of decisions harder
- Potential for "Groupthink"
- Requires continual active engagement
- May make bad decisions
- Blocking can be abused against individuals
Voting with a majority rule.
- Good, because it enables decisions to be made clearly and quickly
- Good, because it gives everyone equal power
- Bad, because it may not allow individuals to be fully heard
- Bad, because decisions can be divisive
Consensus where everyone must be in agreement
- Good, because everyone consents to the solution
- Bad, because it can create a fear of proposing ideas
See https://www.ic.org/busting-the-myth-that-consensus-with-unanimity-is-good-for-communities/
As used by the IETF
- Good, because it allows progress without requiring all to agree
- Good, because it can be faster than other consensus based methods
- Good, because the chairperson can make judgement calls
- Good, because it allows anonymity, encouraging people to vocalise concerns without fear of retribution or judgement
- Bad, because it's hard to do not in-person / requires regular in-person meetings to be effective
- Bad, because it can be subjective
- Bad, because it puts a lot of power in the chairperson
- Good, because it allows progress without requiring everyone to be involved
- Good, because it enables faster progress
- Good, because it can foster a sense of trust and community
- Good, because it empowers do-ers
- Bad, because it is possible for people to miss things
- Bad, because it assumes silence is consent, which can result in people less likely to want to raise concerns
- Bad, because it creates a power imbalance where people who have more time or who are more influential can push decisions through
- Good, because it enables very fast progress
- Good, because it can help to have a clear and consistent vision
- Good, because there's clear accountability, which might encourage a BDFL to act in the best interests of the project
- Bad, because it prevents diverse opinions or ideas
- Bad, because concentrated power can be abused
- Bad, because it discourages participation from the community
Useful resources in helping make this decision