Skip to content

Commit 0797353

Browse files
authored
Merge pull request #41 from Relequestual/adr/coc
Add ADR for Code of Conduct
2 parents c6e6368 + 1da393f commit 0797353

File tree

1 file changed

+77
-0
lines changed

1 file changed

+77
-0
lines changed
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Expectations of community are clearly explained by a code of conduct
2+
3+
* Status: accepted
4+
* Deciders: @relequestual, @Julian, @jdesrosiers, @karenetheridge
5+
* Date: 2021-08-26
6+
7+
## Context and Problem Statement
8+
9+
To the best of my knowledge, JSON Schema has never formally had a Code of Conduct (CoC).
10+
11+
I personally recall a few instances where a CoC may have been useful.
12+
13+
We want to make people feel welcome, and so should have a formal CoC.
14+
15+
## Decision Drivers
16+
17+
* We have had a few instances where it would have been useful to have a CoC
18+
* Assuming we continue to join the OpenJS Foundation, they would expect us to have a CoC
19+
* Not having a CoC may make our community less welcoming
20+
21+
## Considered Options
22+
23+
* Contributor Covenant
24+
* IETF BCP 54
25+
* Roll our own
26+
* Combination of Contributor Covenant and IETF BCP 54
27+
28+
## Decision Outcome
29+
30+
We decided to use the Contributor Covenant in conjunction with IETF BCP 54.
31+
32+
BCP 54 defines some specifics on how we should interact with each other which the Contributor Covenant does not.
33+
34+
For example: "We dispute ideas by using reasoned argument rather than through intimidation or personal attack."
35+
36+
Further, should we choose to pursue publication throught the IETF, we would remain compatible in a sense.
37+
38+
## Pros and Cons of the Options <!-- optional -->
39+
40+
### Contributor Covenant
41+
42+
The Contributor Covenant is well established and regarded as a de-facto Code of Conduct option for open source projects.
43+
44+
* Good, because it is well known and recognised as a good and useful Code of Conduct base
45+
* Good, because the familiarty of it from other communities will make people feel more comfortable
46+
* Good, because we do not have unqiue needs as a community
47+
* Good, because we can discuss situations or get help from other projects/orgs (Such as OpenJSF) that use the same Code of Conduct
48+
* Good, because it can be modified / added to, and used as just a base
49+
50+
### BCP 54 / RFC 7154
51+
52+
BCP 54 is an Internet Best Current Practice memo document, used by all new IETF based RFCs and publications.
53+
It outlines behavioural and conduct expectations for individual contributors, including the expectation to actually contribute.
54+
55+
* Good, because we want to operate using general consensus by understanding others
56+
* Good, because it considers the type of work we are producing
57+
* Bad, because it doesn't reflect our organisational situation (We aren't working under an IETF Chair for example)
58+
* Bad, because consequences don't reflect our projects operations
59+
60+
### Roll our own
61+
62+
* Good, because it would be exactly what we think we want
63+
* Bad, because it would likely not be what we actually need
64+
* Bad, because none of our core contributors have experience writing a Code of Conduct
65+
66+
### Combination of Contributor Covenant and IETF BCP 54
67+
68+
* Good, because we can pick the parts from BCP 54 that are applicable to our organization
69+
* Good, because we have clear enforcement for conduct which covers the whole Code of Conduct
70+
71+
## Links
72+
73+
* Discussion: [We should adopt a Code of Conduct. Let's start with Contributor Covenant #2](https://github.com/json-schema-org/community/discussions/2)
74+
* Issue: [Adopt a Code of Conduct for JSON Schema #26](https://github.com/json-schema-org/community/issues/26)
75+
* Pull Request [Add ADR for Code of Conduct](https://github.com/json-schema-org/community/pull/41)
76+
* https://www.contributor-covenant.org
77+
* [BCP54 / RFC7154](https://www.rfc-editor.org/rfc/rfc7154)

0 commit comments

Comments
 (0)