Compiler projects using llvm
===============
Response Guide
===============

This is a :doc:`Code of Conduct<CodeOfConduct>` (CoC) incident response guide
used by the Code of Conduct Committee and LLVM event organizers.

Code of Conduct Committee
=========================

All responses to Code of Conduct reports will be managed by a Code of Conduct
Committee. 

Additional Code of Conduct Response Teams
=========================================

In-person events will have an additional response team to immediately respond
to an incident. For example:

* Each LLVM Developers' Meeting has a Code of Conduct response team.
* For LLVM meetups, the local organizers will be the first point of contact.
* Any other event funded by the LLVM Foundation or listed on the LLVM website,
  will have a code of conduct response team or point of contact for CoC 
  reports.

These teams should determine if an :ref:`immediate response<Immediate Response
Checklist>` is needed before sending the report to the Code of Conduct
committee.

.. _Receiving a report:

Receiving a Report
==================

Reports are typically received by email (conduct@llvm.org) or in person from
the reporter or event CoC response team.

When receiving a report by email, the CoC Committee should acknowledge receipt
within 24 hours.  The acknowledgement should be understanding and compassionate
but no commitment should be made on whether this is a violation or which action
will be taken. Specific guidance is in the checklist below.

For in-person events that have a violation reported, the report should be sent
to the Code of Conduct committee within 24 hours by the on-site CoC response
team. 


.. _Immediate Response Checklist:

Immediate Response Checklist
============================

The CoC committee generally works, decides, and communicates together. If the
report indicates that an immediate response is required and other committee
members are not available, any committee member may take the immediate action
they think is necessary. In-person Code of Conduct response teams should use
this checklist to determine if an immediate response is needed.

* If the incident involves physical danger, contact the appropriate law
  enforcement or event security immediately. Ensure the reporter feels safe and
  stay with them if possible until help arrives.
* If the act is ongoing and involves harassment or threats against someone in
  any space (online or physical), any appropriate response (e.g., ban, physical
  removal, or moderation) may be used to immediately stop it.
* For events that include talks, organizers should end talks early if the
  violations include harassment or violent threats. There may be talks where
  other types of code of conduct violations occur and organizers should do 
  their best to determine if a talk should be ended early or not. 

When undertaking an immediate response, document the action and notify the
committee within 24 hours. 


Response Procedure
==================

The following is a summary of the steps the committee takes when responding to
a reported incident. 

1. Determine if there is a need for an :ref:`immediate response<Immediate
   Response Checklist>`.

2. :ref:`Acknowledge the report<Receiving a report>` within 24 hours.

3. :ref:`Discuss the incident report<Incident Response Assessment>`, gather
   more information, and determine a :ref:`resolution<Resolutions>`.

4. During this process, the :ref:`reporter will be informed of the
   resolution<Following Up With the Reportee>` and feedback is requested. This
   feedback may or may not be used to re-evaluate the resolution.

5. Inform the reportee of the resolution. The reportee is provided options to
   :ref:`appeal<Appeal Process>`. 

6. The :ref:`resolution<Resolutions>` is implemented.

7. All reports, data, notes, and resolutions are logged in a private location
   (e.g., Google Drive or other database).

The committee will never make public statements about a resolution and will
only publish :ref:`transparency reports<Transparency Reports>`. If a public
statement is necessary and requested by the committee, it will be given by the
LLVM Foundation Board of Directors.

Report Acknowledgement
======================

When a report is received, the committee will reply to the reporter to confirm
receipt within 24 hours of the incident being reported. 

This acknowledgement will contain:

* Acknowledgement of the incident report
* Next steps of the committee for responding to the incident
* Reminder of confidentiality policy regarding the report and parties involved

All incident reports should be assessed if they require immediate response and
acted on accordingly.

.. _Incident Response Assessment:

Incident Response Assessment
============================

The committee will assess the incident and determine an appropriate response.
The assessment will be documented and retained in records. Here are some
guidelines for the process:

* Review report documentation to determine the content and context of the
  incident.

  * Request additional information if needed from the reporter.

* Determine if it occurred within the scope of the CoC.
* Determine if it violated the CoC and specifically which part.
* Consult documentation of past incidents for patterns of behavior (if
  available and applicable).
* Follow up with the reportee to get their view or any other additional
  information.
* Determine appropriate resolutions to the incident when all information has
  been gathered.
* Notify the reporter of the resolution and request feedback. This may or may
  not be used to reevaluate the resolution.

The committee will aim to have a resolution agreed upon within two weeks of
receipt of the incident report. In the event that a resolution cannot be
determined within that time, the CoC committee will respond to the reporter(s)
with an updated and projected timeline for resolution. 

.. _Following Up With the Reportee:

Following Up With the Reportee
==============================

When following up with the reportee, the committee will:

* Explain that an incident was reported that involves the reportee.
* In this explanation, the focus will be on the impact of their behavior, not
  their intent.
* Reiterate the Code of Conduct and that their behavior may be deemed
  inappropriate.
* Give them the opportunity to state their view of the incident.
* Explain the possible resolutions that may be enforced should the CoC
  committee determine there is a breach.

