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

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

Impact

Risk

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.

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:

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 Foundation Board of Directors, 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 Foundation Board of Directors.

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:

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:

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:

Current list of Code of Conduct Committee members

Sam Pillsworth, Andrew Valencik, Kateu Herbert, Arman Bilge, Lucas Satabin

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.