Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions _includes/_code-of-conduct-header.html

This file was deleted.

152 changes: 70 additions & 82 deletions _includes/_code-of-conduct.html
Original file line number Diff line number Diff line change
@@ -1,108 +1,96 @@
## Code of Conduct

The Typelevel community is made up of members from around the globe with a diverse set of skills, personalities, and experiences.
It is through these differences that our community experiences great successes and continued growth.
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.
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.


### Our Community

Members of the Typelevel community are open, considerate, and respectful.
Behaviors that reinforce these values contribute to a positive environment, and include:

- **Being kind.** We treat our fellow community members with the empathy, respect and dignity all people deserve.
- **Focusing on what is best for the community.** We're respectful of the processes set forth in the community, and we work within them.
- **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.
- **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.
- **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.
- **Being considerate.** Members of the community are considerate of their peers -- other Scala users.
- **Being respectful.** We're respectful of others, their positions, their skills, their commitments, and their efforts.
- **Gracefully accepting constructive criticism.** When we disagree, we are courteous in raising our issues.
- **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.


### Our Standards

**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.**
Every member of our community has the right to have their identity respected.
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.


#### Inappropriate Behavior

As a member of the community, you agree to the following:
Examples of unacceptable behavior by participants include:

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

- **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.
- **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.
- **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.
Community members asked to stop any inappropriate behavior are expected to comply immediately.

**Discouraged:**

- 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.
- 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).
- 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.
- 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.
- Likewise any spamming, trolling, flaming, baiting or other attention-stealing behavior is not welcome.
#### Consequences

### Moderation
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.

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

- 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.)
- Moderators will warn users who make remarks inconsistent with the above code of conduct.
- If the warning is unheeded, the user will be “kicked,” i.e., kicked out of the communication channel to cool off.
- If the user comes back and continues to make trouble, they will be banned, i.e., indefinitely excluded.
- 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.
- 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.
- Moderators are held to a higher standard than other community members. If a moderator acts inappropriately, they should expect less leeway than others.

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

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

### Domain
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.
If unaffiliated projects adopt the Typelevel Code of Conduct, please contact the maintainers of those projects for enforcement.

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

### Contact

For CoC-related questions or to report possible violations on the channels
listed above,
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:

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

### Examples of unacceptable behavior

Behavior that will lead to exclusion includes the following points, inspired by the definition of
“Unacceptable Behavior” in the [Citizen Code of Conduct](http://citizencodeofconduct.org/):

* Violence, threats of violence or violent language directed against another person.
* Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language.
* Posting or displaying sexually explicit or violent material.
* Posting or threatening to post other people’s personally identifying information ("doxing").
* Personal insults, particularly those related to gender, sexual orientation, race, religion, or disability.
* Inappropriate photography or recording.
* Inappropriate physical contact. You should have someone’s consent before touching them.
* Unwelcome sexual attention. This includes, sexualized comments or jokes; inappropriate touching, groping, and unwelcomed sexual advances.
* Deliberate intimidation, stalking or following (online or in person).
* Advocating for, or encouraging, any of the above behavior.
* Sustained disruption of community events, including talks and presentations.

### Credits

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

Adapted from and/or inspired by multiple successful Codes of Conduct, including:
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/).

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

### License
* [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/).
* [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/).
* [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/).
* [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/).
* [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).
* [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/).
* [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/).
* [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/).
* [Rust Code of Conduct](https://www.rust-lang.org/en-US/conduct.html)

This Code of Conduct is distributed under a [Creative Commons Attribution-ShareAlike license](https://creativecommons.org/licenses/by-sa/3.0/).
[Enforcement Procedures]: https://github.com/typelevel/governance/blob/main/ENFORCEMENT-POLICY.md
5 changes: 1 addition & 4 deletions code-of-conduct.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
---
layout: coc
title: "Scala Code of Conduct"
title: "Typelevel Code of Conduct"
permalink: /code-of-conduct.html
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.
---

{% include _code-of-conduct-header.html %}

{% include _code-of-conduct.html %}
37 changes: 37 additions & 0 deletions collections/_posts/2024-03-11-code-of-conduct.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
layout: post
title: New Code of Conduct
category: governance

meta:
nav: blog
author: typelevel
---

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!

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)).
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.

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.

We believe our community is already a kind and welcoming place.
However, a Code of Conduct must be enforced to maintain community trust and safety.
Additionally, an enforcement policy is useful to provide transparency and accountability on how the Code of Conduct Committee will work.


### What happens next?
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.

### As an affiliate project maintainer, what should I expect?
All affiliate projects are expected to adopt the Typelevel Code of Conduct.
We will open pull requests to update each affiliate project's `CODE_OF_CONDUCT` file.
If there are any concerns, we are available for discussion and we encourage affiliate maintainers to please reach out.
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.
This is totally fine and we support your choices!
We believe open source developers are free to choose the projects they contribute to and the communities they support ♥

### Can an affiliate project maintainer participate in Code of Conduct enforcement?
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.
Additionally, if this work interests you, keep an eye out for future calls for Typelevel Code of Conduct Committee members!

Loading