Skip to content

Commit 13f78ba

Browse files
Create CODE_OF_CONDUCT.md
Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
1 parent 1ce8367 commit 13f78ba

File tree

1 file changed

+327
-0
lines changed

1 file changed

+327
-0
lines changed

CODE_OF_CONDUCT.md

Lines changed: 327 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,327 @@
1+
# Code of Conduct
2+
3+
<!--
4+
============================================================================
5+
TEMPLATE INSTRUCTIONS (delete this block before publishing)
6+
============================================================================
7+
Replace all {{PLACEHOLDER}} values:
8+
{{PROJECT_NAME}} - Your project name
9+
{{OWNER}} - GitHub/GitLab username or org
10+
{{REPO}} - Repository name
11+
{{CONDUCT_EMAIL}} - Email for conduct reports
12+
{{CONDUCT_TEAM}} - Name of conduct team/committee
13+
{{RESPONSE_TIME}} - Initial response SLA (e.g., 48 hours)
14+
{{CURRENT_YEAR}} - Current year
15+
16+
Review and customise:
17+
- Adjust enforcement ladder for your community size
18+
- Add/remove examples based on your context
19+
- Ensure contact methods work for your team
20+
============================================================================
21+
-->
22+
23+
## Our Pledge
24+
25+
We as members, contributors, and leaders pledge to make participation in {{PROJECT_NAME}} a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, colour, religion, or sexual identity and orientation.
26+
27+
We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
28+
29+
We recognise that a thriving open source community requires **psychological safety** — an environment where people can contribute, ask questions, make mistakes, and learn without fear of ridicule or retaliation.
30+
31+
---
32+
33+
## Our Standards
34+
35+
### Expected Behaviour
36+
37+
The following behaviours contribute to a positive environment:
38+
39+
**Communication**
40+
- Using welcoming and inclusive language
41+
- Being respectful of differing viewpoints and experiences
42+
- Giving and gracefully accepting constructive feedback
43+
- Assuming good intent while addressing impact
44+
- Communicating clearly and patiently, especially with newcomers
45+
46+
**Collaboration**
47+
- Focusing on what is best for the community
48+
- Showing empathy and kindness toward other community members
49+
- Being collaborative rather than competitive
50+
- Mentoring and supporting less experienced contributors
51+
- Celebrating others' contributions and successes
52+
53+
**Professionalism**
54+
- Accepting responsibility and apologising to those affected by our mistakes
55+
- Learning from the experience and avoiding repetition
56+
- Respecting others' time and attention
57+
- Staying on topic in project spaces
58+
- Following project guidelines and conventions
59+
60+
**Accessibility**
61+
- Using plain language and avoiding unnecessary jargon
62+
- Providing alt text for images and transcripts for audio/video
63+
- Being patient with those using assistive technologies
64+
- Accommodating different communication styles and needs
65+
- Recognising that not everyone communicates the same way
66+
67+
### Unacceptable Behaviour
68+
69+
The following behaviours are considered harassment and are unacceptable:
70+
71+
**Harassment**
72+
- The use of sexualised language or imagery, and sexual attention or advances of any kind
73+
- Trolling, insulting or derogatory comments, and personal or political attacks
74+
- Public or private harassment
75+
- Deliberate intimidation, stalking, or following (online or in-person)
76+
- Unwelcome physical contact or simulated physical contact (e.g., emoji)
77+
- Sustained disruption of talks, events, or online discussions
78+
79+
**Discrimination**
80+
- Discriminatory jokes and language
81+
- Posting or threatening to post others' personally identifying information ("doxing")
82+
- Advocating for, or encouraging, any of the above behaviour
83+
- Microaggressions — subtle, often unintentional, discriminatory comments or actions
84+
85+
**Professional Misconduct**
86+
- Publishing others' private information without explicit permission
87+
- Misrepresenting affiliation or contributions
88+
- Plagiarism or claiming credit for others' work
89+
- Retaliating against anyone who reports a Code of Conduct violation
90+
- Other conduct which could reasonably be considered inappropriate in a professional setting
91+
92+
### Grey Areas
93+
94+
Some situations require judgement. When uncertain:
95+
96+
- **Intent vs Impact**: Good intentions do not excuse harmful impact. Focus on making things right.
97+
- **Power Dynamics**: Those with more power (maintainers, employers, experienced contributors) must be especially mindful of their impact.
98+
- **Cultural Differences**: What's acceptable varies by culture. When in doubt, err on the side of caution and ask.
99+
- **Humour**: Jokes at others' expense are rarely funny to everyone. Punch up, not down.
100+
101+
---
102+
103+
## Scope
104+
105+
This Code of Conduct applies within all community spaces, including:
106+
107+
**Online Spaces**
108+
- Repository discussions, issues, and pull/merge requests
109+
- Project chat channels (Matrix, Discord, Slack, IRC)
110+
- Mailing lists and forums
111+
- Social media when representing the project
112+
- Video calls and virtual meetings
113+
114+
**In-Person Spaces**
115+
- Conferences, meetups, and events
116+
- Workshops and training sessions
117+
- Any gathering where you represent the project
118+
119+
**Representation**
120+
This Code of Conduct also applies when an individual is officially representing the community in public spaces. Examples include:
121+
122+
- Using an official project email address
123+
- Posting via an official social media account
124+
- Acting as an appointed representative at an event
125+
- Speaking on behalf of the project
126+
127+
---
128+
129+
## Enforcement
130+
131+
### Reporting
132+
133+
If you experience or witness unacceptable behaviour, or have any other concerns, please report it as soon as possible.
134+
135+
**How to Report**
136+
137+
| Method | Details | Best For |
138+
|--------|---------|----------|
139+
| **Email** | {{CONDUCT_EMAIL}} | Detailed reports, sensitive matters |
140+
| **Private Message** | Contact any maintainer directly | Quick questions, minor issues |
141+
| **Anonymous Form** | [Link to form if available] | When you need anonymity |
142+
143+
**What to Include**
144+
145+
- Your contact information (unless anonymous)
146+
- Names/usernames of those involved
147+
- Description of what happened
148+
- When and where it occurred
149+
- Any witnesses
150+
- Any supporting evidence (screenshots, links)
151+
- How you would like us to respond (if you have a preference)
152+
153+
**What Happens Next**
154+
155+
1. You will receive acknowledgment within **{{RESPONSE_TIME}}**
156+
2. The {{CONDUCT_TEAM}} will review the report
157+
3. We may ask for additional information
158+
4. We will determine appropriate action
159+
5. We will inform you of the outcome (respecting others' privacy)
160+
161+
### Confidentiality
162+
163+
All reports will be handled with discretion:
164+
165+
- Reporter identity is protected by default
166+
- Details are shared only with those who need to know
167+
- We will ask before naming you in any communication
168+
- Anonymous reports are accepted and investigated
169+
170+
### Conflicts of Interest
171+
172+
If a {{CONDUCT_TEAM}} member is involved in an incident:
173+
174+
- They will recuse themselves from the process
175+
- Another maintainer or external party will handle the report
176+
- We will disclose any potential conflicts
177+
178+
---
179+
180+
## Enforcement Guidelines
181+
182+
The {{CONDUCT_TEAM}} will follow these guidelines in determining consequences:
183+
184+
### 1. Correction
185+
186+
**Community Impact**: Use of inappropriate language or other behaviour deemed unprofessional or unwelcome.
187+
188+
**Consequence**: A private, written warning providing clarity around the nature of the violation and an explanation of why the behaviour was inappropriate. A public apology may be requested.
189+
190+
**Duration**: Immediate
191+
192+
### 2. Warning
193+
194+
**Community Impact**: A violation through a single incident or series of actions.
195+
196+
**Consequence**: A warning with consequences for continued behaviour. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.
197+
198+
**Duration**: 1-4 weeks
199+
200+
### 3. Temporary Ban
201+
202+
**Community Impact**: A serious violation of community standards, including sustained inappropriate behaviour.
203+
204+
**Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.
205+
206+
**Duration**: 1-6 months
207+
208+
### 4. Permanent Ban
209+
210+
**Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behaviour, harassment of an individual, or aggression toward or disparagement of classes of individuals.
211+
212+
**Consequence**: A permanent ban from any sort of public interaction within the community.
213+
214+
**Duration**: Permanent (with appeal rights after 12 months)
215+
216+
### Enforcement Across Perimeters
217+
218+
For contributors with elevated access (Perimeter 2 or 1):
219+
220+
| Level | Additional Consequence |
221+
|-------|----------------------|
222+
| Correction | Noted in contributor record |
223+
| Warning | Access privileges may be temporarily reduced |
224+
| Temporary Ban | Access reduced to Perimeter 3 for ban duration |
225+
| Permanent Ban | All access revoked |
226+
227+
---
228+
229+
## Appeals
230+
231+
If you believe an enforcement decision was made in error:
232+
233+
1. **Wait 7 days** after the decision (cooling-off period)
234+
2. **Email** {{CONDUCT_EMAIL}} with subject line "Appeal: [Original Report ID]"
235+
3. **Explain** why you believe the decision should be reconsidered
236+
4. **Provide** any new information not previously available
237+
238+
**Appeals Process**
239+
240+
- Appeals are reviewed by a different {{CONDUCT_TEAM}} member than the original
241+
- You will receive a response within 14 days
242+
- The appeals decision is final
243+
- You may only appeal once per incident
244+
245+
**Grounds for Appeal**
246+
247+
- Procedural errors in the original investigation
248+
- New evidence not previously available
249+
- Disproportionate response to the violation
250+
- Misunderstanding of facts
251+
252+
---
253+
254+
## Supporting Those Who Report
255+
256+
We are committed to supporting those who report violations:
257+
258+
**We Will**
259+
- Believe and take all reports seriously
260+
- Respect your privacy and confidentiality preferences
261+
- Keep you informed of progress (if you wish)
262+
- Take steps to protect you from retaliation
263+
- Provide resources if you need support
264+
265+
**We Will Not**
266+
- Require you to confront the person directly
267+
- Dismiss reports without investigation
268+
- Reveal your identity without consent
269+
- Tolerate retaliation against reporters
270+
- Rush you to make decisions
271+
272+
---
273+
274+
## Prevention
275+
276+
Beyond enforcement, we actively work to prevent issues:
277+
278+
**Onboarding**
279+
- All contributors are expected to read this Code of Conduct
280+
- Perimeter 2 applicants must confirm they've read and understood it
281+
- Maintainers receive additional training on enforcement
282+
283+
**Culture**
284+
- We model the behaviour we expect
285+
- We intervene early when we see potential issues
286+
- We thank people for positive contributions
287+
- We create opportunities for diverse voices
288+
289+
**Review**
290+
- This Code of Conduct is reviewed annually
291+
- Community feedback is welcomed
292+
- Changes are communicated clearly
293+
294+
---
295+
296+
## Acknowledgments
297+
298+
This Code of Conduct is adapted from:
299+
300+
- [Contributor Covenant](https://www.contributor-covenant.org/), version 2.1
301+
- [Django Code of Conduct](https://www.djangoproject.com/conduct/)
302+
- [Rust Code of Conduct](https://www.rust-lang.org/policies/code-of-conduct)
303+
- [Python Community Code of Conduct](https://www.python.org/psf/conduct/)
304+
305+
We thank these communities for their leadership in creating welcoming spaces.
306+
307+
---
308+
309+
## Questions?
310+
311+
If you have questions about this Code of Conduct:
312+
313+
- Open a [Discussion](https://{{FORGE}}/{{OWNER}}/{{REPO}}/discussions) (for general questions)
314+
- Email {{CONDUCT_EMAIL}} (for private questions)
315+
- Contact any maintainer directly
316+
317+
---
318+
319+
## Summary
320+
321+
**Be kind. Be respectful. Be collaborative.**
322+
323+
We're all here because we care about this project. Let's make it a place where everyone can do their best work.
324+
325+
---
326+
327+
<sub>Last updated: {{CURRENT_YEAR}} · Based on Contributor Covenant 2.1</sub>

0 commit comments

Comments
 (0)