Regardless of the (undoubtedly funny) nature of that very document, I wish that “codes of conduct” weren’t such a big thing. “Don’t be a dick” is the only rule one would ever need, and there is not much bureaucracy needed to enforce that.
That’s great until someone says “I’m not being a dick, I’m just telling the truth” while being a dick. This is especially easy to pull off against minorities, because the aforementioned “truth” can be based on stereotypes or inaccurate media portrayals.
Depending on the size of the repo and number of contributors.
Small ones, yeah probably a simple “don’t be an asshole” is fine.
It gets harder when your contributors start scaling way up and go international. What might be customary in one culture may be considered rude by another. Allowing for people to be different while also maintaining decorum is important.
I worked on a FOSS project that was very small (~5 devs) and I really had to get used to how upfront the German devs were. We knew each other enough but still.
I’m all in favour of the OpenBSD mantra here: Shut up and code. People aren’t the same, and you can’t expect (e.g.) autists to share the same views about what’s nice and what’s rude as other persons.
The point I’m trying to make is that nice people won’t help the project by being nice people. IT projects are inherently technical, and that should be the only relevant unit of measurement here.
Rather I think what we should wish for is that they be unnecessary, or at least it be unnecessary for them to be as fleshed out as they are. I’ve found a lot of FOSS communities to be quite casually misogynistic—you could just say to ignore it and focus on the code, but it most certainly makes it harder to focus on the code when the community is subtly hostile towards you. If you think CoCs are unnecessary even for large projects then it’s probably because you’re not one of the demographics affected by the problems that led to CoCs proliferating. Once a project has enough of a community around it I think a CoC is reasonable enough in the current culture.
Not everyone has high emotional intelligence. There’s a fair bit of overlap between programmers/engineers and people on the spectrum. A good code of conduct effectively spells out how to avoid being a dick.
Being autistic, I am perfectly comfortable with “don’t be a dick”.
What you’re comfortable with as a contributor is irrelevant. What matters is whether you understand the maintainers’ intent and whether the people you’re interacting with think you’re acting like a dick. Someone who’s bad at understanding how other people feel will likely be bad at predicting what behavior will come across as being a dick.
Just like “reading the rules” for each community. Stop wasting everyone’s time with boilerplate bullshit that shouldn’t need to be said, like treat people with respect, no spamming, etc. If there are community specific rules to adhere to, put them front and center.
I don’t mind CoC’s that much, but I do really dislike Discord server rules that all have the same 10 completely obvious points and then make you search for a password in the rules. I don’t see how having to look for a password in 3 pages of rules that says doxing is bad and being nice is good is going to filter out anyone but the impatient.