>>850727 (OP)
>Why does every project need a COC?
They don't. A project should at most have a basic understanding of normal netiquette right from the get-go. At worst, maybe a couple of guidelines for project-related issues that have been beaten to death and are getting in the way of further development elsewhere. Things like this are poison.
However, keep in mind that, the above works in environments from 10-20 (or more) years ago when you had a technical culture with a hacker ethos and competent people writing code who could butt heads with each other and come out with a few bruises despite massive fireworks. But the people who are coding now are not cut from that cloth. What you are dealing with now, are hair-dyed quislings who get easily upset at everything under the sun and have trouble committing changes that don't cause the projects they are working on to vomit uncontrollably to death...let alone do anything to improve security, cut out bloat (etc etc). The closest to "hacking" they've ever gotten is replacing the sandwich bread at McSoynalds with "beef" patties and then posting about their brave "menu hack" on Facebook and how they only had to spend a few extra bucks for the opportunity to do this. The damn problem is that due to the West's education systems being fucked up 18 ways to Sunday, it's either them or the pajeets. Or at least it USED to be the problem, increasingly now you have the bones of once competent companies now being run (into the ground) by these idiots.
They are wholly unable to take harsh criticism, think ahead, or act rationally in difficult situations. They've been conditioned to snap at anything that disturbs this bubble. They have little personal curiosity or interest in self improvement beyond those areas that immediately benefit them. Some can snap out of this but in many cases - especially in environments where this kind of behavior is encouraged by others - they remain permanently stuck in a loop where they are too cowed to do much.
For these people, a Code of Conduct is salvation. It removes all possible means of external conflict, including conflict that could drive their developments forward, and replaces it with a grey square box that will protect their already fragile sensibilities, where they can work with people who they share no real dissimilarities to, from personality preferences to coding quality. Everything becomes predicable and samey. Something that is seen as beneficial by those who don't want any surprises; nothing that would be disruptive or unknown in a project they are using CoCed product for, and also no mavericks who will disrupt lucrative product lines or even social engineering efforts in one form or another before their time.
This of course is poison to FOSS or indeed programming as anything serious whatsoever, but noone who has any positive regard for a CoC AND also knows what it will do to a project (since there are useful idiots as always) will give a damn. Not that the aforementioned useful idiots would either, but their path to Hell based on "good" intentions is quite another thing than trying to drag one of the few net positives to human development in the last 100 years TO Hell...so really, why even bother disambiguating?