Index: docs/CodeOfConduct.rst =================================================================== --- /dev/null +++ docs/CodeOfConduct.rst @@ -0,0 +1,91 @@ +============================== +LLVM Community Code of Conduct +============================== + +.. note:: + + 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. + +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 affect +a person's ability to participate within them. + +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 our +:doc:`Reporting Guide `. + +* **Be friendly and patient.** + +* **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.** 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 when + making decisions. Remember that we're a world-wide community, so you might + not be communicating in someone else's primary language. + +* **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.** 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. + * Repeated harassment of others. In general, if someone asks you to stop, + then stop. + +* **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. + +Questions? +========== + +If you have questions, please feel free to contact the LLVM Foundation Code of +Conduct Advisory Committee by emailing conduct@llvm.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 + Index: docs/ReportingGuide.rst =================================================================== --- /dev/null +++ docs/ReportingGuide.rst @@ -0,0 +1,143 @@ +=============== +Reporting Guide +=============== + +.. note:: + + This document is currently a **DRAFT** document while it is being discussed + by the community. + +If you believe someone is violating the :doc:`code of conduct ` +you can always report it to the LLVM Foundation Code of Conduct Advisory +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. + +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. + +.. blockquote:: + The LLVM community has long handled inappropriate behavior on its own, using + both private communication and public responses. Nothing in this document is + intended to discourage this self enforcement of community norms. Instead, + the mechanisms described here are intended to supplement any self + enforcement within the community. They provide avenues for handling severe + cases or cases where the reporting party does not whish to respond directly + for any reason. + +Filing a report +=============== + +Reports can be as formal or informal as needed for the situation at hand. If +possible, please include as much information as you can. If you feel +comfortable, please consider including: + +* Your contact info (so we can get in touch with you if we need to follow up) +* Names (real, nicknames, or pseudonyms) of any individuals involved. If there + were other witnesses besides you, please try to include them as well. +* When and where the incident occurred. Please be as specific as possible. +* Your account of what occurred. If there is a publicly available record (e.g. + a mailing list archive or a public IRC logger) please include a link. +* Any extra context you believe existed for the incident. +* If you believe this incident is ongoing. +* Any other information you believe we should have. + +What happens after you file a report? +===================================== + +You will receive an email from the advisory committee acknowledging receipt +within 24 hours (and we will aim to respond much quicker than that). + +The advisory committee will immediately meet to review the incident and try to +determine: + +* What happened and who was involved. +* Whether this event constitutes a code of conduct violation. +* Whether this is an ongoing situation, or if there is a threat to anyone's + physical safety. + +If this is determined to be an ongoing incident or a threat to physical safety, +the working groups' immediate priority will be to protect everyone involved. +This means we may delay an "official" response until we believe that the +situation has ended and that everyone is physically safe. + +The working group will try to contact other parties involved or witnessing the +event to gain clarity on what happened and understand any different +perspectives. + +Once the advisory committee has a complete account of the events they will make +a decision as to how to respond. Responses may include: + +* Nothing, if we determine no violation occurred or it has already been + appropriately resolved. +* Providing either moderation or mediation to ongoing interactions (where + appropriate, safe, and desired by both parties). +* A private reprimand from the working group to the individuals involved. +* An imposed vacation (i.e. asking someone to "take a week off" from a mailing + list or IRC). +* A public reprimand. +* A permanent or temporary ban from some or all LLVM spaces (mailing lists, + IRC, etc.) +* Involvement of relevant law enforcement if appropriate. + +If the situation is not resolved within one week, we'll respond within one week +to the original reporter with an update and explanation. + +Once we've determined our response, we will separately contact the original +reporter and other individuals to let them know what actions (if any) we'll be +taking. We will take into account feedback from the individuals involved on the +appropriateness of our response, but we don't guarantee we'll act on it. + +After any incident, the advisory committee will make a report on the situation +to the LLVM Foundation board. The board may choose to make a public statement +about the incident. If that's the case, the identities of anyone involved will +remain confidential unless instructed by those inviduals otherwise. + +Appealing +========= + +Only permanent resolutions (such as bans) or requests for public actions may be +appealed. To appeal a decision of the working group, contact the LLVM +Foundation board at board@llvm.org with your appeal and the board will review +the case. + +In general, it is **not** appropriate to appeal a particular decision on +a public mailing list. Doing so would involve disclosure of information which +whould be confidential. Disclosing this kind of information publicly may be +considered a separate and (potentially) more serious violation of the Code of +Conduct. This is not meant to limit discussion of the Code of Conduct, the +advisory board itself, or the appropriateness of responses in general, but +**please** refrain from mentioning specific facts about cases without the +explicit permission of all parties involved. + +.. _members: + +Members of the Code of Conduct Advisory Committee +================================================= + +The members serving on the advisory committee are listed here with contact +information in case you are more comfortable talking directly to a specific +member of the committee. + +.. note:: + + FIXME: When we form the initial advisory committee, the members names and private contact info need to be added here. + + + +(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 Index: docs/index.rst =================================================================== --- docs/index.rst +++ docs/index.rst @@ -87,7 +87,9 @@ GetElementPtr Frontend/PerformanceTips MCJITDesignAndImplementation + CodeOfConduct CompileCudaWithLLVM + ReportingGuide :doc:`GettingStarted` Discusses how to get up and running quickly with the LLVM infrastructure.