[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:
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:
> * 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
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 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
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:
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
More information about the llvm-dev