LLVM Community Code of Conduct
This document is currently a **DRAFT** document while it is being discussed
by the community.
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 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 email@example.com. For more details please see our
: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
* 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.
If you have questions, please feel free to contact the LLVM Foundation Code of
Conduct Advisory Committee by emailing firstname.lastname@example.org.
(This text is based on the `Django Project`_ Code of Conduct, which is in turn
based on wording from the `Speak Up! project`_.)
.. _Django Project: https://www.djangoproject.com/conduct/
.. _Speak Up! project: http://speakup.io/coc.html