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

Joachim Durchholz via llvm-dev llvm-dev at lists.llvm.org
Tue Oct 13 12:38:57 PDT 2015


Am 13.10.2015 um 20:17 schrieb Chandler Carruth via llvm-dev:
>
> This is a *specific* thing that is called out time and again as important
> to having an effective code of conduct in all of the research I have done
> on the subject. Here is a really good, and fairly canonical source:
>
> http://adainitiative.org/2014/02/18/howto-design-a-code-of-conduct-for-your-community/

That's an activist site. Also, instructions how to construct a CoC 
according to these activist's ideas.

It's not research. Not on the actual effects of having a CoC.

> This article gives a lot of the core reason why details are often extremely
> important here.

Actually it just claims that these are important. The arguments are 
either nonexistent or known to be invalid:

adainitiative.org wrote:
 >
 > * List specific common behaviors that are not okay
 > * Include detailed directions for reporting violations
 > * Have a defined and documented complaint handling process
 >
 > Without these elements, a code of conduct isn’t worth the electrons
 > used to display it on your computer screen.

Okay, so they claim; let's see what the reasoning is:

 > In fact, a code of conduct that isn’t (or can’t be) enforced is worse
 > than no code of conduct at all: it sends the message that the values
 > in the code of conduct aren’t actually important or respected in your
 > community.

This is patently wrong. It is true that unenforceable bylaws are more 
brittle, but they can work fine for years. Social pressure can be 
entirely enough - spamming, for example, was largely suppressed in the 
Usenet for years until that particular infamous law firm didn't bow back 
in shame but declared that their spamming was actually a "valuable 
service", but it took years and a too-large-to-be-social user group to 
get to that point.

And that's just the case of unenforced bylaws. An informal enforcement 
process can work as well.

Also, remember that their recommendations are in no way safer than any 
alternative. Any community can break, Codes of Conduct or not.
My main worry is that a CoC detailed in that way is going to look 
attractive to the lawyer types.
Also, I know of several occasions where codes of conduct implemented in 
this fashion were instantly abused (false accusations, free reign to 
"mind police" types). Several congresses in Germany had that problem.

Am 13.10.2015 um 20:17 schrieb Chandler Carruth via llvm-dev:
> Now, I understand that for many of you (in fact, I suspect for the
> overwhelming majority of you!) these details aren't necessary. As I have
> said before, the LLVM community has been very effectively keeping its
> forums civil and polite for a long time. But I think we should consider
> that having a code of conduct and having it be detailed might be important
> for *others*.

Yes it might.
What are the numbers? How many aren't actually interested in joining 
LLVM, but just activists?
Not that I'm saying that activism is wrong, I'm just not interested in 
making a community fit their goals - it's generally not a good idea to 
let non-members of a group set the rules for a group. I listen to them 
because a sprinkle of outsider perspective can help break up if a group 
has become self-centered, but I'd be cherry-picking.

> People who have serious concerns about participating safely in a community
> should have some way to be reassured about what is expected within our
> community. A detailed and documented code of conduct is the best way I know
> of to advertise that this is a safe and welcoming space. This isn't just a
> hypothetical either. I personally struggled to feel safe within the LLVM
> community many years ago, and I have had many people specifically call out
> how excited they are to see even a *chance* that the LLVM community will
> explicitly take a stance here.

How many?
How many of these are potential users or contributors of LLVM?
How many of these people are suffering from the "imposter syndrome"? A 
CoC won't really help them, even if they say so, they will still feel 
insecure. (I know that syndrome from personal experience, though not for 
every kind of topic.)
Is the kind of detail necessary to reassure them, or could one draw up a 
less detailed/Draconian CoC that would reassure not just those people 
you know, but also the participants here? (It seems that the language in 
the CoC has triggered a lot of anxiety; reasonable or not, triggering 
that much unintended anxiety is a clear sign of miscommunication.)

> Another (smaller) benefit that a detailed code of conduct can provide is a
> reminder. While I try to behave to the best of my abilities, sometimes I
> have needed a reminder to cool down a bit. I suspect others have had
> similar experiences. Having some details can help us consider things that
> we might not usually consider on a day-to-day basis.

Yes, but again I think it's too detailed.
In particular, those things about racism and violence are so far on the 
dark side that these will be evicted, no pardon given, with or without a 
Code of Conduct. It's simply unnecessary to enumerate all the extreme 
cases if you define a minimum requirement - "be civil" would already 
exlude the whole list without the need to do a lengthy enumeration.

> So I am very strongly in favor of a reasonable amount of clear and detailed
> wording. We could try to word smith a slightly more compact version, but I
> think that we would have very minimal improvements without sacrificing the
> goals above, especially those linked in the article.

Don't take the advice of activists as gospel, however noble their goals 
are (and yes I think their goals are noble, I just question the 
practicality of their advice for setting up a CoC).

> Instead, what I strongly suggest is that we stick with wording such as what
> is proposed, that is *very* close to the Django code of conduct, which has
> been explicitly called out as effective and useful by many people including
> the Ada Initiative. We don't need to invent good words here.

I do not think their recipes are going to achieve what they claim they 
do, and think that they come with a large cost in the form of side 
effects. I think it is possible to do much, much better.
Just don't look at activist sites for good wordings. Look at established 
projects with a long-term record of civil interaction and see how they 
manage.

Actually I'm not yet convinced that LLVM really needs a CoC. If people 
have been reluctant to join, I'm really, really sure it's not due to 
lack of CoC or enforcement; it's just what people say, but you really 
need to give them ways to get their toes wet without embarrasing 
themselves too much - participate in GSoC, mark problems as "easy to 
fix", set up a queue for incoming patches and make that process 
transparent (the latter one is really hard, I have up on contributing to 
Guava because the Guava team's decisionmaking is entirely inside of 
Google) - I don't know how much of this is already happening in LLVM 
because obviously I don't need that kind of encouragement, but that's 
what I have seen has worked resp. has not worked.

Also, being welcoming isn't necessary high on the priority list. LLVM is 
infrastructure, and you need a different mindest. I was just made aware 
of this posting:
https://plus.google.com/+KristianK%C3%B6hntopp/posts/9ZL862AgjqE
He's exaggerating, but he does bring the point home that projects should 
not necessarily welcome everybody. So... what people does LLVM want to 
feel welcome, and what kind of people does LLVM want to look 
unattractive for?


More information about the llvm-dev mailing list