Tanya Lattner via llvm-dev
2015-Oct-13 23:11 UTC
[llvm-dev] RFC: Introducing an LLVM Community Code of Conduct
> On Oct 13, 2015, at 2:45 PM, Philip Reames via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > +1 to the general idea of a CoC > > A couple of specific thoughts: > > 1) It would have been nice for this not to appeared out of thin air. In an ideal world, a previous update would have mentioned ongoing thought and research in this area. >Some back story here. I have gotten many requests through email and at the developer meetings about having a Code of Conduct and specifically having one for LLVM Developer Meetings. It has been discussed at many of the LLVM socials as well. I can see in hindsight this might appear to be coming out of nowhere for some, but it really is coming from a need we (the board) heard from the community. Thanks, Tanya> 2) Several folks have mentioned that they'd like to see this less verbose. I disagree, but I do think that it sometimes comes across as focusing too much on the details. It might be good to summarize the general principals, and then list for the more legalistic bits as notes or footnotes. Make it clear that a list isn't the *point*, but it does help to clarify. > > 3) I really liked the suggestion down thread of reframing "reporting" as "asking for moderation". I think it needs to be clear that there can be consequences, but focusing on resolving the situation at hand seems like a better starting point for most discussions. > > Philip > > On 10/12/2015 06:42 PM, Chandler Carruth via llvm-dev wrote: >> Greetings everyone, >> >> On behalf of the board of the LLVM Foundation, I’d like to start the process of introducing a formal code of conduct for the community. >> >> For a long time, various members of the community have been enforcing basic reasonable and respectful behavior, but to an outsider this may not be obvious. A public code of conduct advertises the behavior we expect of community members and clarifies our stance. Having this is something the board feels very strongly about and we know many others in the community do as well. We also think it is important that we establish this prior to the upcoming developer meeting. >> >> When researching this for the board, I looked at a large number of example codes of conduct from various conferences and communities, and I kept coming back to the Django Project’s code of conduct which I think is an extremely good fit for the LLVM community (several other open source projects have ended up using it as well). I have adapted it for our community and our needs, and have a text version below. >> >> Some important considerations: >> - It covers all of the different ways our community has of interacting, not just a mailing list or the conference. >> - It makes very clear the kinds of conduct that are unacceptable, which in research has proven to be very important for such codes of conduct to be effective in practice. >> - It has specific instructions for reporting violations and gives those who report issues reasonable expectations for what the response will be. Again, in my research this has been identified as being a very important aspect to making a code of conduct effective in practice. >> - It does not try to be pedantic or have an overly complex set of rules. >> >> We think that this strikes a good balance and would like to propose the following document for the LLVM project. Once all the comments are addressed, we plan to add it to the LLVM documentation and link to it from relevant places. The “Reporting Guidelines” will be a separate (linked) document for folks to reference if needed. We will also start the process of forming and organizing an advisory committee to handle these kinds of issues. >> >> -Chandler, on behalf of the board >> >> >> ---- >> # LLVM Community Code of Conduct # >> We want to ensure that the LLVM community, while large and diverse, remains welcoming and respectful to all participants. 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 <mailto:conduct at llvm.org>conduct at llvm.org <mailto:conduct at llvm.org>. For more details please see our Reporting Guidelines. >> >> - *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, 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.* We are a community of professionals, and we conduct ourselves professionally. 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 see feel free to contact the LLVM Foundation Code of Conduct Advisory Committee by emailing conduct at llvm.org <mailto:conduct at 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.) >> >> ---- >> # Reporting Guide # >> If you believe someone is violating the code of conduct we ask that you report it to the LLVM Foundation by emailing conduct at llvm.org <mailto:conduct at llvm.org>. *All reports will be kept confidential.* In some cases we may determine that a public statement will need to be made. If that's the case, the identities of all victims and reporters will remain confidential unless those individuals instruct us otherwise. >> >> 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, you can also reach out to any of the event organizers or staff to report it. If you cannot find one of the organizers, the hotel staff can locate one for you. We will also post detailed contact information for specific events as part of each events’ information. Event organizers and staff will be prepared to handle the incident and able to help. Your report will still be kept confidential exactly as above, but also feel free to (anonymously if needed) email conduct at llvm.org <mailto:conduct at llvm.org> if needed. >> >> In your report please include: >> - 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 LLVM Foundation Code of Conduct Advisory Committee acknowledging receipt within 24 hours (and will aim for much quicker than that). >> >> The Advisory Committee will immediately meet to review the incident and determine: >> - What happened. >> - Whether this event constitutes a code of conduct violation. >> - Who the bad actor was. >> - 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 committee's 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. >> >> Once the working group has a complete account of the events they will make a decision as to how to respond. Responses may include: >> - A private reprimand from the working group to the individual(s) involved. >> - A public reprimand. >> - An imposed vacation (i.e. asking someone to "take a week off" from a mailing list or IRC). >> - A permanent or temporary ban from some or all LLVM spaces (mailing lists, IRC, etc.) >> - A request for a public or private apology. >> - Nothing (if we determine no violation occurred). >> >> If not resolved within one week, we'll respond within one week to the original reporter with an explanation of why the situation is not yet resolved. >> >> Once we've determined our final action, we'll contact the original reporter to let them know what action (if any) we'll be taking. We'll take into account feedback from the reporter on the appropriateness of our response, but we don't guarantee we'll act on it. >> >> Finally, 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. >> >> ## Appealing ## >> Only permanent resolutions (such as bans) may be appealed. To appeal a decision of the working group, contact the LLVM Foundation Board at board at llvm.org <mailto:board at llvm.org> with your appeal and the board will review the case. >> >> >> (This text is based on the Django Project Code of Conduct, which is in turn based on wording from the Speak Up! project.) >> >> >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org> >> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev> > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151013/3c19fbf6/attachment.html>
Hal Finkel via llvm-dev
2015-Oct-13 23:22 UTC
[llvm-dev] RFC: Introducing an LLVM Community Code of Conduct
----- Original Message -----> From: "Tanya Lattner via llvm-dev" <llvm-dev at lists.llvm.org> > To: "Philip Reames" <listmail at philipreames.com> > Cc: llvm-dev at lists.llvm.org, "Chandler Carruth" <chandlerc at llvm.org> > Sent: Tuesday, October 13, 2015 6:11:39 PM > Subject: Re: [llvm-dev] RFC: Introducing an LLVM Community Code of > Conduct> > On Oct 13, 2015, at 2:45 PM, Philip Reames via llvm-dev < > > llvm-dev at lists.llvm.org > wrote: >> > +1 to the general idea of a CoC >> > A couple of specific thoughts: >> > 1) It would have been nice for this not to appeared out of thin > > air. > > In an ideal world, a previous update would have mentioned ongoing > > thought and research in this area. >> Some back story here. I have gotten many requests through email and > at the developer meetings about having a Code of Conduct and > specifically having one for LLVM Developer Meetings. It has been > discussed at many of the LLVM socials as well. I can see in > hindsight this might appear to be coming out of nowhere for some, > but it really is coming from a need we (the board) heard from the > community.This is very useful information. Can you summarize the motivations of those making the requests (anonymized, of course)? It seems odd that someone would ask about a 'Code of Conduct' without some particular impetus, and we obviously want to make sure that we're addressing the specific requirements that have come up. What information was being sought? Thanks again, Hal> Thanks, > Tanya> > 2) Several folks have mentioned that they'd like to see this less > > verbose. I disagree, but I do think that it sometimes comes across > > as focusing too much on the details. It might be good to summarize > > the general principals, and then list for the more legalistic bits > > as notes or footnotes. Make it clear that a list isn't the *point*, > > but it does help to clarify. >> > 3) I really liked the suggestion down thread of reframing > > "reporting" > > as "asking for moderation". I think it needs to be clear that there > > can be consequences, but focusing on resolving the situation at > > hand > > seems like a better starting point for most discussions. >> > Philip >> > On 10/12/2015 06:42 PM, Chandler Carruth via llvm-dev wrote: >> > > Greetings everyone, > > >> > > On behalf of the board of the LLVM Foundation, I’d like to start > > > the > > > process of introducing a formal code of conduct for the > > > community. > > >> > > For a long time, various members of the community have been > > > enforcing > > > basic reasonable and respectful behavior, but to an outsider this > > > may not be obvious. A public code of conduct advertises the > > > behavior > > > we expect of community members and clarifies our stance. Having > > > this > > > is something the board feels very strongly about and we know many > > > others in the community do as well. We also think it is important > > > that we establish this prior to the upcoming developer meeting. > > >> > > When researching this for the board, I looked at a large number > > > of > > > example codes of conduct from various conferences and > > > communities, > > > and I kept coming back to the Django Project’s code of conduct > > > which > > > I think is an extremely good fit for the LLVM community (several > > > other open source projects have ended up using it as well). I > > > have > > > adapted it for our community and our needs, and have a text > > > version > > > below. > > >> > > Some important considerations: > > > > > > - It covers all of the different ways our community has of > > > interacting, not just a mailing list or the conference. > > > > > > - It makes very clear the kinds of conduct that are unacceptable, > > > which in research has proven to be very important for such codes > > > of > > > conduct to be effective in practice. > > > > > > - It has specific instructions for reporting violations and gives > > > those who report issues reasonable expectations for what the > > > response will be. Again, in my research this has been identified > > > as > > > being a very important aspect to making a code of conduct > > > effective > > > in practice. > > > > > > - It does not try to be pedantic or have an overly complex set of > > > rules. > > >> > > We think that this strikes a good balance and would like to > > > propose > > > the following document for the LLVM project. Once all the > > > comments > > > are addressed, we plan to add it to the LLVM documentation and > > > link > > > to it from relevant places. The “Reporting Guidelines” will be a > > > separate (linked) document for folks to reference if needed. We > > > will > > > also start the process of forming and organizing an advisory > > > committee to handle these kinds of issues. > > >> > > -Chandler, on behalf of the board > > >> > > ---- > > > > > > # LLVM Community Code of Conduct # > > > > > > We want to ensure that the LLVM community, while large and > > > diverse, > > > remains welcoming and respectful to all participants. 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 at llvm.org . For more details > > > please > > > see our Reporting Guidelines. > > >> > > - *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, 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.* We are a community > > > of > > > professionals, and we conduct ourselves professionally. 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 see feel free to contact the LLVM > > > Foundation Code of Conduct Advisory Committee by emailing > > > conduct at 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.) > > >> > > ---- > > > > > > # Reporting Guide # > > >> > > If you believe someone is violating the code of conduct we ask > > > that > > > you report it to the LLVM Foundation by emailing conduct at llvm.org > > > . > > > *All reports will be kept confidential.* In some cases we may > > > determine that a public statement will need to be made. If that's > > > the case, the identities of all victims and reporters will remain > > > confidential unless those individuals instruct us otherwise. > > >> > > 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, > > > you > > > can also reach out to any of the event organizers or staff to > > > report > > > it. If you cannot find one of the organizers, the hotel staff can > > > locate one for you. We will also post detailed contact > > > information > > > for specific events as part of each events’ information. Event > > > organizers and staff will be prepared to handle the incident and > > > able to help. Your report will still be kept confidential exactly > > > as > > > above, but also feel free to (anonymously if needed) email > > > conduct at llvm.org if needed. > > >> > > In your report please include: > > > > > > - 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 LLVM Foundation Code of > > > Conduct > > > Advisory Committee acknowledging receipt within 24 hours (and > > > will > > > aim for much quicker than that). > > >> > > The Advisory Committee will immediately meet to review the > > > incident > > > and determine: > > > > > > - What happened. > > > > > > - Whether this event constitutes a code of conduct violation. > > > > > > - Who the bad actor was. > > > > > > - 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 committee's 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. > > >> > > Once the working group has a complete account of the events they > > > will > > > make a decision as to how to respond. Responses may include: > > > > > > - A private reprimand from the working group to the individual(s) > > > involved. > > > > > > - A public reprimand. > > > > > > - An imposed vacation (i.e. asking someone to "take a week off" > > > from > > > a mailing list or IRC). > > > > > > - A permanent or temporary ban from some or all LLVM spaces > > > (mailing > > > lists, IRC, etc.) > > > > > > - A request for a public or private apology. > > > > > > - Nothing (if we determine no violation occurred). > > >> > > If not resolved within one week, we'll respond within one week to > > > the > > > original reporter with an explanation of why the situation is not > > > yet resolved. > > >> > > Once we've determined our final action, we'll contact the > > > original > > > reporter to let them know what action (if any) we'll be taking. > > > We'll take into account feedback from the reporter on the > > > appropriateness of our response, but we don't guarantee we'll act > > > on > > > it. > > >> > > Finally, 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. > > >> > > ## Appealing ## > > > > > > Only permanent resolutions (such as bans) may be appealed. To > > > appeal > > > a decision of the working group, contact the LLVM Foundation > > > Board > > > at board at llvm.org with your appeal and the board will review the > > > case. > > >> > > (This text is based on the Django Project Code of Conduct, which > > > is > > > in turn based on wording from the Speak Up! project.) > > >> > > _______________________________________________ > > > > > > LLVM Developers mailing list llvm-dev at lists.llvm.org > > > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > > > > > _______________________________________________ > > > LLVM Developers mailing list > > > llvm-dev at lists.llvm.org > > > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev-- -- Hal Finkel Assistant Computational Scientist Leadership Computing Facility Argonne National Laboratory
Chandler Carruth via llvm-dev
2015-Oct-13 23:43 UTC
[llvm-dev] RFC: Introducing an LLVM Community Code of Conduct
On Tue, Oct 13, 2015 at 4:23 PM Hal Finkel <hfinkel at anl.gov> wrote:> > From: "Tanya Lattner via llvm-dev" <llvm-dev at lists.llvm.org> >> > Some back story here. I have gotten many requests through email and > > at the developer meetings about having a Code of Conduct and > > specifically having one for LLVM Developer Meetings. It has been > > discussed at many of the LLVM socials as well. I can see in > > hindsight this might appear to be coming out of nowhere for some, > > but it really is coming from a need we (the board) heard from the > > community. > > This is very useful information. Can you summarize the motivations of > those making the requests (anonymized, of course)? It seems odd that > someone would ask about a 'Code of Conduct' without some particular > impetus, and we obviously want to make sure that we're addressing the > specific requirements that have come up. What information was being sought? >In fact, I'm not aware of these requests being tied to any particular impetus. While that seems strange to you, it is not uncommon. The industry at large has hit a large number of specific issues over the past few years that have provide (IMO) ample motivation for setting reasonable guidelines in place *before* there is a specific impetus. I don't think there is any reason to be surprised that several people within the community would notice the lack of a code of conduct and wish it existed. I had noted the lack, and I very much wished it existed, but without any specific impetus. Now, a reasonable question is "does this address the concerns of those who have voiced them". I don't want to speak for Tanya, but I have heard confirmation from all of those that I have heard express such a concern that what is being proposed addresses their concerns. (Not to say that it is perfect, just that it appears to be sufficient.) -Chandler -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151013/a3a90c69/attachment.html>