Skip to content

Latest commit

 

History

History
223 lines (123 loc) · 15.5 KB

ENFORCEMENT-POLICY.md

File metadata and controls

223 lines (123 loc) · 15.5 KB

Typelevel Code of Conduct Committee Enforcement Procedures

This document summarizes the procedures the Typelevel Code of Conduct Committee uses to enforce the Code of Conduct.

Summary of processes

When the committee receives a report of a possible Code of Conduct violation, it will:

  1. Acknowledge the receipt of the report.
  2. Evaluate conflicts of interest.
  3. Call a meeting of committee members without a conflict of interest.
  4. Evaluate the reported incident.
  5. Propose a behavior adjustment.
  6. Propose consequences for the reported behavior.
  7. Vote on behavior adjustment and consequences for the reported person.
  8. Contact online community administrators/moderators to approve the behavior adjustment and consequences.
  9. Follow up with the reported person.
  10. Decide further responses.
  11. Follow up with the reporter.

Affiliate project processes

Typelevel affiliate projects are also covered by the Typelevel Code of Conduct. An affiliate project may choose to nominate dedicated moderators, who will work with the Typelevel Code of Conduct Committee to handle reports.

If a moderator of an affiliate project receives a report, they should:

  1. Acknowledge the receipt of the report.
  2. Contact the Code of Conduct Committee, stating "I have a report that involves [REPORTED PERSON]" so that Code of Conduct Committee members can evaluate conflicts of interest.
  3. The reporting process will proceed as usual, with the affiliate moderator/s included as acting members of the Code of Conduct Committee.

If the Code of Conduct Committee receives a report regarding an affiliate project, the affiliate moderator/s will be included in the conflict of interest evaluation. If no conflict exists, the affiliate moderator/s will be included in the reporting process as acting Code of Conduct committee members.

Moderator Processes

Typelevel Code of Conduct committee members, affiliate project moderators, and moderators in other spaces covered by the Typelevel Code of Conduct are empowered to enforce the Code of Conduct pro-actively. Code of Conduct violations should still be reported as a follow up, with a note about any action taken in the moment.

Acknowledge the report

Reporters should receive an acknowledgment of the receipt of their report within 24 hours, via their preferred communication channel.

Conflict of interest policy

Examples of conflicts of interest include but are not limited to the following circumstances, where the reporter or reported person is

  • your manager.
  • a romantic partner, metamour, or close friend. It's fine to participate if they are an acquaintance.
  • your family member.
  • your direct client.
  • someone you work closely with. This could be someone on your team or someone who works on the same project as you.
  • a maintainer who regularly reviews your contributions.

Committee members do not need to state why they have a conflict of interest, only that one exists. Other committee members should not ask why the person has a conflict of interest.

Anyone who has a conflict of interest will remove themselves from the discussion of the incident, and recuse themselves from voting on a response to the report.

Evaluating a report

Jurisdiction

  • Is this a Code of Conduct violation? Is this behavior on our list of inappropriate behavior? Is it borderline inappropriate behavior? Does it violate our community norms?
  • Did this occur in a space that is within our Code of Conduct's scope? If the incident occurred outside the community, but a community member's mental health or physical safety may be negatively impacted if no action is taken, the incident may be in scope. Private conversations in community spaces are also in scope.

Impact

  • Did this incident occur in a private or public space? The more community members are able to access or were present in such a space where the incident occurred, the larger the negative impact.
  • Does this behavior negatively impact a marginalized group in our community? Is the reporter a person from a marginalized group in our community? How is the reporter being negatively impacted by the reported person's behavior? Are members of the marginalized group likely to disengage with the community if no action was taken on this report?
  • Does this incident involve a community leader? Community members often look up to community leaders to set the standard of acceptable behavior, and so reports involving a community leader can have significant negative impact.

Risk

  • Does this incident include sexual harassment?
  • Does this pose a safety risk? Does the behavior put a person's physical safety at risk? Will this incident severely negatively impact someone's mental health?
  • Is there a risk of this behavior being repeated? Does the reported person understand why their behavior was inappropriate? Is there an established pattern of behavior from past reports?

Reports which involve higher risk or higher impact may face more severe consequences than reports which involve lower risk or lower impact.

Propose a behavior adjustment

The committee will propose a concrete behavior adjustment that ensures the inappropriate behavior is not repeated. The committee will also discuss what actions may need to be taken if the reported person does not agree to the proposed behavioral adjustment.

What follows are examples of possible behavioral adjustments for incidents that occur in online spaces under the scope of this Code of Conduct. This behavioral adjustment list is not exhaustive, and the Typelevel Code of Conduct Committee reserves the right to take any action it deems necessary.

  • Requiring that the reported person not use specific language
  • Requiring that the reported person not join in on specific types of discussions
  • Requiring that the reported person not send private messages to a community member
  • Requiring that the reported person not join, or leave, specific communication channels
  • Removing the reported person from administrator or moderator rights to community infrastructure
  • Removing a volunteer from their duties and responsibilities
  • Removing a person from leadership of relevant organizations
  • Removing a person from membership of relevant organizations

Propose consequences

What follows are examples of possible consequences to an incident report. This consequences list is not exhaustive, and the Typelevel Code of Conduct Committee reserves the right to take any action it deems necessary.

Possible private responses to an incident include:

  • Nothing, if the behavior was determined to not be a Code of Conduct violation
  • A verbal or emailed warning
  • A final warning
  • Temporarily removing the reported person from the online community
  • Permanently removing the reported person from the online community

