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