Disclaimer
=========
Victor, first of all let me clarify that my intervention was not meant as an attack to you. This is not an easy topic to discuss and the risk of being misunderstood is very high. As such, I invite you and everybody else to please assume positive intent on my part and focus on the content of what I am about to write rather than the “form” (note: I’m not a native English speaker), because I would like to raise awareness about something which I believe deserves attention.
Terminology
==========
I think it makes sense to start from the master/slave terminology case, since you mentioned it in your slides and in here. If we remain in the realm of the Python community (python-* ml, BPO, etc.) I think the change was criticized mainly because the rationale was not clear. In practical terms one may argue that the terminology change in itself was harmless, and I have no doubt about your good intentions, but I personally agree with the sentiment that other core-devs have expressed in the ticket and IMHO I deem that as legitimate criticism. As for what happened outside of the python community (reddit, twitter, 4chan, etc.) that’s another story. I am sincerely sorry to hear you received strong personal attacks, but I wouldn’t consider “the internet” (and especially 4chan) as representative of the Python community. Also FYI, the master/slave thing is not a first. It happened in Drupal, Redis and most likely also in other projects, and it also caused endless discussions and backlash, so you’re not the first one who had to cope with this kind of pressure.
The real question here is IMO purely practical: does changing terms (in general, nevermind the specific master/slave thing) really increase “diversity” or prevent people from actually being offended? IMO the answer is no, and if there really is people who feel offended by this I think it should be up to them to step up and clarify exactly how changing terms will have a positive effect.
Anonymous users and CoC
=======================
After the master/slave case a couple of things happened that drew my attention:
- one is this, where an anonymous account requested the change of “offensive” terms due to “inclusivity”
- another one is this where (again) an anonymous user requested to change the “Beautiful is better than ugly” Zen due to “diversity” / “inclusivity”, resulting in an increasingly heated discussion and the subsequent ban of 2 python developers
Now, what do CoCs have to do with this (this was your original question)? I did notice that when such cases occur in other communities there is often an anonymous account appealing to what a CoC says in order to ban offensive terms or a community member due to some violations they may have done. And the OpalGate case I signaled above is an example of this and of how a strict CoC can be used for malicious intents instead of actually protecting the community. And when the CoC is not deliberately malicious it may be too vague/generic, and as such subject to personal (including malicious) interpretation (e.g. when the CoC doesn’t clearly define what constitutes “herassment”, “diversity”, and so on). Now, it seems there are many open source projects which recently adopted either restrictive or generic CoCs, and I’m of the opinion that they cause more harm than good. Here’s another example portrayed by anonymous accounts trying to instill CoCs into the NIM language.
The bullying
==========
I could link more of these but I think my point should be clear. So when you say “there is bullying” I totally I agree with you. It’s there, it’s real and it’s so vicious I seriously have issues to cope with it. And I think we are looking at the same coin, only from 2 opposite standpoints. The way I see it is that the bullying is portrayed by a certain set of people, often anonymous, who throw a bait disguised as good intention (“be kind”), cause a backlash within the community and disappear. And the immediate natural reaction is thinking: [we have a problem → let’s enforce the CoC → let’s remove offensive posts → let’s increase bans], which IMO it appears to be precisely what such anonymous people want.
But who is the real offender here? Those community members who react inappropriately to the OP or the ones who asked for “kindness” in the first place? And why do they never explain why or how exactly banning a term or enforcing a CoC will make things better? What makes things confusing here is IMO the fact that the request appears legitimate on the human level, and as something that any decent person would agree upon (“be kind”, “be inclusive”, “be diverse”, “set CoC/rules for good behavior”, …) but really it isn’t. It’s a subtle witch hunt. See the point I’m trying to make here?
Conclusion
==========
I realize this is a lot to chew on, and I hope who reads this message will understand that writing what I wrote is not precisely relaxing or something I ever desired doing. If I appeared “inquisitive” to some of you recently it was because of this. But it’s 13 years I’ve been on this python train, both as a core-dev and as a library author, and I always contributed out of passion and nothing else, so I feel I owe something to this language which gave me so much in so many ways. Only this time my contribution is not in form of code. I really hope I will not be misunderstood.
EDIT: after this I will do my vote and pull the plug from this and only focus on tech-related contributions whenever I’ll have the time/chance (and if I’ll still can :P). This thing kinda drained me and I also am between jobs, sentimental status changes and a relocation, so I seriously need a long break.
Best,
Giampaolo