..
   This work is licensed under a Creative Commons Attribution 3.0 Unported License.
   SPDX-License-Identifier: CC-BY-3.0

==============================
LLVM Community Code of Conduct
==============================

The LLVM community has always worked to be a welcoming and respectful
community, and we want to ensure that doesn't change as we grow and evolve. To
that end, we have a few ground rules that we ask people to adhere to:

* `be friendly and patient`_,
* `be welcoming`_,
* `be considerate`_,
* `be respectful`_,
* `be careful in the words that you choose and be kind to others`_, and
* `when we disagree, try to understand why`_.

This isn't an exhaustive list of things that you can't do. Rather, take it in
the spirit in which it's intended - a guide to make it easier to communicate
and participate in the community.

This code of conduct applies to all spaces managed by the LLVM project or The
LLVM Foundation. This includes IRC channels, mailing lists, bug trackers, LLVM
events such as the developer meetings and socials, and any other forums created
by the project that the community uses for communication. It applies to all of
your communication and conduct in these spaces, including emails, chats, things
you say, slides, videos, posters, signs, or even t-shirts you display in these
spaces. 

In rare cases, violations of this code outside of these spaces may affect a 
person’s ability to participate within these spaces. Important examples 
include `sexual and gender-based violence`_, `hate crimes`_, and `hate speech`_. 
We do not conduct proactive research, but we have an obligation to respond 
to any reported concerns. We are not interested in evaluating severity, 
responding punitively, or holding people accountable. Both the relevance 
and our response is instead focused on how a person’s continued participation 
impacts the community’s safety, wellbeing, and inclusivity. We specifically 
prioritize remaining a welcoming community to victims as well as groups 
subjected to systemic marginalization or underrepresentation.

In addition, violations of this code outside these spaces may, in rare
cases, affect a person's ability to participate within them, when the conduct
amounts to an egregious violation of this code.

If you believe someone is violating the code of conduct, we ask that you report
it by emailing conduct@llvm.org. For more details please see the 
:doc:`Reporting Guide <ReportingGuide>`.

.. _be friendly and patient:

* **Be friendly and patient.**

.. _be welcoming:

* **Be welcoming.** We strive to be a community that welcomes and supports
  people of all backgrounds and identities. This includes, but is not limited
  to members of any race, ethnicity, culture, national origin, colour,
  immigration status, social and economic class, educational level, sex, sexual
  orientation, gender identity and expression, age, size, family status,
  political belief, religion or lack thereof, and mental and physical ability.

.. _be considerate:

* **Be considerate.** Your work will be used by other people, and you in turn
  will depend on the work of others. Any decision you take will affect users
  and colleagues, and you should take those consequences into account. Remember
  that we're a world-wide community, so you might not be communicating in
  someone else's primary language.

.. _be respectful:

* **Be respectful.** Not all of us will agree all the time, but disagreement is
  no excuse for poor behavior and poor manners. We might all experience some
  frustration now and then, but we cannot allow that frustration to turn into
  a personal attack. It's important to remember that a community where people
  feel uncomfortable or threatened is not a productive one. Members of the LLVM
  community should be respectful when dealing with other members as well as
  with people outside the LLVM community.

.. _be careful in the words that you choose and be kind to others:

* **Be careful in the words that you choose and be kind to others.** Do not
  insult or put down other participants. Harassment and other exclusionary
  behavior aren't acceptable. This includes, but is not limited to:

  * Violent threats or language directed against another person.
  * Discriminatory jokes and language.
  * Posting sexually explicit or violent material.
  * Posting (or threatening to post) other people's personally identifying
    information ("doxing").
  * Personal insults, especially those using racist or sexist terms.
  * Unwelcome sexual attention.
  * Advocating for, or encouraging, any of the above behavior.

  In general, if someone asks you to stop, then stop. Persisting in such
  behavior after being asked to stop is considered harassment.

.. _when we disagree, try to understand why:

* **When we disagree, try to understand why.** Disagreements, both social and
  technical, happen all the time and LLVM is no exception. It is important that
  we resolve disagreements and differing views constructively. Remember that
  we're different. The strength of LLVM comes from its varied community, people
  from a wide range of backgrounds. Different people have different
  perspectives on issues. Being unable to understand why someone holds
  a viewpoint doesn't mean that they're wrong. Don't forget that it is human to
  err and blaming each other doesn't get us anywhere. Instead, focus on helping
  to resolve issues and learning from mistakes.

Reporting
=========

If you believe someone is violating the code of conduct you can always report
it to the LLVM Foundation Code of Conduct Committee by emailing
conduct@llvm.org. All reports will be kept confidential. This isn't a public
list and only members of the advisory committee will receive the report. For
details on what to include in the report, please see the :doc:`Reporting Guide
<ReportingGuide>`.

If you believe anyone is in physical danger, please notify appropriate law
enforcement first. If you are unsure what law enforcement agency is
appropriate, please include this in your report and we will attempt to notify
them.

If the violation occurs at an event such as a Developer Meeting and requires
immediate attention, you can also reach out to any of the event organizers or
staff. Event organizers and staff will be prepared to handle the incident and
able to help. If you cannot find one of the organizers, the venue staff can
locate one for you. We will also post detailed contact information for specific
events as part of each events' information. In person reports will still be
kept confidential exactly as above, but also feel free to (anonymously if
needed) email conduct@llvm.org.

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

The committee will consist of a minimum of 5 members and members are asked to
serve at least a 1 year term. New committee members will be selected by the
current committee and the LLVM Foundation Board of Directors.

When responding to a Code of Conduct report, the committee follows the
following 
:doc:`Response Guide<ResponseGuide>`.

The current committee members are:

* Kit Barton (kbarton\@llvm.org)
* Kristof Beyls (kristof.beyls\@llvm.org)
* Mike Edwards (medwards\@llvm.org)
* Hal Finkel (hfinkel\@llvm.org)
* Cyndy Ishida (cishida\@llvm.org)
* Anton Korobeynikov (anton.korobeynikov\@llvm.org)
* Tanya Lattner (tanyalattner\@llvm.org)
* Chris Lattner (clattner\@llvm.org)
* Tom Stellard (tstellar\@llvm.org)


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

* `April 28, 2022 <https://llvm.org/coc-reports/2022-04-28-report.html>`_

For details about what a Transparency Report is and what it contains, please see the :doc:`Response Guide<ResponseGuide>`.

Questions?
==========

If you have questions, please feel free to contact the LLVM Foundation Code of
Conduct Committee by emailing conduct@llvm.org.

Thanks!
=======

This text is based on the `Django Project`_ Code of Conduct, which is in turn
based on wording from the `Speak Up! project`_.

License
=======

All content on this page is licensed under a `Creative Commons Attribution 3.0
Unported License`_.

.. _Django Project: https://www.djangoproject.com/conduct/
.. _Speak Up! project: http://speakup.io/coc.html
.. _sexual and gender-based violence:
.. _hate crimes: https://hatecrime.osce.org
.. _hate speech: https://www.un.org/en/genocideprevention/documents/UN%20Strategy%20and%20Plan%20of%20Action%20on%20Hate%20Speech%2018%20June%20SYNOPSIS.pdf
.. _Creative Commons Attribution 3.0 Unported License: http://creativecommons.org/licenses/by/3.0/
