Distribution of the Code of Conduct

I really, really don’t want to start one of those threads, but I just gave this template a try and feel compelled to say something. I’m doing it here and not in an issue or pull request to limit, as far as I can, the exposure these words will get. This is also the first time I’ve used a throwaway to discuss software development, which is kinda sad.

I was surprised, and a little shocked, to find that code_of_conduct.md is distributed as part of the template. Respectfully, I don’t think it should be there. I have two primary justifications for this.

First, a CoC is for the community, and mere consumption of this template is not tantamount to being active in the community. Chestnut can be consumed by an automated script, for instance, and a computer has no notion of morality. It is completely redundant, and adds zero value to the consuming project. It’s a social/political statement…which brings me to my second point.

There is a reason the phrase “no politics at the dinner table” exists. It polarises people, and creates a potential for discord where previously none existed. It may be the case that no discord will arise, and everyone will agree, but it may also spark a ‘civil war’, as evidenced by countless high-profile Github issues where these things get fought out. Baiting these wars is the antithesis of fostering inclusion. I see this latter case so often it makes my heart sink, and seeing code_of_conduct.md in my new project directory made me angry - not because I disagree with equality and being a nice person, but because it seemed so naive and provocative. Whatever the reason, it made me, a user, angry. I don’t see how that can be defended.

I believe strongly in equality and being nice, but I also believe that, however good natured the motivations, things like this do more harm than good. Rules are only as good as their enforcement, and the mere existence of a CoC isn’t going to change anyone’s opinions on a matter that people seem, almost universally, to take very personally. I posit that nobody like me has read a CoC and changed how they feel about the issues dealt with, at best they will feel marginalised and maybe a bit angry. They’re divisive, we see that, we know that. The only difference is that it draws the lines in a different place than the discriminatory attitudes of yore. At the end of the day we’re still segmenting people into good and bad, acceptable and unacceptable, and that’s a failure for inclusion. Despite the fact that I believe in the sentiment of the CoC, my disdain for the existence of CoC’s in general makes me feel like the Chestnut community categorizes me as a bad/unacceptable person, without even the slightest opportunity to defend myself. tl;dr chestnut made me feel shitty.

If I ever contribute to Chestnut I will comply with the CoC, that’s a given, and I’ll be nice and respectful as I hope I have been in this post. But I ask you respectfully, please don’t spam my file system with moral propaganda.

For those who may be wondering, or perhaps demonising some mental caricature of me - yes I’m white, male, and well-educated, but to see relevance in that is racism. I’m also disabled in a way that makes CoC’s relevant to me, but to see relevance in that is, by definition, discriminatory. At the end of the day we all want a world where none of this stuff matters, and I think the way to get there is just to start treating it that way, not to make a massive song-and-dance about it in these moral documents that divide people further. But I’m not asking you to abandon your CoC, I’m just asking you not to pollute my computer with something that serves no function and actively makes me upset.

Thank you for respectfully sharing your opinion.

Chestnut is an opinionated template, and as such contains things like LICENSE and code_of_conduct.md, simply because they’re Good Things To Have. You are welcome to remove or change them if they don’t fit your project, as many people do.

I do agree that simply generating a CoC without context does not mean it will be enforced, or its reason understood. The Bundler project does a better job here by providing some helpful links.

Creating gem ‘myapp’…
Do you want to include a code of conduct in gems you generate?
Codes of conduct can increase contributions to your project by contributors who prefer collaborative, safe spaces. You can read more about the code of conduct at contributor-covenant.org. Having a code of conduct means agreeing to the responsibility of enforcing it, so be sure that you are prepared to do that. For suggestions about how to enforce codes of conduct, see bit.ly/coc-enforcement. y/(n):

I think this is a great idea, and would happily accept a pull request that implements this.

There is no such thing as apolitical technology. Only those with enough privilege can pretend otherwise. I am sorry that Chestnut made you upset, but every day people in open source get harassed, doxxed, or receive death threats, and this is a greater concern to me. Deciding to stay “neutral” means supporting this status quo. Therefore Chestnut encourages you to at least consider taking a stance when starting what might be an open source project.

Technologically Chestnut is trivial, it just ties together the hard work of others. I care very little for the code itself. The reason Chestnut exists is to provide a better experience for beginners, and to form an exemplary community around that. I can see how pushing for a CoC might put people off, but I see more value in including those that feel safer and more welcome because it is in place. I hope to see the same attitude from projects that build on Chestnut, although that is entirely at the discretion of those projects.

Thank you for the thoughtful reply.

I do understand your point of view, but I still don’t agree this is the way to utopia. LICENSE files aren’t code, but they tend to be shipped because quite often there’s a legal necessity to do so. And README files are inherently useful, so they pay their way. A CoC is none of these things, it’s a document that says “these moral lines exist”, but fails to actually paint the lines - words like “nice” and “respectful” are far too vague to have any real meaning in a code. Users/contributors/etc are left knowing there are rules, but not what the rules actually are, and that any infraction is necessarily open to interpretation. But by whom? People with the commit bit? The raving mob that arrive from news aggregation sites like HN or Reddit? It doesn’t take a great deal of imagination to see that this will ultimately lead to a stratification of these communities, where minority views are judged by a tiny elite or a phalanx of vox pops, irrespective of their actual merit. Personally, I have too much self-respect to entertain either of these notions, and I find it appalling that anyone would be arrogant enough to proclaim that they have that right.

Linux would not be where it is today if CoC’s were a thing back in the day - Linus would have been ostracised from the get-go, would never have won the Millennium Technology Prize, and would probably be in an apartment somewhere drinking himself to death after realising that the industry where he could do what he is best at didn’t want him. Is that really the future we want? A homogenous society of do-goodery? That would scare the shit out of me, if I didn’t already know it was impossible. We’ve tried this before, it’s called religion, and it’s a proven bad idea. Vague and abstract notions of right and wrong, interpreted and enforced by self-appointed official fanatics and backed with the ‘muscle’ of legions of supporters. But priests get it wrong, people like Galileo are persecuted, and actual progress is slowed.

I promise you we, as a society, are playing with fire with this stuff. All we have to do is be tolerant of everything but intolerance. If one accepts that, one cannot also accept the notion of a CoC, which, through lack of precision, almost guarantees intolerance when the time comes to interpret it so as to ascertain someone’s guilt.

Free speech is a thing not because someone thought it would be nice, but because we’ve been here before. We’ve seen the trouble that comes with this kind of social authoritarianism and we’ve rejected it. CoC’s are a step backwards, not forwards.

If you can understand this point of view you can understand why it upsets people like me, and you now have to consciously decide whether doing that is a price worth paying. Are CoCs doing enough good in the world to warrant that? And bear in mind I’m not the only one, the “NoCoC” “movement” shot to the top of HN a few weeks ago, amassing something like 400 points in 45 minutes before it was flagged and removed for being divisive.