Skip to content

Commit 28df752

Browse files
authored
Merge pull request #496 from typelevel/new-coc
Update site to use new Code of Conduct
2 parents 0304009 + f4d91c5 commit 28df752

5 files changed

Lines changed: 108 additions & 127 deletions

File tree

_includes/_code-of-conduct-header.html

Lines changed: 0 additions & 5 deletions
This file was deleted.

_includes/_code-of-conduct.html

Lines changed: 70 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,108 +1,96 @@
1+
## Code of Conduct
2+
3+
The Typelevel community is made up of members from around the globe with a diverse set of skills, personalities, and experiences.
4+
It is through these differences that our community experiences great successes and continued growth.
5+
When you're working with members of the community, this Code of Conduct will help steer your interactions and keep Typelevel a positive, successful, and growing community.
6+
Whether you are new or familiar with our community, we care about making it a welcoming and safe place for you and we're here to support you.
7+
8+
9+
### Our Community
10+
11+
Members of the Typelevel community are open, considerate, and respectful.
12+
Behaviors that reinforce these values contribute to a positive environment, and include:
13+
14+
- **Being kind.** We treat our fellow community members with the empathy, respect and dignity all people deserve.
15+
- **Focusing on what is best for the community.** We're respectful of the processes set forth in the community, and we work within them.
16+
- **Showing empathy towards other community members.** We're attentive in our communications, whether in person or online, and we're tactful when approaching differing views.
17+
- **Acknowledging time and effort.** We're respectful of the volunteer efforts that permeate the Typelevel community. We're thoughtful when addressing the efforts of others, keeping in mind that often the labor was completed simply for the good of the community.
18+
- **Being respectful of differing viewpoints and experiences.** We remember that everyone was new to Scala at some point. We want to encourage newcomers to join our community and learn the Scala language and ecosystem. Always assume good intentions and a willingness to learn, just as you are willing to evolve your own opinion as you gain new insights.
19+
- **Being considerate.** Members of the community are considerate of their peers -- other Scala users.
20+
- **Being respectful.** We're respectful of others, their positions, their skills, their commitments, and their efforts.
21+
- **Gracefully accepting constructive criticism.** When we disagree, we are courteous in raising our issues.
22+
- **Using welcoming and inclusive language.** We're accepting of all who wish to take part in our activities, fostering an environment where anyone can participate and everyone can make a difference.
23+
24+
125
### Our Standards
226

3-
**Whether you’re a regular contributor or a newcomer, we care about making this community a welcoming and safe place for you and we’ve got your back.**
27+
Every member of our community has the right to have their identity respected.
28+
The Typelevel community is dedicated to providing a positive experience for everyone, regardless of age, gender identity and expression, sexual orientation, disability, neurodivergence, physical appearance, body size, ethnicity, nationality, race, or religion (or lack thereof), education, or socio-economic status.
29+
30+
31+
#### Inappropriate Behavior
432

5-
As a member of the community, you agree to the following:
33+
Examples of unacceptable behavior by participants include:
634

7-
**Encouraged:**
35+
- Harassment of any participants in any form
36+
- Deliberate intimidation, stalking, or following
37+
- Logging or taking screenshots of online activity for harassment purposes
38+
- Publishing others' private information, such as a physical or electronic address, without explicit permission
39+
- Violent threats or language directed against another person
40+
- Incitement of violence or harassment towards any individual, including encouraging a person to commit suicide or to engage in self-harm
41+
- Creating additional online accounts in order to harass another person or circumvent a ban
42+
- Sexual language and imagery in online communities or in any conference venue, including talks
43+
- Insults, put downs, or jokes that are based upon stereotypes, that are exclusionary, or that hold others up for ridicule
44+
- Excessive swearing
45+
- Unwelcome sexual attention or advances
46+
- Unwelcome physical contact, including simulated physical contact (eg, textual descriptions like "hug" or "backrub") without consent or after a request to stop
47+
- Pattern of inappropriate social contact, such as requesting/assuming inappropriate levels of intimacy with others
48+
- Sustained disruption of online community discussions, in-person presentations, or other in-person events
49+
- Spamming, trolling, flaming, baiting or other attention-stealing behavior
50+
- Continued one-on-one communication after requests to cease
51+
- Other conduct that is inappropriate for a professional audience
852