If deemed necessary for community safety, a public account of an incident, and consequences, may be published.

Committee vote

Some committee members may have a conflict of interest and may be excluded from discussions of a particular incident report. Excluding those members, decisions on the behavioral adjustment and consequences will be determined by a two-thirds majority vote of the Typelevel Code of Conduct Committee.

Administrators/moderators Communication

Once the committee has approved the proposed behavioral adjustment and consequences, they will communicate the recommended response to the Typelevel Steering Committee, and any specific administrators/moderators of the related community space (ex. Discord moderators, GitHub organization administrators, etc.) The committee should not state who reported this incident. They should attempt to anonymize any identifying information from the report.

Administrators/moderators are required to respond back with whether they accept the recommended response to the report. If they disagree with the recommended response, they should provide a detailed response or additional context as to why they disagree. Administrators/moderators are encouraged to respond within a week.

In cases where the administrators/moderators disagree on the suggested resolution for a report, the Typelevel Code of Conduct Committee shall notify the Typelevel Steering Committee.

Initial follow-up with the reported person

The Typelevel Code of Conduct Committee will draft a response to the reported person. The response should contain:

  • A description of the person's behavior in neutral language
  • The negative impact of that behavior
  • A concrete proposed behavior adjustment
  • Any consequences of their behavior

The committee should not state who reported this incident. They should attempt to anonymize any identifying information from the report. The reported person should be discouraged from contacting the reporter to discuss the report.

Further responses

The reported person may respond with additional context. Depending on the response, the Typelevel Code of Conduct Committee may re-evaluate the proposed behavior adjustment and consequences. If the reported person wishes to apologize to the reporter, the committee can accept the apology on behalf of the reporter.

Follow-up with the reporter

A person who makes a report should receive a follow up, via their preferred communication channel, stating what action was taken in response to the report. If the committee decided no response was needed, they should explain why it was not a Code of Conduct violation. Reports that are not made in good faith (such as "reverse sexism" or "reverse racism") may receive no response.

The follow up should be sent no later than one week after the receipt of the report. If deliberation or follow up with the reported person takes longer than one week, the committee should send a status update to the reporter.

Documentation and Privacy Policies

Committee shared email address

It is convenient for all members of the Code of Conduct committee to be reached by a single email address. The committee should use an email alias which forwards email to individual members.

Using a mailing list is not recommended. This is because mailing lists typically archive all emails. This means new committee members gain access to all past archives. They can deliberately or accidentally see past reports where they have a conflict of interest. In order to prevent potential conflicts of interest, it is recommended to not have a mailing list archive.

Committee online discussion

The Code of Conduct Committee will use an encrypted service for online discussion and deliberation. The Committee may choose something that works for the majority of current members; two possible recommendations are Matrix or Signal.

When a report comes in and a discussion needs to happen in an online space, care needs to be taken to avoid conflicts of interest. In the committee chat channel, state 'We have a report that involves [REPORTED PERSON]'. Do not say who was the reporter or who were witnesses if the report was sent to an individual committee member. Ask which committee members do not have a conflict of interest. Add those committee members to a group discussion, separate from the committee channel. If a committee member does not respond, do not add them to the new group discussion. If a committee member finds they have a conflict of interest because of who reported the incident or who witnessed it, they should recuse themselves from the discussion.

Shared Documentation

The Code of Conduct committee should keep two types of shared documents:

  • A spreadsheet with the status of open and closed cases
  • A separate, encrypted, document for each report

Status Spreadsheet

The spreadsheet for Typelevel Code of Conduct reports is linked in the private steering repository README. Keep resolutions and notes vague enough that enforcement team members with a conflict of interest don't know the details of the incident. Use gender neutral language when describing the reported person in the spreadsheet.

Report Documentation

A template report document is linked in the status spreadsheet, as well as the private steering repository README. Report documentation must be encrypted to protect personally identifiable information (PII).

Privacy Concerns

There are some common privacy pitfalls to online tools like Google Docs. Make sure to always share the document with committee members who don't have a conflict of interest, rather than turning link sharing on. This prevents people outside of the committee from accessing the documents.

Another common issue is that when a folder is shared with the whole committee, even if a person doesn't have edit or view access to an individual report, they can still see the document's title. This can give information away, and that's why the report template instructs naming the document with a random phrase.

When on-boarding new committee members, they should be provided with a list of names of people who have been reported in a Code of Conduct incident. The new committee member should state whether they have any conflicts of interest with reviewing documentation for those cases. If not, they will be given access to the report documents.

Changes to Code of Conduct

When discussing a change to the Typelevel Code of Conduct or enforcement policies, the Typelevel Code of Conduct Committee will follow this decision-making process:

  • Brainstorm options. Code of Conduct committee members should discuss any relevant context and brainstorm a set of possible options. It is important to provide constructive feedback without getting side-tracked from the main question. Brainstorming should be limited to 3-7 days maximum.
  • Vote. Once a working draft is in place for the Code of Conduct and procedures, the Code of Conduct committee shall provide the Typelevel Steering Committee with a PR of the changes. The Steering Committee will vote on the changes, following the usual process and requiring at least ⅔ affirmative vote for the changes to be accepted.

Current list of Code of Conduct Committee members

Sam Pillsworth, Andrew Valencik

Advisers

Advisers to the Typelevel Code of Conduct committee have access to the committee mailing list, but are not voting members.

Justin du Coeur, Seth Tisue

Attribution

This enforcement policy is a modified version of the Python Software Foundation Code of Conduct Enforcement Policy, part of the Python Software Foundation Code of Conduct, licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.