Skip to content

Latest commit

 

History

History
121 lines (85 loc) · 6.43 KB

File metadata and controls

121 lines (85 loc) · 6.43 KB

Project has formal governance through consensus based Technical Steering Committee

  • 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

Context and Problem Statement

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.

Decision Drivers

  • 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

Considered Options

  • Voting
  • Unanimous Consensus
  • General/rough consensus
  • Lazy consensus / Do-ocracy
  • Benevolent Dictator (for life)

Decision Outcome

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.

Positive Consequences

  • 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

Negative Consequences

  • 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

Pros and Cons of the Options

Voting

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

Unanimous Consensus

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/

General/rough consensus

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

Lazy consensus / Do-ocracy

  • 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

Benevolent Dictator (for life)

  • 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

Links

Useful resources in helping make this decision