[Development] QUIP 12: Code of Conduct
Thiago Macieira
thiago.macieira at intel.com
Fri Oct 26 07:14:44 CEST 2018
On Wednesday, 24 October 2018 00:17:09 PDT Ulf Hermann wrote:
> Hi,
>
> regarding our earlier discussions on a possible Code of Conduct, here as
> well as at the Contributors' Summit 2017, I've pushed a QUIP with the
> necessary rules and definitions:
>
> https://codereview.qt-project.org/243623
Hello Ulf and everyone else on this thread
I've posted a few comments here and there relating to the process of adopting
anything in our community, but I haven't yet voiced my opinion on this
subject. This email is it.
Note that even though I am speaking for myself, I understand my opinion
reflects on my employer. So I want to say this first: Intel does support Open
Source Projects adopting Code of Conduct as well as actions leading to
increasing access and diversity of ideas, hopefully leading to improved code.
We also particularly like the Contributor Covenant text.
I am also personally in favour of adopting a CoC and I support adopting either
the Covenant text or KDE's. Both are fine to me. Another good one is
Mozilla's[1], which the SQLite developers have just adopted too.
In fact, I was there 10 years ago when KDE decided to adopt something. Back
then, I was also of the opinion that we shouldn't need anything. The KDE
community had always been a welcoming one: in my first Akademy, I was greeted
by people I had only met online as an old friend. Moreover, the KDE community
had always resisted any kind of formal structuring of anything, which led to
the Technical Working Group being created and disbanding in 2006. Even today,
the KDE e.V. takes great steps to make sure it is never seen as a ruling body.
But the CoC was adopted, with no ill effects. I do not have direct knowledge
of where they had to intervene, if at all, but I'm told it has happened. More
importantly, I have also grown as a person since then. In a particularly
telling moment, when a female colleague here in the office (located in a very
affluent, liberal and progressive part of the US) once asked my opinion on the
Python Donglegate incident and explained to me the reason why she interpreted
it the way she did, I realised how my worldview was so very different from
hers. I've come to understand how little things that did not bother me were
highly offensive to her.
I've seen basically three questions asked by the skepticals to this proposal:
1) if it ain't broke, why fix it?
To put it simply: the CoC has as an objective make sure the community is
always welcoming and inclusive. People have a limit on how much hostility
(intended or not) they're going to put up with. If they reach that limit,
they're going to simply avoid it and that can be anywhere from avoiding
contributions to certain parts of the code to stopping contributing altogether
(or worse). We don't want to lose them or their contributions.
Think of the CoC as preventive maintenance: you don't do it because it's
broken. You do it so it *won't* break in the first place.
2) why not let the code rule?
Code does not exist in isolation and the Qt Project is not a set of files in
Git. The Qt Project is a community that maintains that code, so we need rules
beyond code. We have contributors who don't contribute a lot of code, but that
does not make them any less important members of the community.
Besides, any commit comes with a commit message. Any review comes with
feedback and there are few that are simply "+2" with no text. We want good
code, improving Qt and for that we need to interact with one another.
Moreover, the major architectural issues are not discussed in code, but in
prose via email.
Finally, being good at C++ is not an excuse for being a jackass. No one should
get a pass because they're experts at something. We can't make the cold
calculus that "person X's productivity is worth 10 new contributors so we will
allow X's behaviour to turn away 10 contributors". What happens on the 11th?
And what if one of those turned out to be amazing after a few months?
So clearly code is not enough.
3) how do we prevent ill side-effects and abuse?
One ill side-effect would be the turning away of important contributors who
feel that the adoption of the CoC stands in the way of their participation.
But please note that has not happened to any significant manner in any of the
big Open Source Projects that have adopted CoCs. That includes the Linux
kernel: despite what you may have heard in the media, the kernel maintainers
and Linus himself subscribe to the new CoC and Linus has returned to
development.
We can also work with that person to find a compromise solution. I find it
hard to believe we couldn't, if that person is willing to see the other side
of the coin. And I speak from experience on that.
The rest should be in the CoC text itself and how it empowers the resolution
committee to make its decisions as well as any checks-and-balances on the com
committee itself. Specifically, the CoC should not be used to discriminate
against one's political views any more than on another's sexual orientations.
And what you do on your private time is your own business.
[1] https://www.mozilla.org/en-US/about/governance/policies/participation/
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
More information about the Development
mailing list