Skip to content

Commit 11a370a

Browse files
committed
Add details to ADR for consensus based TSC
1 parent 5616b0c commit 11a370a

File tree

1 file changed

+123
-0
lines changed

1 file changed

+123
-0
lines changed
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
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

Comments
 (0)