|
| 1 | +# Project has formal governance through consensus based Technical Steering Committee |
| 2 | + |
| 3 | +* Status: proposed |
| 4 | +* Deciders: @relequestual, @awwright, @gregsdennis, @Julian, @jdesrosiers, @karenetheridge |
| 5 | +* Date: 2023-03-30 |
| 6 | + |
| 7 | +Story: In order to fully onboard with the OpenJS Foundation, and in order to have proper governance, we should have a charter: https://github.com/json-schema-org/community/issues/274 |
| 8 | + |
| 9 | +## Context and Problem Statement |
| 10 | + |
| 11 | +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. |
| 12 | + |
| 13 | +Lack of clear and document 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. |
| 14 | +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. |
| 15 | +Having a clear and documented governance model will allow us to make clear progress with an unambiguous process defined. |
| 16 | + |
| 17 | +When we joined the OpenJS Foundation, we committed to creating a charter. They provide a template for use, which several projects have used. We should use it as our basis, but we may also want to consider additional elements or sections. |
| 18 | + |
| 19 | +## Decision Drivers <!-- optional --> |
| 20 | + |
| 21 | +- JSON Schema committed to forming a governance model as part of a charter when we joined the OpenJS Foundation |
| 22 | +- It has sometimes been difficult to reach decisions on tricky topics, with no clear way to resolve divisive issues |
| 23 | +- Undocumented process can lead to an imbalance of power which is undesirable |
| 24 | +- Defining a process can help make sure everyone has space to be heard |
| 25 | +- Defining expectations up front can help everyone know what the next steps are and avoid decision stagnation |
| 26 | +- Gives internal and external confidence of long term viability |
| 27 | + |
| 28 | +## Considered Options |
| 29 | + |
| 30 | +- Voting |
| 31 | +- Unanimous Consensus |
| 32 | +- General/rough consensus |
| 33 | +- Lazy consensus / Do-ocracy |
| 34 | +- Benevolent Dictator (for life) |
| 35 | + |
| 36 | +## Decision Outcome |
| 37 | + |
| 38 | +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](https://www.ic.org/busting-the-myth-that-consensus-with-unanimity-is-good-for-communities/), 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". |
| 39 | + |
| 40 | +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. |
| 41 | + |
| 42 | +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. |
| 43 | + |
| 44 | +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. |
| 45 | + |
| 46 | +### Positive Consequences <!-- optional --> |
| 47 | + |
| 48 | +- Everyone has the opportunity to be heard and understood |
| 49 | +- Shares power between all members fairly |
| 50 | +- More likely to find a solution that is acceptable to all involved in resolving a given issue |
| 51 | +- Make sure that decisions aren't made against the will of anyone involved |
| 52 | +- Members are likely to assist or help in enacting the resolution |
| 53 | +- Builds a stronger sense of trust |
| 54 | +- Voting as a fall-back helps avoid eternal blocking |
| 55 | + |
| 56 | +### Negative Consequences <!-- optional --> |
| 57 | + |
| 58 | +- Consensus can be slower than voting |
| 59 | +- Still provides some additional powers to the facilitating Chair/s |
| 60 | +- May make some types of decisions harder |
| 61 | +- Potential for "Groupthink" |
| 62 | +- Requires continual active engagement |
| 63 | +- May make bad decisions |
| 64 | +- Blocking can be abused against individuals |
| 65 | + |
| 66 | +## Pros and Cons of the Options <!-- optional --> |
| 67 | + |
| 68 | +### Voting |
| 69 | + |
| 70 | +Voting with a majority rule. |
| 71 | + |
| 72 | +- Good, because it enables decisions to be made clearly and quickly |
| 73 | +- Good, because it gives everyone equal power |
| 74 | +- Bad, because it may not allow individuals to be fully heard |
| 75 | +- Bad, because decisions can be divisive |
| 76 | + |
| 77 | +### Unanimous Consensus |
| 78 | + |
| 79 | +Consensus where everyone must be in agreement |
| 80 | + |
| 81 | +- Good, because everyone consents to the solution |
| 82 | +- Bad, because it can create a fear of proposing ideas |
| 83 | + |
| 84 | +See https://www.ic.org/busting-the-myth-that-consensus-with-unanimity-is-good-for-communities/ |
| 85 | + |
| 86 | +### General/rough consensus |
| 87 | + |
| 88 | +As used by the IETF |
| 89 | + |
| 90 | +- Good, because it allows progress without requiring all to agree |
| 91 | +- Good, because it can be faster than other consensus based methods |
| 92 | +- Good, because the chairperson can make judgement calls |
| 93 | +- Good, because it allows anonymity, encouraging people to vocalise concerns without fear of retribution or judgement |
| 94 | +- Bad, because it's hard to do not in-person / requires regular in-person meetings to be effective |
| 95 | +- Bad, because it can be subjective |
| 96 | +- Bad, because it puts a lot of power in the chairperson |
| 97 | + |
| 98 | +### Lazy consensus / Do-ocracy |
| 99 | + |
| 100 | +- Good, because it allows progress without requiring everyone to be involved |
| 101 | +- Good, because it enables faster progress |
| 102 | +- Good, because it can foster a sense of trust and community |
| 103 | +- Good, because it empowers do-ers |
| 104 | +- Bad, because it is possible for people to miss things |
| 105 | +- Bad, because it assumes silence is consent, which can result in people less likely to want to raise concerns |
| 106 | +- Bad, because it creates a power imbalance where people who have more time or who are more influential can push decisions through |
| 107 | + |
| 108 | +### Benevolent Dictator (for life) |
| 109 | + |
| 110 | +- Good, because it enables very fast progress |
| 111 | +- Good, because it can help to have a clear and consistent vision |
| 112 | +- Good, because there's clear accountability, which might encourage a BDFL to act in the best interests of the project |
| 113 | +- Bad, because it prevents diverse opinions or ideas |
| 114 | +- Bad, because concentrated power can be abused |
| 115 | +- Bad, because it discourages participation from the community |
| 116 | + |
| 117 | +## Links <!-- optional --> |
| 118 | + |
| 119 | +Useful resources in helping make this decision |
| 120 | + |
| 121 | +- https://seedsforchange.org.uk/consensus |
| 122 | +- https://www.ic.org/busting-the-myth-that-consensus-with-unanimity-is-good-for-communities |
| 123 | +- https://copim.pubpub.org/towards-better-practices-for-the-community-governance-of-open-infrastructures |
0 commit comments