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 Initiative1 to powerful accounts of how these issues and related issues can negatively impact individuals in communities2. These may not apply to you personally, but they do apply to both current and potential future members of our 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:
http://adainitiative.org/2014/02/18/howto-design-a-code-of-conduct-for-your-community/ -
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:
http://couchdb.apache.org/conduct.html
http://apache.org/foundation/policies/conduct.html
http://opensource.box.com/code-of-conduct/
https://github.com/twitter/code-of-conduct/blob/master/code-of-conduct.md
https://code.facebook.com/pages/876921332402685
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.
Thanks,
-Chandler