9-
- **Be kind and courteous.** We treat our fellow community members with the empathy, respect and dignity all humans deserve. Keep in mind that public communication is received by many people you don’t know, so before sending a message please ask yourself whether someone from a different context would misunderstand it.
10-
- **Respect differences of opinion** and remember that every design or implementation choice carries a trade-off and numerous costs. There is seldom a single right answer; we will find the best solutions by engaging in constructive discussion, with everybody bringing their unique viewpoint and experience to the table.
11-
- **Remember that everyone was new to Scala at some point.** We want to encourage newcomers to join our community and learn the Scala language and ecosystem. Always assume good intentions and a willingness to learn, just as you are willing to evolve your own opinion as you gain new insights.
53+
Community members asked to stop any inappropriate behavior are expected to comply immediately.
1254

13-
**Discouraged:**
1455

15-
- Keep unstructured critique to a minimum. We encourage sharing ideas and perspectives, so please ensure that your feedback is constructive and relevant. If you have solid ideas you want to experiment with, make a fork and see how it works.
16-
- Avoid aggressive and micro-aggressive behavior, such as unconstructive criticism, providing corrections that do not improve the conversation, repeatedly interrupting or talking over someone else, feigning surprise at someone’s lack of knowledge or awareness about a topic, or subtle prejudice (for example, comments like “That’s so easy my grandmother could do it.”). For more examples of this kind of behavior, [see the Recurse Center's user manual](https://www.recurse.com/manual#sec-environment).
17-
- We will exclude you from interaction if you insult, demean or harass anyone. See [examples of unacceptable behavior](#examples-of-unacceptable-behavior) below. In particular, we don’t tolerate behavior that excludes people in socially marginalized groups.
18-
- Private harassment is also unacceptable. No matter who you are, if you feel you have been or are being harassed or made uncomfortable by a community member's behavior, please [contact the moderation team](#contact) immediately.
19-
- Likewise any spamming, trolling, flaming, baiting or other attention-stealing behavior is not welcome.
56+
#### Consequences
2057

21-
### Moderation
58+
If a participant engages in behavior that violates our standards, the Typelevel Code of Conduct Committee will take any action they deem appropriate, including but not limited to: warning the offender, or expelling them from the community or current community events with no refund of event tickets.
2259

23-
These are the policies for upholding our community’s standards of conduct. If
24-
you feel that a thread needs moderation, please
25-
[contact the moderation team](#contact).
60+
The full list of consequences for inappropriate behavior is listed in the [Enforcement Procedures].
2661

27-
- Remarks that violate the above code of conduct, including hateful, hurtful, oppressive, or exclusionary remarks, are not allowed. (Cursing is allowed, but never targeting another user, and never in a hateful or aggressive manner.)
28-
- Moderators will warn users who make remarks inconsistent with the above code of conduct.
29-
- If the warning is unheeded, the user will be “kicked,” i.e., kicked out of the communication channel to cool off.
30-
- If the user comes back and continues to make trouble, they will be banned, i.e., indefinitely excluded.
31-
- Moderators may choose at their discretion to un-ban the user if it was a first offense and they if they make suitable amends with the offended party.
32-
- If you think a moderator action is unjustified, please take it up with that moderator, or with a different moderator, in private. Complaints about moderation in-channel are not allowed.
33-
- Moderators are held to a higher standard than other community members. If a moderator acts inappropriately, they should expect less leeway than others.
3462

35-
In the Scala community we strive to go the extra step to look out for each
36-
other. Don’t just aim to be technically unimpeachable; try to be your best self.
37-
In particular, avoid exacerbating offensive or sensitive issues, particularly if
38-
they’re off-topic; this all too often leads to unnecessary fights, hurt
39-
feelings, and damaged trust; worse, it can drive people away from the community
40-
entirely.
4163

42-
If someone takes issue with something you said or did, resist the urge to be
43-
defensive. Rather, stop the offending behavior, apologize, and be sensitive
44-
thereafter. Even if you feel you were misinterpreted or unfairly accused,
45-
chances are good there was something you could’ve communicated better — remember
46-
that it’s your responsibility to make your fellow Scala developers comfortable.
47-
We are all here first and foremost because we want to talk about cool
48-
technology, and everyone wants to get along in doing so. People are generally
49-
eager to assume good intent and forgive.
64+
### Scope
5065

51-
### Domain
66+
The enforcement policies listed above apply to all official Typelevel channels, including but not limited to the following: mailing lists, both organization and affiliate GitHub repositories, Typelevel Discord server, and Typelevel venues and events.
67+
If unaffiliated projects adopt the Typelevel Code of Conduct, please contact the maintainers of those projects for enforcement.
5268

53-
The enforcement policies listed above apply to all official Typelevel channels:
54-
mailing lists, GitHub repositories and Gitter channels under the `typelevel`
55-
organization, Discourse, and Typelevel venues and hackathons. For other
56-
projects adopting the Scala Code of Conduct, please contact the maintainers of
57-
those projects for enforcement. If you wish to use this code of conduct for your
58-
own project, consider explicitly mentioning your moderation policy or making a
59-
copy with your own moderation policy so as to avoid confusion.
6069

6170
### Contact
6271

63-
For CoC-related questions or to report possible violations on the channels
64-
listed above,
72+
For questions related to our code of conduct, or to report possible violations, please immediately contact a member of the Typelevel Code of Conduct Committee:
6573

66-
* contact one of the moderators active on that channel if you can identify
67-
them, or
68-
* send an e-mail to one of the following general moderators if you want to
69-
choose who you are talking to:
70-
* [Christopher Davenport](mailto:chris@chrisdavenport.tech)
74+
<!-- TODO single CoC email address -->
7175
* [Jasna Rodulfa-Blemberg](mailto:jasna.robl@gmail.com)
7276
* [Sam Pillsworth](mailto:sam@blerf.ca)
77+
* [Andrew Valencik](mailto:andrew.valencik@gmail.com)
7378

74-
### Examples of unacceptable behavior
75-
76-
Behavior that will lead to exclusion includes the following points, inspired by the definition of
77-
“Unacceptable Behavior” in the [Citizen Code of Conduct](http://citizencodeofconduct.org/):
78-
79-
* Violence, threats of violence or violent language directed against another person.
80-
* Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language.
81-
* Posting or displaying sexually explicit or violent material.
82-
* Posting or threatening to post other people’s personally identifying information ("doxing").
83-
* Personal insults, particularly those related to gender, sexual orientation, race, religion, or disability.
84-
* Inappropriate photography or recording.
85-
* Inappropriate physical contact. You should have someone’s consent before touching them.
86-
* Unwelcome sexual attention. This includes, sexualized comments or jokes; inappropriate touching, groping, and unwelcomed sexual advances.
87-
* Deliberate intimidation, stalking or following (online or in person).
88-
* Advocating for, or encouraging, any of the above behavior.
89-
* Sustained disruption of community events, including talks and presentations.
90-
91-
### Credits
9279

93-
Identical to the Scala Code of Conduct [as published on
94-
scala-lang.org](https://www.scala-lang.org/conduct/), with Domain and
95-
Contact sections replaced by Typelevel channels and admins.
80+
## Attribution
9681

97-
Adapted from and/or inspired by multiple successful Codes of Conduct, including:
82+
This code of conduct is a modified version of the [Python Software Foundation Code of Conduct](https://www.python.org/psf/conduct), licensed under the [Creative Commons Attribution-ShareAlike 3.0 Unported License](https://creativecommons.org/licenses/by-sa/3.0/).
9883

99-
* [Rust Code of Conduct](https://www.rust-lang.org/policies/code-of-conduct)
100-
* [The Node.js Policy on Trolling](http://blog.izs.me/post/30036893703/policy-on-trolling)
101-
* [The Contributor Covenant v1.4.0](http://contributor-covenant.org/version/1/4/)
102-
* [The Recurse Center's User Manual](https://www.recurse.com/manual#sec-environment)
103-
* [The 18F Code of Conduct](https://18f.gsa.gov/code-of-conduct/)
104-
* [Citizen Code of Conduct](http://citizencodeofconduct.org/)
84+
Additional language was incorporated from the following:
10585

106-
### License
86+
* [Otter Tech](https://otter.technology/code-of-conduct-training/) resources, licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/).
87+
* [Scala Code of Conduct](https://www.scala-lang.org/conduct/), licensed under a [Creative Commons Attribution-ShareAlike 3.0 Unported License](http://creativecommons.org/licenses/by-sa/3.0/).
88+
* [Affect Conf Code of Conduct](https://affectconf.com/coc/), licensed under a [Creative Commons Attribution-ShareAlike 3.0 Unported License](http://creativecommons.org/licenses/by-sa/3.0/).
89+
* [Citizen Code of Conduct](http://citizencodeofconduct.org/), licensed under a [Creative Commons Attribution-ShareAlike 3.0 Unported License](http://creativecommons.org/licenses/by-sa/3.0/).
90+
* [Contributor Covenant version 1.4](https://www.contributor-covenant.org/version/1/4/code-of-conduct), licensed[ Creative Commons Attribution 4.0 License](https://github.com/ContributorCovenant/contributor_covenant/blob/master/LICENSE.md).
91+
* [Django Project Code of Conduct](https://www.djangoproject.com/conduct/), licensed under a [Creative Commons Attribution 3.0 Unported License](http://creativecommons.org/licenses/by/3.0/).
92+
* [LGBTQ in Tech Slack Code of Conduct](https://lgbtq.technology/coc.html), licensed under a [Creative Commons Zero License](https://creativecommons.org/publicdomain/zero/1.0/).
93+
* [PyCon 2018 Code of Conduct](https://us.pycon.org/2018/about/code-of-conduct/), licensed under a [Creative Commons Attribution 3.0 Unported License](http://creativecommons.org/licenses/by/3.0/).
94+
* [Rust Code of Conduct](https://www.rust-lang.org/en-US/conduct.html)
10795

108-
This Code of Conduct is distributed under a [Creative Commons Attribution-ShareAlike license](https://creativecommons.org/licenses/by-sa/3.0/).
96+
[Enforcement Procedures]: https://github.com/typelevel/governance/blob/main/ENFORCEMENT-POLICY.md

code-of-conduct.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
---
22
layout: coc
3-
title: "Scala Code of Conduct"
3+
title: "Typelevel Code of Conduct"
44
permalink: /code-of-conduct.html
5-
description: We are committed to providing a friendly, safe and welcoming environment for all, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, sexual identity and orientation, or other such characteristics.
65
---
76

8-
{% include _code-of-conduct-header.html %}
9-
107
{% include _code-of-conduct.html %}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
layout: post
3+
title: New Code of Conduct
4+
category: governance
5+
6+
meta:
7+
nav: blog
8+
author: typelevel
9+
---
10+
11+
We have [recently adopted a new Code of Conduct and Enforcement Policy](https://github.com/typelevel/governance/pull/129). This change was approved by the Steering committee after a 1 month discussion and voting period. Thank you to everyone who engaged!
12+
13+
The scope of the Typelevel Code of Conduct and Enforcement Policy encompasses both organization **and** affiliate projects (as described in the [Typelevel Charter](https://github.com/typelevel/governance/blob/main/CHARTER.md)).
14+
While the Typelevel Charter has always specified that affiliate projects must adhere to the Typelevel organization policies, including the Code of Conduct, this has not been enforced in practice.
15+
16+
Prior to this change the Typelevel Code of Conduct was a fork of the Scala Code of Conduct. We, the Typelevel Steering Committee, are choosing the Python Software Foundation Code of Conduct to fork because it has an accompanying enforcement policy, and there is associated training available. Some Typelevel Steering Committee members engaged in this training through [Otter Technology](https://otter.technology/code-of-conduct-training/) in late 2023. All Code of Conduct Committee members will be encouraged to take this (or equivalent) training going forward.
17+
18+
We believe our community is already a kind and welcoming place.
19+
However, a Code of Conduct must be enforced to maintain community trust and safety.
20+
Additionally, an enforcement policy is useful to provide transparency and accountability on how the Code of Conduct Committee will work.
21+
22+
23+
### What happens next?
24+
Now that the Code of Conduct and Enforcement Policy have been voted in by the Typelevel Steering Committee, we will begin updating the `CODE_OF_CONDUCT` files in organization project repositories.
25+
26+
### As an affiliate project maintainer, what should I expect?
27+
All affiliate projects are expected to adopt the Typelevel Code of Conduct.
28+
We will open pull requests to update each affiliate project's `CODE_OF_CONDUCT` file.
29+
If there are any concerns, we are available for discussion and we encourage affiliate maintainers to please reach out.
30+
Ultimately, if a project chooses not to adopt the Typelevel Code of Conduct, maintainers can close the PR, and we'll handle removing the project from the affiliate project list.
31+
This is totally fine and we support your choices!
32+
We believe open source developers are free to choose the projects they contribute to and the communities they support ♥
33+
34+
### Can an affiliate project maintainer participate in Code of Conduct enforcement?
35+
Affiliate project's can list additional moderators in their `CODE_OF_CONDUCT` file, that the Typelevel Code of Conduct Committee will work with as described in the Enforcement Policy "Affiliate project processes" section.
36+
Additionally, if this work interests you, keep an eye out for future calls for Typelevel Code of Conduct Committee members!
37+

0 commit comments

Comments
 (0)