llvm.org GIT mirror llvm / 348a232
Introduce a *draft* of a code of conduct for the LLVM community and the associated reporting guide. I want to emphasize that at this point these are just drafts! This is the result of very extended discussion on the mailing lists on several different threads: http://lists.llvm.org/pipermail/llvm-dev/2015-October/091218.html http://lists.llvm.org/pipermail/llvm-dev/2016-May/099120.html http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20151019/307070.html The reporting guide in particular I anticipate will be shaped somewhat by the advisory committee when they are selected. But hopefully this serves as a good starting point and good guidance while the advisory committee is being sorted out. I'd like to thank all the folks who contributed to this. Many, *many* people worked to help with drafting, wording, suggestions, and edits. Also, this is based on widely used existing codes of coduct as mentioned in the text, and the original authors of those deserve many thanks as well. Differential Revision: http://reviews.llvm.org/D13741 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274268 91177308-0d34-0410-b5e6-96231b3b80d8 Chandler Carruth 3 years ago
3 changed file(s) with 256 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
0 ==============================
1 LLVM Community Code of Conduct
2 ==============================
3
4 .. note::
5
6 This document is currently a **DRAFT** document while it is being discussed
7 by the community.
8
9 The LLVM community has always worked to be a welcoming and respectful
10 community, and we want to ensure that doesn't change as we grow and evolve. To
11 that end, we have a few ground rules that we ask people to adhere to:
12
13 * `be friendly and patient`_,
14 * `be welcoming`_,
15 * `be considerate`_,
16 * `be respectful`_,
17 * `be careful in the words that you choose and be kind to others`_, and
18 * `when we disagree, try to understand why`_.
19
20 This isn’t an exhaustive list of things that you can’t do. Rather, take it in
21 the spirit in which it’s intended - a guide to make it easier to communicate
22 and participate in the community.
23
24 This code of conduct applies to all spaces managed by the LLVM project or The
25 LLVM Foundation. This includes IRC channels, mailing lists, bug trackers, LLVM
26 events such as the developer meetings and socials, and any other forums created
27 by the project that the community uses for communication. It applies to all of
28 your communication and conduct in these spaces, including emails, chats, things
29 you say, slides, videos, posters, signs, or even t-shirts you display in these
30 spaces. In addition, violations of this code outside these spaces may, in rare
31 cases, affect a person's ability to participate within them.
32
33 If you believe someone is violating the code of conduct, we ask that you report
34 it by emailing conduct@llvm.org. For more details please see our
35 :doc:`Reporting Guide `.
36
37 .. _be friendly and patient:
38
39 * **Be friendly and patient.**
40
41 .. _be welcoming:
42
43 * **Be welcoming.** We strive to be a community that welcomes and supports
44 people of all backgrounds and identities. This includes, but is not limited
45 to members of any race, ethnicity, culture, national origin, colour,
46 immigration status, social and economic class, educational level, sex, sexual
47 orientation, gender identity and expression, age, size, family status,
48 political belief, religion or lack thereof, and mental and physical ability.
49
50 .. _be considerate:
51
52 * **Be considerate.** Your work will be used by other people, and you in turn
53 will depend on the work of others. Any decision you take will affect users
54 and colleagues, and you should take those consequences into account. Remember
55 that we're a world-wide community, so you might not be communicating in
56 someone else's primary language.
57
58 .. _be respectful:
59
60 * **Be respectful.** Not all of us will agree all the time, but disagreement is
61 no excuse for poor behavior and poor manners. We might all experience some
62 frustration now and then, but we cannot allow that frustration to turn into
63 a personal attack. It’s important to remember that a community where people
64 feel uncomfortable or threatened is not a productive one. Members of the LLVM
65 community should be respectful when dealing with other members as well as
66 with people outside the LLVM community.
67
68 .. _be careful in the words that you choose and be kind to others:
69
70 * **Be careful in the words that you choose and be kind to others.** Do not
71 insult or put down other participants. Harassment and other exclusionary
72 behavior aren't acceptable. This includes, but is not limited to:
73
74 * Violent threats or language directed against another person.
75 * Discriminatory jokes and language.
76 * Posting sexually explicit or violent material.
77 * Posting (or threatening to post) other people's personally identifying
78 information ("doxing").
79 * Personal insults, especially those using racist or sexist terms.
80 * Unwelcome sexual attention.
81 * Advocating for, or encouraging, any of the above behavior.
82
83 In general, if someone asks you to stop, then stop. Persisting in such
84 behavior after being asked to stop is considered harassment.
85
86 .. _when we disagree, try to understand why:
87
88 * **When we disagree, try to understand why.** Disagreements, both social and
89 technical, happen all the time and LLVM is no exception. It is important that
90 we resolve disagreements and differing views constructively. Remember that
91 we’re different. The strength of LLVM comes from its varied community, people
92 from a wide range of backgrounds. Different people have different
93 perspectives on issues. Being unable to understand why someone holds
94 a viewpoint doesn’t mean that they’re wrong. Don’t forget that it is human to
95 err and blaming each other doesn’t get us anywhere. Instead, focus on helping
96 to resolve issues and learning from mistakes.
97
98 Questions?
99 ==========
100
101 If you have questions, please feel free to contact the LLVM Foundation Code of
102 Conduct Advisory Committee by emailing conduct@llvm.org.
103
104
105 (This text is based on the `Django Project`_ Code of Conduct, which is in turn
106 based on wording from the `Speak Up! project`_.)
107
108 .. _Django Project: https://www.djangoproject.com/conduct/
109 .. _Speak Up! project: http://speakup.io/coc.html
110
0 ===============
1 Reporting Guide
2 ===============
3
4 .. note::
5
6 This document is currently a **DRAFT** document while it is being discussed
7 by the community.
8
9 If you believe someone is violating the :doc:`code of conduct `
10 you can always report it to the LLVM Foundation Code of Conduct Advisory
11 Committee by emailing conduct@llvm.org. **All reports will be kept
12 confidential.** This isn't a public list and only `members`_ of the advisory
13 committee will receive the report.
14
15 If you believe anyone is in **physical danger**, please notify appropriate law
16 enforcement first. If you are unsure what law enforcement agency is
17 appropriate, please include this in your report and we will attempt to notify
18 them.
19
20 If the violation occurs at an event such as a Developer Meeting and requires
21 immediate attention, you can also reach out to any of the event organizers or
22 staff. Event organizers and staff will be prepared to handle the incident and
23 able to help. If you cannot find one of the organizers, the venue staff can
24 locate one for you. We will also post detailed contact information for specific
25 events as part of each events’ information. In person reports will still be
26 kept confidential exactly as above, but also feel free to (anonymously if
27 needed) email conduct@llvm.org.
28
29 .. note::
30 The LLVM community has long handled inappropriate behavior on its own, using
31 both private communication and public responses. Nothing in this document is
32 intended to discourage this self enforcement of community norms. Instead,
33 the mechanisms described here are intended to supplement any self
34 enforcement within the community. They provide avenues for handling severe
35 cases or cases where the reporting party does not whish to respond directly
36 for any reason.
37
38 Filing a report
39 ===============
40
41 Reports can be as formal or informal as needed for the situation at hand. If
42 possible, please include as much information as you can. If you feel
43 comfortable, please consider including:
44
45 * Your contact info (so we can get in touch with you if we need to follow up).
46 * Names (real, nicknames, or pseudonyms) of any individuals involved. If there
47 were other witnesses besides you, please try to include them as well.
48 * When and where the incident occurred. Please be as specific as possible.
49 * Your account of what occurred. If there is a publicly available record (e.g.
50 a mailing list archive or a public IRC logger) please include a link.
51 * Any extra context you believe existed for the incident.
52 * If you believe this incident is ongoing.
53 * Any other information you believe we should have.
54
55 What happens after you file a report?
56 =====================================
57
58 You will receive an email from the advisory committee acknowledging receipt
59 within 24 hours (and we will aim to respond much quicker than that).
60
61 The advisory committee will immediately meet to review the incident and try to
62 determine:
63
64 * What happened and who was involved.
65 * Whether this event constitutes a code of conduct violation.
66 * Whether this is an ongoing situation, or if there is a threat to anyone's
67 physical safety.
68
69 If this is determined to be an ongoing incident or a threat to physical safety,
70 the working groups' immediate priority will be to protect everyone involved.
71 This means we may delay an "official" response until we believe that the
72 situation has ended and that everyone is physically safe.
73
74 The working group will try to contact other parties involved or witnessing the
75 event to gain clarity on what happened and understand any different
76 perspectives.
77
78 Once the advisory committee has a complete account of the events they will make
79 a decision as to how to respond. Responses may include:
80
81 * Nothing, if we determine no violation occurred or it has already been
82 appropriately resolved.
83 * Providing either moderation or mediation to ongoing interactions (where
84 appropriate, safe, and desired by both parties).
85 * A private reprimand from the working group to the individuals involved.
86 * An imposed vacation (i.e. asking someone to "take a week off" from a mailing
87 list or IRC).
88 * A public reprimand.
89 * A permanent or temporary ban from some or all LLVM spaces (mailing lists,
90 IRC, etc.)
91 * Involvement of relevant law enforcement if appropriate.
92
93 If the situation is not resolved within one week, we'll respond within one week
94 to the original reporter with an update and explanation.
95
96 Once we've determined our response, we will separately contact the original
97 reporter and other individuals to let them know what actions (if any) we'll be
98 taking. We will take into account feedback from the individuals involved on the
99 appropriateness of our response, but we don't guarantee we'll act on it.
100
101 After any incident, the advisory committee will make a report on the situation
102 to the LLVM Foundation board. The board may choose to make a public statement
103 about the incident. If that's the case, the identities of anyone involved will
104 remain confidential unless instructed by those inviduals otherwise.
105
106 Appealing
107 =========
108
109 Only permanent resolutions (such as bans) or requests for public actions may be
110 appealed. To appeal a decision of the working group, contact the LLVM
111 Foundation board at board@llvm.org with your appeal and the board will review
112 the case.
113
114 In general, it is **not** appropriate to appeal a particular decision on
115 a public mailing list. Doing so would involve disclosure of information which
116 whould be confidential. Disclosing this kind of information publicly may be
117 considered a separate and (potentially) more serious violation of the Code of
118 Conduct. This is not meant to limit discussion of the Code of Conduct, the
119 advisory board itself, or the appropriateness of responses in general, but
120 **please** refrain from mentioning specific facts about cases without the
121 explicit permission of all parties involved.
122
123 .. _members:
124
125 Members of the Code of Conduct Advisory Committee
126 =================================================
127
128 The members serving on the advisory committee are listed here with contact
129 information in case you are more comfortable talking directly to a specific
130 member of the committee.
131
132 .. note::
133
134 FIXME: When we form the initial advisory committee, the members names and private contact info need to be added here.
135
136
137
138 (This text is based on the `Django Project`_ Code of Conduct, which is in turn
139 based on wording from the `Speak Up! project`_.)
140
141 .. _Django Project: https://www.djangoproject.com/conduct/
142 .. _Speak Up! project: http://speakup.io/coc.html
8686 GetElementPtr
8787 Frontend/PerformanceTips
8888 MCJITDesignAndImplementation
89 CodeOfConduct
8990 CompileCudaWithLLVM
91 ReportingGuide
9092
9193 :doc:`GettingStarted`
9294 Discusses how to get up and running quickly with the LLVM infrastructure.