<div dir="ltr">Greetings all,<div><br></div><div>First off, thanks to everyone who contributed to the initial discussion thread. Judging by the responses from that thread, there seems to pretty broad interest in pursuing this. There also seem to be a few concerns. =] I'm including an updated draft based on the feedback, and I'll also try to break down the major points I've seen of discussion. Sorry for the long email, but I suspect it is much shorter than trying to read through the entire thread.</div><div><br></div><div><br></div><div>High level points about a code of conduct in general:</div><div><br></div><div>- Is this trying to change how the community behaves? I think the resounding answer is no, this is very much meant to formalize the existing extremely polite and respectful behavior that the LLVM community has had for many years.</div><div><br></div><div>- Was this proposed in response to some particular event or problem? No. There has been mounting pressure throughout the industry and even within our community to take a step like this. There is a particular desire by many to have a code of conduct governing the developer's meeting.</div><div><br></div><div>- Is this necessary? Has this ever come up in the community? Many people have expressed the view that some form of code of conduct is important and/or necessary. Chris has pointed out that there have been incidents that necessitated the degree of response outlined in this at least once in the past, but it was *many* years ago.</div><div><br></div><div>- Why is this important? There is a tremendous amount of information online about why having these types of rules makes a huge difference for people who may feel unsafe in our community or conference. These range from advocacy from groups like the Ada Initiative[1] to powerful accounts of how these issues and related issues can negatively impact individuals in communities[2][3]. These may not apply to you personally, but they do apply to both current and potential future members of our community.</div><div><br></div><div>[1]: <a href="http://adainitiative.org/">http://adainitiative.org/</a></div><div>[2]: <a href="http://www.perpendicularangel.com/2015/08/no-i-dont-trust-your-conference-without-a-code-of-conduct/">http://www.perpendicularangel.com/2015/08/no-i-dont-trust-your-conference-without-a-code-of-conduct/</a></div><div>[3]: <a href="http://sarah.thesharps.us/2015/10/06/what-makes-a-good-community/">http://sarah.thesharps.us/2015/10/06/what-makes-a-good-community/</a></div><div><br></div><div><br></div><div>More specific points about the proposed wording:</div><div><br></div><div>- Why enumerate specifics in the code of conduct? While some people do not need any specific examples, others benefit significantly from them. In minor cases, these examples can serve as reminders for well intending members of the community. But to understand the major reasons, consider someone who is seriously concerned about whether they will be safe and respected in the community. These people do exist, both already in our community and as potential newcomers (see the links above). You may not be one of them, but try to empathize. These people can look to a list of explicitly called out unacceptable behavior, find many of their concerns already addressed, and learn that they will indeed be safe and welcome. For groups and behaviors where this is a long standing and widespread problem *for them*, this can be the difference between joining a community and not joining. To read more details about this, I continue to refer to this article from the Ada Initiative:</div><div><a href="http://adainitiative.org/2014/02/18/howto-design-a-code-of-conduct-for-your-community/">http://adainitiative.org/2014/02/18/howto-design-a-code-of-conduct-for-your-community/</a><br></div><div><br></div><div>- Why use this specific wording? What about something much less verbose? Some of this is really the previous point in another form. However, there are reasons why I think this wording is a really good choice for the community even compared to other wording options. One, I have seen few that are meaningfully less verbose and still address the specifics. Two, this wording is *really* widely used. While I looked to and cited the Django Project, they are not alone. Here are some of the places using roughly the same core wording:</div><div><br></div><div><a href="http://couchdb.apache.org/conduct.html">http://couchdb.apache.org/conduct.html</a><br></div><div><a href="http://apache.org/foundation/policies/conduct.html">http://apache.org/foundation/policies/conduct.html</a><br></div><div><a href="http://opensource.box.com/code-of-conduct/">http://opensource.box.com/code-of-conduct/</a><br></div><div><a href="https://github.com/twitter/code-of-conduct/blob/master/code-of-conduct.md">https://github.com/twitter/code-of-conduct/blob/master/code-of-conduct.md</a><br></div><div><a href="https://code.facebook.com/pages/876921332402685">https://code.facebook.com/pages/876921332402685</a></div><div><br></div><div>That includes the Apache Foundation, Twitter, and Facebook among others. Several of these are based upon the template created by the <a href="http://todogroup.com/">http://todogroup.com/</a> organization which is extremely similar, but a bit longer than what is proposed here. So I believe that the core body of the wording has a really strong position in the larger industry and open source community.</div><div><br></div><div>Naturally, the surrounding wording that gives the important context relevant for the *LLVM* community is and needs to be customized. But I have seen very few concerns about these parts of the text.</div><div><br></div><div>- Do we need the degree of specificity with the "reporting guide"? See the discussion about specificity in general -- much of the same applies. Part of what the code of conduct needs to do to effectively make people feel safe is to advertise that we *will* actually act on issues when they come up. Again, this is nothing new to the community; we have asked people to correct their behavior before, and as Chris has pointed out even removed them from the community's forums in extreme cases.</div><div><br></div><div><br></div><div>Issues around the specific people and process surrounding the advisory committee: We frankly don't have this sorted out yet. Clearly, we need to sort it out before this can be fully effective. I think we can make progress on converging on the code of conduct and the reporting guide, and then iterate on what the advisory committee looks like.</div><div><br></div><div><br></div><div>I am sure I have missed some points in all of this, and for that I'm sorry. However, I am intentionally not going to engage in some of the very off topic discussions. For example, there was some excellent discussion about the Foundation itself. That feedback was I think well received and will be acted upon. I would expect updates and further discussion there in separate threads though.</div><div><br></div><div><br></div><div>I've also sent out a patch which would add these documents to the tree, but with them clearly marked as *drafts*: <a href="http://reviews.llvm.org/D13741">http://reviews.llvm.org/D13741</a> This is based on the excellent suggestion by Philip. Please only make editorial and structural comments there, we should keep the vast majority of the content discussion here. To that end, the drafts are copied inline at the bottom.</div><div><br></div><div>Thanks,</div><div>-Chandler</div><div>---------</div><div><br></div><div><div>==============================</div><div>LLVM Community Code of Conduct</div><div>==============================</div><div><br></div><div>.. note::</div><div><br></div><div>   This document is currently a **DRAFT** document while it is being discussed</div><div>   by the community.</div><div><br></div><div>We want to ensure that the LLVM community, while large and diverse, remains</div><div>welcoming and respectful to all participants. To that end, we have a few ground</div><div>rules that we ask people to adhere to.</div><div><br></div><div>This isn’t an exhaustive list of things that you can’t do. Rather, take it in</div><div>the spirit in which it’s intended - a guide to make it easier to communicate</div><div>and participate in the community.</div><div><br></div><div>This code of conduct applies to all spaces managed by the LLVM project or The</div><div>LLVM Foundation. This includes IRC channels, mailing lists, bug trackers, LLVM</div><div>events such as the developer meetings and socials, and any other forums created</div><div>by the project that the community uses for communication. It applies to all of</div><div>your communication and conduct in these spaces, including emails, chats, things</div><div>you say, slides, videos, posters, signs, or even t-shirts you display in these</div><div>spaces. In addition, violations of this code outside these spaces may affect</div><div>a person's ability to participate within them.</div><div><br></div><div>If you believe someone is violating the code of conduct, we ask that you report</div><div>it by emailing <a href="mailto:conduct@llvm.org">conduct@llvm.org</a>. For more details please see our</div><div>:doc:`Reporting Guide <ReportingGuide>`.</div><div><br></div><div>* **Be friendly and patient.**</div><div><br></div><div>* **Be welcoming.** We strive to be a community that welcomes and supports</div><div>  people of all backgrounds and identities. This includes, but is not limited</div><div>  to members of any race, ethnicity, culture, national origin, colour,</div><div>  immigration status, social and economic class, educational level, sex, sexual</div><div>  orientation, gender identity and expression, age, size, family status,</div><div>  political belief, religion or lack thereof, and mental and physical ability.</div><div><br></div><div>* **Be considerate.** Your work will be used by other people, and you in turn</div><div>  will depend on the work of others. Any decision you take will affect users</div><div>  and colleagues, and you should take those consequences into account when</div><div>  making decisions. Remember that we're a world-wide community, so you might</div><div>  not be communicating in someone else's primary language.</div><div><br></div><div>* **Be respectful.** Not all of us will agree all the time, but disagreement is</div><div>  no excuse for poor behavior and poor manners. We might all experience some</div><div>  frustration now and then, but we cannot allow that frustration to turn into</div><div>  a personal attack. It’s important to remember that a community where people</div><div>  feel uncomfortable or threatened is not a productive one. Members of the LLVM</div><div>  community should be respectful when dealing with other members as well as</div><div>  with people outside the LLVM community.</div><div><br></div><div>* **Be careful in the words that you choose.** We are a community of</div><div>  professionals, and we conduct ourselves professionally. Be kind to others. Do</div><div>  not insult or put down other participants. Harassment and other exclusionary</div><div>  behavior aren't acceptable. This includes, but is not limited to:</div><div><br></div><div>  * Violent threats or language directed against another person.</div><div>  * Discriminatory jokes and language.</div><div>  * Posting sexually explicit or violent material.</div><div>  * Posting (or threatening to post) other people's personally identifying</div><div>    information ("doxing").</div><div>  * Personal insults, especially those using racist or sexist terms.</div><div>  * Unwelcome sexual attention.</div><div>  * Advocating for, or encouraging, any of the above behavior.</div><div>  * Repeated harassment of others. In general, if someone asks you to stop,</div><div>    then stop.</div><div><br></div><div>* **When we disagree, try to understand why.** Disagreements, both social and</div><div>  technical, happen all the time and LLVM is no exception. It is important that</div><div>  we resolve disagreements and differing views constructively. Remember that</div><div>  we’re different. The strength of LLVM comes from its varied community, people</div><div>  from a wide range of backgrounds. Different people have different</div><div>  perspectives on issues. Being unable to understand why someone holds</div><div>  a viewpoint doesn’t mean that they’re wrong. Don’t forget that it is human to</div><div>  err and blaming each other doesn’t get us anywhere. Instead, focus on helping</div><div>  to resolve issues and learning from mistakes.</div><div><br></div><div>Questions?</div><div>==========</div><div><br></div><div>If you have questions, please feel free to contact the LLVM Foundation Code of</div><div>Conduct Advisory Committee by emailing <a href="mailto:conduct@llvm.org">conduct@llvm.org</a>.</div><div><br></div><div><br></div><div>(This text is based on the `Django Project`_ Code of Conduct, which is in turn</div><div>based on wording from the `Speak Up! project`_.)</div><div><br></div><div>.. _Django Project: <a href="https://www.djangoproject.com/conduct/">https://www.djangoproject.com/conduct/</a></div><div>.. _Speak Up! project: <a href="http://speakup.io/coc.html">http://speakup.io/coc.html</a></div><div><br></div></div><div><br></div><div>-------</div><div><br></div><div><br></div><div><br></div><div><br></div></div>