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

Renato Golin via llvm-dev llvm-dev at lists.llvm.org
Tue Oct 13 13:22:00 PDT 2015

On 13 October 2015 at 20:43, Karen Shaeffer <shaeffer at neuralscape.com> wrote:
> I sense you feel passionate about this issue.

Hi Karen,

It's a curse. I speak passionately about every issue. Not necessarily
feel one way or another. :)

> I personally do not feel there is anything in there that is overarching nor
> exclusionary. I don't think such a CoC would limit reasonable expression on
> this list nor more generally in the LLVM community in any way. And it clearly
> invites all individuals to feel welcome. I'm trying to understand what your
> specific objections are.

I have no objections to any CoC, nor to the existence of CoCs in the
first place.

I believe that the whole shenanigans in the Linux Kernel was a major
blunder to all open source projects, as a lot of people feel that
we're all the same. I also know how they can be offensive, rude,
derogatory and in some cases there *were* physical threats over email
/ facebook. But I never read any of that as misogynistic or
homophobic. To me, all that looked like a bunch of trolls having fun,
orcs and uruks fighting for power, standard army behaviour in a
"benevolent dictatorship".

The state that the LKML reached, and the fact that it got better, but
a lot of people still left, tells me that they were so over the edge
that half of the people were already standing on air like the coyote
(ie. beyond their acceptable stress levels). And that happened because
they have knowingly and sometimes intentionally let that happen. We're
not like that, and here I use "we" to define most people that I know
in this community. Some of us may be temperamental, but the majority
of us are not trolls nor we condone it.

If you start reading the emails on this list, including this thread,
you'll see a lot of people "potentially offended" others via jokes,
personal opinions, or bluntness, but on every case, when the
"offended" party replies, the "offender" apologises. This is how I see
our community.

You mentioned the topic of mental disability. One of the common traits
of high functioning autism and what used to be called Asperger's
Syndrome is that people are socially inept but not to a damaging
point. However, those people are also amazing with maths, computers,
logic, philosophy, science and technology. They're curious beyond
hope, and they'll do unbelievable things to develop their passion. But
as anything in life, autism is a spectrum. Every one has a bit of it,
some more than others, and thresholds are arbitrary.

Diagnosing someone with autism means to imply that the autistic
behaviour in that person (which can come in many different "problems")
is damaging enough that that person needs special consideration
towards behaviour or social norm. But that is also arbitrary and
largely the physician's personal opinion. But if you treat that as a
spectrum, it'll be no coincidence that most tech-savvy people (geeks,
nerds, whatever you want to call) are closer to the anti-social end of
the spectrum, and therefore will have more trouble socialising.

This is in no way representative, but it explains why highly technical
communities have such strong and diverse negative effects, reinforced
by confirmation bias, mob mentality, etc. I've seen some pretty inept
people evolving big companies' careers because they were special (in
more than one sense). You can make special people work well, but you
have to make sure not to mix, and most importantly, you have to make
aware to the rest of the team not to be offended, while reiterating to
the person that some behaviours are unacceptable.

All this works well in a company, because there is a clear hierarchy,
which is not true in open source communities. Some exceptional and
problematic people remain on projects if they're put aside, others
just leave and the loss of his exceptional contributions is made up by
more people contributing due to him not being there (you know the
project I'm talking about :). All that did happen in open source
communities without a CoC.

This is *not*, however, an argument against having a CoC. A simple CoC
like "be excellent to each other" is jokingly sufficient, as much as
listing every possible gender-related variations under the sun on a
specific state of a specific country is over-specifying and food for
abuse, as many have mentioned. Neither should be the final document,
but we haven't struck the balance yet.

I know this is an RFC, and I think Chandler did the right thing in
bringing this to the community's attention *before* it was finalised.
This has already started a lot better than the LLVM Foundation. But it
contains two very important things that I'm very worried about:

1. It lists too many specific behaviour, mostly only understood by a
small percentage of the community. Talking about segregating, that
document is the mother of all segregations. My personal opinion, and
others seem to agree, we must get rid of every specific detail. A good
start is the concise list FreeBSD has, ie "Discrimination based on
gender, race, nationality, sexuality, religion, age or physical
disability." Though, I'd replace "race" with "ethnicity".

2. It gives too much power to a group that doesn't exist yet, nor has
any hint as to how that group would be formed. I agree with Chandler
that the CoC is orthogonal IF AND ONLY IF there is no power
transference between the two. If the appealing committee has the power
to suspend, ban or take other actions where the accused has no way to
defend itself, than there is a striking conflict of interests here and
no one should define anything before knowing who these people are and
how do they get there.

As to equality, well, I see everyone equally different, and that's our
power. Man and women (etc) *are* different, ethnic groups *are*
different, religions (or lack thereof) *are* different. But none of
that means one is *better* than the other *beforehand*. People are,
however, better than others in some tasks and not in others, and I
think it's *very* irrational to not mention it.

I suck at social behaviour, I suck at writing short emails, I suck at
working with hardware (I break everything), I suck at keeping multiple
threads rolling with equal efficiency, and there are many other things
I suck at, and if anyone says I don't, I'll be offended that they're
trying to please me. I bet not many people would be offended with
that, shall we encode it on the CoC, too? :)


PS: The use of smiley faces is my way to point at jokes. I know
they're childish but it's a pattern I can easily encode. Non-symbolic
languages are too complex for that.

More information about the llvm-dev mailing list