[llvm-dev] Resuming the discussion of establishing an LLVM code of conduct

Renato Golin via llvm-dev llvm-dev at lists.llvm.org
Thu May 5 14:38:36 PDT 2016

On 5 May 2016 at 21:47, Chris Lattner via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> The Swift community has been using the standard "Contributor Covenant” to
> good effect:
> https://swift.org/community/#code-of-conduct
> http://contributor-covenant.org
> Why do we need to “innovate" here?

Hi Chris,

I think the swift code is simple, and albeit over-specifying, good
enough for most purposes. In comparison to the current proposal, I
think it would be an improvement, but there are two main problems:

   1. We don't have project maintainers.

We have code owners, some of them haven't touched the sources, or
haven't interacted with the community in a while. The current owners
haven't singed up for maintainership (whatever that entails), so we
can't just change the roles.

GCC follows the maintainer model, and I think while this may curb some
code instability, it also slows down progress in the speed we're used
to. I don't want to change that.

I think this format is working well, and formalising maintainers just
for the sake of the CoC would be too much.

   2. We don't have a single strong leader.

We have many strong leaders, but not a single point of reference. You
were much more active years ago, and no one has actually stepped in as
you faded into other projects.

I personally think your "rule" was one that not one of us would be
able to do justice. Mainly because in the the interim, the community
has spread out a bit and an odd form of meritocratic anarchy has
formed. So, while there are barons and generals, there is no king.
LLVM now is used by so many big companies with so much money at stake
that it would be impossible for any single company to completely
control it like when Apple was the single user.

The foundation may have tried to take your place, but I don't think it
succeeded. I don't think it will in its present form, and I personally
think it shows how mature our community really is.

The reason that is so, is because of the wide spread invisible control
that goes on in the back-stage. You rarely see so many closed meetings
in open source conferences as I see in the LLVM dev meetings, and that
is part of the quirks of a permissive license most of the companies we
work for enjoy. While most of us do all the work and discussions in
the open, our companies have their own agenda and it's not uncommon to
see big changes happening without so much of a discussion in the list

Examples are the foundation itself, the code of conduct, the complete
annihilation of the ELF back-end in LLD last year, etc. For a
community that wants to be inclusive by means of a CoC, we surely do a
lot behind closed doors without any discussion in the open.

As others have noticed, the CoC discussion has become polarised, with
two groups sharing their ideas without conceding space. This, to me,
is a beacon that shows me that we still value openness and consensus.
And that is why I still spend my time arguing.

Maybe I'm so wrong, I should be embarrassed. Maybe the foundation now
controls everything and the code will be enforced, and I'll probably
be banned from time to time. I surely hope not, as the last 7 years
have been the best time of my career. But again, I can always do
something else, in a community that is more in sync to my values, if
this is not it.


More information about the llvm-dev mailing list