[llvm-dev] RFC: Second draft of an LLVM Community Code of Conduct

Arnaud A. de Grandmaison via llvm-dev llvm-dev at lists.llvm.org
Wed Oct 14 14:49:44 PDT 2015

I very much like that second draft !


> Remember that we're a world-wide community, so you might not be communicating in someone else's primary language.


While there, it might be worth stating as well the “someone else” may also be in a different timezone (or just travelling), and a lack of immediate answer/feedback does not necessarily imply lack of thoughtfulness.






From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Chandler Carruth via llvm-dev
Sent: 14 October 2015 22:36
To: llvm-dev at lists.llvm.org
Subject: [llvm-dev] RFC: Second draft of an LLVM Community Code of Conduct


Greetings all,


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.



High level points about a code of conduct in general:


- 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.


- 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.


- 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.


- 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.


[1]: http://adainitiative.org/

[2]: http://www.perpendicularangel.com/2015/08/no-i-dont-trust-your-conference-without-a-code-of-conduct/

[3]: http://sarah.thesharps.us/2015/10/06/what-makes-a-good-community/



More specific points about the proposed wording:


- 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:



- 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:








That includes the Apache Foundation, Twitter, and Facebook among others. Several of these are based upon the template created by the http://todogroup.com/ 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.


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.


- 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.



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.



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.



I've also sent out a patch which would add these documents to the tree, but with them clearly marked as *drafts*: http://reviews.llvm.org/D13741 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.







LLVM Community Code of Conduct



.. note::


   This document is currently a **DRAFT** document while it is being discussed

   by the community.


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

:doc:`Reporting Guide <ReportingGuide>`.


* **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.** 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.





If you have questions, please 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`_.)


.. _Django Project: https://www.djangoproject.com/conduct/

.. _Speak Up! project: http://speakup.io/coc.html








-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151014/a8a93862/attachment-0001.html>

More information about the llvm-dev mailing list