The reportee will be given a week to respond with the option to request
additional time if needed and subject to approval of the CoC Committee.

.. _Resolutions:

Resolutions
===========

The committee should agree unanimously on a resolution. In the event that the
committee cannot reach a unanimous resolution, the LLVM Foundation Board of
Directors will help resolve the situation and determine if the resolution can
proceed without a unanimous vote.

When deciding on a resolution, the goal is to address the report in an
appropriate way, while also looking to prevent or reduce the risk of continuing
harm in the future. Any action deemed necessary by the committee will be
taken, but below is a list of possible resolutions:

* Taking no further action as the incident was determined not to be a
  violation.
* A private verbal warning and/or reprimand from the committee to the
  individual(s) involved and request to stop this behavior. This conversation
  may happen in person, email, by phone, video chat, or IRC.
* Request that the reportee avoid any interaction with, and physical proximity
  to, another person for the remainder of the event.
* Refusal of alcoholic beverage purchases by the reportee at LLVM events.
* Ending a talk/tutorial/etc at an LLVM event early. See immediate response
  checklist for further clarification.
* Not publishing the video or slides of a talk.
* Not allowing a speaker to give (further) talks at LLVM events for a specified
  amount of time or ever.
* Requiring that the reportee immediately leave an event and not return.
* Immediately ending any volunteer responsibilities and privileges the reportee
  holds.
* An imposed suspension (e.g., asking someone to "take a week off" from mailing
  lists, bug tracker, IRC, Discord, repositories, or other communication
  forms). 
* A permanent or temporary ban from some or all LLVM Project spaces (online or
  in person).

Once a resolution is agreed upon, but before it is enacted, the committee will
contact the reporter and any other affected parties to explain the proposed
resolution. They will ask if this resolution is acceptable and must note
feedback for the record. However, the committee is not required to act on this
feedback.

.. _Appeal Process:

Appeal Process
===============

Any individual(s) determined to have violated the CoC have the right to appeal
a decision. An appeal can be made directly to the committee by sending an email
to conduct@llvm.org with subject line Code of Conduct Incident Appeal.

The email should include documentation related to the incident to support the
appeal. The said documentation may include, but does not have to be limited to:

* Information from the reportee justifying reasoning for the appeal.
* Statements from other individuals involved in the incident to support the
  appeal.

Appeals can be requested up to 30 days after a resolution has been communicated
to the individual(s). The committee will aim to evaluate appeals within two weeks of receipt. In the event that appeal can not be evaluated within that time, the CoC committee will respond with an updated and projected timeline. 


Conflicts of Interest
=====================

Committee members should declare any conflicts of interest as soon as possible
and before any official committee meetings. This can mean being friends with
one of the involved parties, or anything else that may make it harder to remain
neutral.

A conflict of interest does not inherently mean the committee member can no
longer participate in the process, as that would make it very hard for the team
to act on reports involving well-known people in the community. However, if a
report concerns a team member or someone they work directly with, they probably
should not take part in the process. The team will decide together on where to
draw this line in individual cases. Where possible, any conversations with
offenders should not be done by people who know them, as it can be very
unpleasant for everyone involved.

If a report is received concerning a committee member, that member must not be
involved in the response process. The rest of the committee will meet and
decide on the report without the reported committee member being present, and
will not share more information than they would have with a non-member. If a
member of the committee is found to have violated the CoC, they may no longer
be able to keep serving on the committee.

Confidentiality
===============

All reports will be kept confidential with details shared only with the Code of
Conduct committee members. However, the Code of Conduct Committee will always
comply with law enforcement when directed. In the case that a CoC committee
member is involved in a report, the member will be asked to recuse themselves
from ongoing conversations, and they will not have access to reports after the
enforcement decision has been made. 

In the event of a temporary suspension or ban, the appropriate people must be
notified of the ban in order to restrict access to infrastructure or events.
These individuals will only be notified of the person's name and the
restrictions imposed. They will be under a confidentiality clause and not
allowed to respond to questions regarding the ban and should direct all
questions to the CoC committee. 

.. _Transparency Reports:

Transparency Reports
====================

Lack of transparency in the outcomes of our Code of Conduct incidents leaves
our community without an understanding of how or if the organizers worked to
resolve incidents. The CoC committee should aim to publish transparency
reports, if reports are received, after major events (such as the LLVM
Developers' meetings) and on the following dates: Jan 15, April 15, July 15,
Oct 15. 

A transparency report consists of 2 parts:

* An overview of the reports received, and resolutions.
* A more detailed summary of each reported incident and the resolution while
  maintaining confidentiality.

These reports will be published on the LLVM website.


This guide was created and inspired by the following: the `Django Project`_,
`Carpentries Response Guide`_, and the `Write The Docs Response Guide`_.

.. _Django Project: https://www.djangoproject.com/conduct/
.. _Carpentries Response Guide: https://docs.carpentries.org/topic_folders/policies/enforcement-guidelines.html
.. _Write The Docs Response Guide: https://www.writethedocs.org/code-of-conduct/#guidelines-for-reporting-incidents