> DHH condemned detailed and strict CoC like the Contributor Covenant as a “trojan horse” that should be purged from projects. ESR went even further, asserting that CoC are nothing more than a “tool for troublemakers” and that the best course of action is to delete them entirely from projects.
At this point, in 2025, does anybody seriously doubt that they're a "tool for troublemakers"? A lot of people who would otherwise contribute see a hyper-particular CoC, written by an HR type or an aspiring lawyer, and walk away. Others don't bother to read the CoC and may later be dragged through coals over something exceedingly minor, despite their contributions.
In open-source, the best policy is to avoid CoCs and avoid those who write and promote them.
CoCs are like having faith in some prerequisite magical spell is first necessary to control and compel people to behave in a proscribed manner when, in reality, they are more like EULAs and Cider House Rules that (almost) no one reads. Paperwork cannot transform people. Perhaps their limited marginal value is existing to show that community is defended and there is a clear and thoughtful process to arbitrate and resolve conflict rather than falling into either extremes of absentee inaction or heavy-handed, summary, expedient, arbitrary expulsion.
The thing is that codes of conduct do not help honest actors “regulate” and deal with troublemakers.
I used to organize meetups and I visited meetups organized by others who had code of conduct, and I just never understood what they were hoping to achieve with that.
If someone behaves poorly, you can point at a document all you want, but it doesn’t help you deal that the problematic individual. A document that you put in a markdown file is not enforceable.
And we didn’t even talk about how it is being misused. People would point to these documents to silence and shut out people they don’t like and at the same time tolerate poor behavior that are clearly in violation of code of conduct by people they do like or whose politics or opinions they share.
It is all just a charade to help you pretend that you are impartial.
I play in a band. Since we're just 4 people a code of conduct would be ridiculous. What isn't ridiculous however is that a group of people who do some shit together need to be somewhat on the same page what is acceptable and what isn't. You don't need that with just friends, but any project beyond friends needs people to agree on what kind of social space this is meant to be. If you don't talk it out the shittiest person is going to define it for you.
And beyond a certain size formalizing that makes sense. Not as a tool for punishment or to point to, but so everybody can be on the same page and you know if someone acts out of line they do so despite better knowledge.
If a code of conducts contains stuff you are within the bounds of anyways, why would you care it is there?
Literally pointing at a real thing is useful. Yes, rules are not logical binary that absolves you of activity but having no basis for decision making other than hind brains is how you enter the current American morass.
Its the agreement to argue about a topic that is struck when you make rules.
Not seeing this is how..niholists proliferats with variohs plicit ordering liks might is right
I'm the ‘enforcer’ of a fairly large board games meetup, and the CoC is very simple: there's 3 rules. Newcomers are especially likely to ignore some of these rules, so I notify them the first 2 times. 3rd strike and they're out.
What I like about the simplicity of our CoC is that anyone can read it in a few seconds, and we can point it out to people without seeming bureaucratic or annoying.
Happy to share with others. Complicated CoC documents I've seen at other groups don't seem to do anything besides giving the organisers a feeling of power/that they're doing something. Simplicity might be key here.
CoCs are one of the reasons why I choose to not contribute. I don't enjoy the risk of someone with an axe to grind to drag me into some absurd GitHub comments drama and feel justified by some generic wording on the CoC.
I like your comment, I think I get the spirit of it, as opposed to the other reponses to it which sound to me like opening negotiations for codes of conduct
It seems some people need to re-read the title and article and consider the words "heavy", "bureaucratic" and the like
No, CoCs - or rules in general - are not inherently bad. HN has some, which the moderators and the community enforce well, and it's generally one of the best platforms on the Internet for intelligent discussion.
Yes, heavy CoCs can be weaponized and abused, if there is little or no trust between the community and its leaders. But with or without a CoC, such a community will always be prone to such abuse. You think moderators need to establish a CoC to push their politics on people if they want? How does that even make sense? Why not just... do that, without a CoC?
Maybe a bit of an unpopular opinion here, but I still think the benevolent dictator is the way to go for open-source projects. If you are unhappy with how things are handled, fork it and do better.
However, there's probably a cutoff point for core infrastructure where we should move away from having a single person in charge.
> Participants are expected to be tolerant of opposing views.
If you can't tolerate that others will have different perspectives to you then it means you're likely to be a very difficult and inflexible person to work with.
I want a code of conduct that explicitly allows debate, disagreement, and normalizes hurting other people’s feelings with your words.
What matters is that people are operating in good faith.
I would also say that IF you have been accepted as a member of a community then you and your feelings must matter to that community unless and until you are ejected from the community. There needs to be a system for accepting and expelling people, and that system should rest on the judgment of people that the community has selected as trustworthy (until and unless those people are expelled).
I got a thread closed on KDE last year in order to protect the “feelings” of the devs, after joining the side against the removal of ksysguard in favor of their inferior System Monitor. If they’re willing to end discussion over a product they screwed up, rhetorically, what else are they doing over there at KDE in bad faith?
I'm not very involved in the topic, so my POV might be very wrong - but most effective enforcement, from my overall life experience, is having someone act as a "bad guy" and sharply deal consequences to the people that behave like assholes.
I feel that having a detailed COC, while a very good sentiment in theory, in practice must bring about people who will try their best to skirt around the edge of COC and make trouble for the maintainers - who I expect want to stay "nice", but they're forced to act harshly in the end anyway.
CoC always appeared to me as a US issue which could pretty much be safely ignored by anyone living in the rest of the world. I generally dislike how they tend to be written as objective rules while actually being imperialist but most of them can safely be boiled down to act like a normal professional person.
The implied subtext of "avoid topic the US finds morally objectionable and when in doubt act like an American would" is what I dislike from a theorical point of view but the truth is, it doesn't really matter on a day to day basis.
So yes, CoC seems mostly harmless but also mostly useless. I tend to agree with the article point that if this is the case, keeping them short seems optimal.
Codes of Conduct are pushed by corporate types you want open source projects to act and behave more corporate fashion. I've never seen them make things better.
A big part of a CoC that this article, as most discussions on the topic, miss is that they provide a signal to new contributors from marginalized groups, who may have faced abuse or violence in other spaces, that this community will be safe for them to contribute to and - as many anti-CoC folk like to say - get on with the tech.
Not having a CoC doesn't mean a project is going to be unsafe to work in. But it means when another community member refuses to work with you, or belittles your work constantly, there is nothing to be done. For many, why take the risk. This means that projects are starving themselves of contributors because they don't create an environment that is safe.
Ruby's "CoC" is actually a fantastic example of why you need to spell it out too. "Participants are expected to be tolerant of opposing views." is often weaponized by abusers who like to paint basic requests like "please use my chosen name" as "not being tolerant".
> But it means when another community member refuses to work with you, or belittles your work constantly, there is nothing to be done.
No it doesn't. It just means that there isn't a formal process. The aggrieved party can always contact the project leaders/maintainers, and lodge a complaint.
Sure, the leaders may not do anything with your complaint, but a CoC doesn't guarantee that they will either (even if it does give you a warm fuzzy feeling up-front that they might).
I find it incredibly infantilizing this idea that people can't be good to each other, or people can't feel safe, without some sort of document that lays out behavior expectations. It's so so simple: don't be a dick to people. If someone is being a dick to you, find someone with authority and send them the evidence. If they handle it to your satisfaction, great. If not, stay away from that project, because it's run by people who at worst don't care about you, or at best are inept at handling this sort of thing (and in either case, a CoC is not going to make it better).
For leaders/maintainers, grow a spine. If someone is behaving badly (regardless of whether or not someone complains), talk to them and give them a chance to improve. If their behavior gets better, great. If not, eject them from the community. If they or others aren't happy with your reaction, that's their problem, not yours.
Good article. This sentence from the conclusion nails it:
> What is needed now is not the unthinking adoption of a one-size-fits-all template, but a “right-sized” approach tailored to the scale, culture, and goals of each individual project.
I feel a lot of the heavy CoCs are a product of low-trust cultures, particularly the US, which attempt to replace interpersonal relationships with legalese. This is honestly not necessary in most projects, which are generally high-trust environments.
I feel like this is similar to civil and criminal laws: When codes of conduct are very detailed, lawyers will argue fine points on the wording. When they are simple and general, people can't be 'rules lawyers', but you need to have authority to enforce decisions, and respect for that authority.
... devolves into a massive outcry because a bunch of folks not behaving in good faith didn't like "we don't support fascism or bigotry".
It reached the level of
* Vile sock puppet attacks on a trans individual, who merely kept saying "Fascism, no thanks in this community"
* "Denounce the Marxists!" As a rallying cry becomes a talking point
If you reflect on the behaviours seen there and ask why is this so heated for proposing consequences for bad behaviour; you may come to the realisation that the advocates of bad behaviour... don't want to be accountable.
This post is translated, perhaps some of the nuance is lost. But it hand waves away dhh's behaviour as "controversial figures in the community"
If that's genuinely what is believed, I'd like a replacement on this Overton window, thanks! It has been fractured.
The article does not consider the consequences or implications of malicious acts, and the harm on others adequately.
A clear CoC or similar outlines expected norms, and does not have to be copypasta/is infact better if it is derived from a consensus. It's a statement of what the people with power will hold themselves to, and if that turns out to be a lie - a performative document that is not actually used - newcomers can view the behaviour they observe against that standard; and leave or demand justice if they are wronged.
By not publishing an ethical or moral standard you abide by, even if it's a text file with "get bent" in it; you invite people to interact with you with expectations. If you are part of the 1-4% of the population who are sociopaths, you are advocating to hurt people without consequence. If they are part of the 1-4% you are permitting behaviour without recourse.
Could you imagine a post advocating for "don't fix security holes because 92-98% of people don't know about exploiting them?"
Would that be acceptable?
I don't think your rebuttal is all that convincing, though. What belief do we have that a CoC would have prevented the behavior you note in that pull request? That sock puppet account was either 1) a random drive-by person who isn't associated with NixOS at all, and is just a hateful troll, or 2) is an actual NixOS community member who created a throwaway account to spew garbage.
How does a a CoC fix either of those problems? I'll answer that myself: it doesn't. Random hateful trolling is going to happen everywhere, and all you can do is stamp it out as quickly as possible by deleting comments and banning accounts.
The second possibility is more insidious: that there's a member of the NixOS community with these hateful views, and has otherwise managed to keep those views to themselves in their interactions with the community. Or they sorta maybe kinda keep it under wraps most of the time, and people sorta maybe kinda know about it, but look the other way for whatever reason. If project leadership knows about something like that and doesn't take action, a CoC isn't going to fix that, either.
Posts like this always remind me of Vaclav Havel's "The Power of the Powerless". You are completely misunderstanding the original purpose behind the CoC. Here's the relevant part:
"The manager of a fruit-and-vegetable shop places in his window, among the onions and carrots, the slogan: "Workers of the world, unite!" Why does he do it? What is he trying to communicate to the world? Is he genuinely enthusiastic about the idea of unity among the workers of the world? Is his enthusiasm so great that he feels an irrepressible impulse to acquaint the public with his ideals? Has he really given more than a moment's thought to how such a unification might occur and what it would mean?
I think it can safely be assumed that the overwhelming majority of shopkeepers never think about the slogans they put in their windows, nor do they use them to express their real opinions. That poster was delivered to our greengrocer from the enterprise headquarters along with the onions and carrots. He put them all into the window simply because it has been done that way for years, because everyone does it, and because that is the way it has to be. If he were to refuse, there could be trouble. He could be reproached for not having the proper decoration in his window; someone might even accuse him of disloyalty. He does it because these things must be done if one is to get along in life. It is one of the thousands of details that guarantee him a relatively tranquil life "in harmony with society," as they say.
Obviously the greengrocer is indifferent to the semantic content of the slogan on exhibit; he does not put the slogan in his window from any personal desire to acquaint the public with the ideal it expresses. This, of course, does not mean that his action has no motive or significance at all, or that the slogan communicates nothing to anyone. The slogan is really a sign, and as such it contains a subliminal but very definite message. Verbally, it might be expressed this way: "I, the greengrocer XY, live here and I know what I must do. I behave in the manner expected of me. I can be depended upon and am beyond reproach. I am obedient and therefore I have the right to be left in peace." This message, of course, has an addressee: it is directed above, to the greengrocer's superior, and at the same time it is a shield that protects the greengrocer from potential informers. The slogan's real meaning, therefore, is rooted firmly in the greengrocer's existence. It reflects his vital interests. But what are those vital interests?
Let us take note: if the greengrocer had been instructed to display the slogan "I am afraid and therefore unquestioningly obedient;' he would not be nearly as indifferent to its semantics, even though the statement would reflect the truth. The greengrocer would be embarrassed and ashamed to put such an unequivocal statement of his own degradation in the shop window, and quite naturally so, for he is a human being and thus has a sense of his own dignity. To overcome this complication, his expression of loyalty must take the form of a sign which, at least on its textual surface, indicates a level of disinterested conviction. It must allow the greengrocer to say, "What's wrong with the workers of the world uniting?" Thus the sign helps the greengrocer to conceal from himself the low foundations of his obedience, at the same time concealing the low foundations of power. It hides them behind the facade of something high. And that something is ideology."
> DHH condemned detailed and strict CoC like the Contributor Covenant as a “trojan horse” that should be purged from projects.
Of course he would, he has made several transphobic remarks in the past. Normal people shouldn't take issue with the mere existence of a markdown document that basically says "don't be a dick to people because of who they are". Ostracizing people from projects because you are prejudiced against them, now that hinders open-source. How many potential contributors were scared away by such remarks?
I agree with you in general with your automatic skepticism with something DHH might say on this topic, but:
> Normal people shouldn't take issue with the mere existence of a markdown document that basically says "don't be a dick to people because of who they are".
But that's not what it says. Maybe you can in some squinty way reduce it to that, but that's not all these sorts of documents say, and that's the problem. Most CoCs are fairly specific and strict in what they say people should and shouldn't do, and some of them (like the Contributor Covenant) even includes a process for submitting complaints, and addressing those complaints.
A CoC that just says -- explicitly, without a huge amount of other language -- "don't be a dick" is more or less what ESR and DHH are advocating for. The article goes into detail as to why the author believes that a long, detailed CoC is harmful, and why even if it does essentially just say "don't be a dick", that can cause lots of problems for projects.
this whole article and the resulting hn thread is a nerd snipe. of course esr and DHH are against codes of conduct. they act like bigoted assholes and then throw a fit when people treat them as such.
46 comments
[ 5.0 ms ] story [ 81.9 ms ] threadAt this point, in 2025, does anybody seriously doubt that they're a "tool for troublemakers"? A lot of people who would otherwise contribute see a hyper-particular CoC, written by an HR type or an aspiring lawyer, and walk away. Others don't bother to read the CoC and may later be dragged through coals over something exceedingly minor, despite their contributions.
In open-source, the best policy is to avoid CoCs and avoid those who write and promote them.
I used to organize meetups and I visited meetups organized by others who had code of conduct, and I just never understood what they were hoping to achieve with that.
If someone behaves poorly, you can point at a document all you want, but it doesn’t help you deal that the problematic individual. A document that you put in a markdown file is not enforceable.
And we didn’t even talk about how it is being misused. People would point to these documents to silence and shut out people they don’t like and at the same time tolerate poor behavior that are clearly in violation of code of conduct by people they do like or whose politics or opinions they share.
It is all just a charade to help you pretend that you are impartial.
And beyond a certain size formalizing that makes sense. Not as a tool for punishment or to point to, but so everybody can be on the same page and you know if someone acts out of line they do so despite better knowledge.
If a code of conducts contains stuff you are within the bounds of anyways, why would you care it is there?
Its the agreement to argue about a topic that is struck when you make rules.
Not seeing this is how..niholists proliferats with variohs plicit ordering liks might is right
What I like about the simplicity of our CoC is that anyone can read it in a few seconds, and we can point it out to people without seeming bureaucratic or annoying.
Happy to share with others. Complicated CoC documents I've seen at other groups don't seem to do anything besides giving the organisers a feeling of power/that they're doing something. Simplicity might be key here.
No, CoCs - or rules in general - are not inherently bad. HN has some, which the moderators and the community enforce well, and it's generally one of the best platforms on the Internet for intelligent discussion.
Yes, heavy CoCs can be weaponized and abused, if there is little or no trust between the community and its leaders. But with or without a CoC, such a community will always be prone to such abuse. You think moderators need to establish a CoC to push their politics on people if they want? How does that even make sense? Why not just... do that, without a CoC?
However, there's probably a cutoff point for core infrastructure where we should move away from having a single person in charge.
> Participants are expected to be tolerant of opposing views.
If you can't tolerate that others will have different perspectives to you then it means you're likely to be a very difficult and inflexible person to work with.
What matters is that people are operating in good faith.
I would also say that IF you have been accepted as a member of a community then you and your feelings must matter to that community unless and until you are ejected from the community. There needs to be a system for accepting and expelling people, and that system should rest on the judgment of people that the community has selected as trustworthy (until and unless those people are expelled).
I feel that having a detailed COC, while a very good sentiment in theory, in practice must bring about people who will try their best to skirt around the edge of COC and make trouble for the maintainers - who I expect want to stay "nice", but they're forced to act harshly in the end anyway.
The implied subtext of "avoid topic the US finds morally objectionable and when in doubt act like an American would" is what I dislike from a theorical point of view but the truth is, it doesn't really matter on a day to day basis.
So yes, CoC seems mostly harmless but also mostly useless. I tend to agree with the article point that if this is the case, keeping them short seems optimal.
https://eev.ee/blog/2016/07/22/on-a-technicality/
Not having a CoC doesn't mean a project is going to be unsafe to work in. But it means when another community member refuses to work with you, or belittles your work constantly, there is nothing to be done. For many, why take the risk. This means that projects are starving themselves of contributors because they don't create an environment that is safe.
Ruby's "CoC" is actually a fantastic example of why you need to spell it out too. "Participants are expected to be tolerant of opposing views." is often weaponized by abusers who like to paint basic requests like "please use my chosen name" as "not being tolerant".
No it doesn't. It just means that there isn't a formal process. The aggrieved party can always contact the project leaders/maintainers, and lodge a complaint.
Sure, the leaders may not do anything with your complaint, but a CoC doesn't guarantee that they will either (even if it does give you a warm fuzzy feeling up-front that they might).
I find it incredibly infantilizing this idea that people can't be good to each other, or people can't feel safe, without some sort of document that lays out behavior expectations. It's so so simple: don't be a dick to people. If someone is being a dick to you, find someone with authority and send them the evidence. If they handle it to your satisfaction, great. If not, stay away from that project, because it's run by people who at worst don't care about you, or at best are inept at handling this sort of thing (and in either case, a CoC is not going to make it better).
For leaders/maintainers, grow a spine. If someone is behaving badly (regardless of whether or not someone complains), talk to them and give them a chance to improve. If their behavior gets better, great. If not, eject them from the community. If they or others aren't happy with your reaction, that's their problem, not yours.
> What is needed now is not the unthinking adoption of a one-size-fits-all template, but a “right-sized” approach tailored to the scale, culture, and goals of each individual project.
I feel a lot of the heavy CoCs are a product of low-trust cultures, particularly the US, which attempt to replace interpersonal relationships with legalese. This is honestly not necessary in most projects, which are generally high-trust environments.
Watch how an open discussion here: https://github.com/nixos/rfcs/pull/98
... devolves into a massive outcry because a bunch of folks not behaving in good faith didn't like "we don't support fascism or bigotry".
It reached the level of
* Vile sock puppet attacks on a trans individual, who merely kept saying "Fascism, no thanks in this community" * "Denounce the Marxists!" As a rallying cry becomes a talking point
If you reflect on the behaviours seen there and ask why is this so heated for proposing consequences for bad behaviour; you may come to the realisation that the advocates of bad behaviour... don't want to be accountable.
This post is translated, perhaps some of the nuance is lost. But it hand waves away dhh's behaviour as "controversial figures in the community"
If that's genuinely what is believed, I'd like a replacement on this Overton window, thanks! It has been fractured.
The article does not consider the consequences or implications of malicious acts, and the harm on others adequately.
A clear CoC or similar outlines expected norms, and does not have to be copypasta/is infact better if it is derived from a consensus. It's a statement of what the people with power will hold themselves to, and if that turns out to be a lie - a performative document that is not actually used - newcomers can view the behaviour they observe against that standard; and leave or demand justice if they are wronged.
By not publishing an ethical or moral standard you abide by, even if it's a text file with "get bent" in it; you invite people to interact with you with expectations. If you are part of the 1-4% of the population who are sociopaths, you are advocating to hurt people without consequence. If they are part of the 1-4% you are permitting behaviour without recourse.
Could you imagine a post advocating for "don't fix security holes because 92-98% of people don't know about exploiting them?" Would that be acceptable?
Why would you not state a policy?
How does a a CoC fix either of those problems? I'll answer that myself: it doesn't. Random hateful trolling is going to happen everywhere, and all you can do is stamp it out as quickly as possible by deleting comments and banning accounts.
The second possibility is more insidious: that there's a member of the NixOS community with these hateful views, and has otherwise managed to keep those views to themselves in their interactions with the community. Or they sorta maybe kinda keep it under wraps most of the time, and people sorta maybe kinda know about it, but look the other way for whatever reason. If project leadership knows about something like that and doesn't take action, a CoC isn't going to fix that, either.
"The manager of a fruit-and-vegetable shop places in his window, among the onions and carrots, the slogan: "Workers of the world, unite!" Why does he do it? What is he trying to communicate to the world? Is he genuinely enthusiastic about the idea of unity among the workers of the world? Is his enthusiasm so great that he feels an irrepressible impulse to acquaint the public with his ideals? Has he really given more than a moment's thought to how such a unification might occur and what it would mean?
I think it can safely be assumed that the overwhelming majority of shopkeepers never think about the slogans they put in their windows, nor do they use them to express their real opinions. That poster was delivered to our greengrocer from the enterprise headquarters along with the onions and carrots. He put them all into the window simply because it has been done that way for years, because everyone does it, and because that is the way it has to be. If he were to refuse, there could be trouble. He could be reproached for not having the proper decoration in his window; someone might even accuse him of disloyalty. He does it because these things must be done if one is to get along in life. It is one of the thousands of details that guarantee him a relatively tranquil life "in harmony with society," as they say.
Obviously the greengrocer is indifferent to the semantic content of the slogan on exhibit; he does not put the slogan in his window from any personal desire to acquaint the public with the ideal it expresses. This, of course, does not mean that his action has no motive or significance at all, or that the slogan communicates nothing to anyone. The slogan is really a sign, and as such it contains a subliminal but very definite message. Verbally, it might be expressed this way: "I, the greengrocer XY, live here and I know what I must do. I behave in the manner expected of me. I can be depended upon and am beyond reproach. I am obedient and therefore I have the right to be left in peace." This message, of course, has an addressee: it is directed above, to the greengrocer's superior, and at the same time it is a shield that protects the greengrocer from potential informers. The slogan's real meaning, therefore, is rooted firmly in the greengrocer's existence. It reflects his vital interests. But what are those vital interests?
Let us take note: if the greengrocer had been instructed to display the slogan "I am afraid and therefore unquestioningly obedient;' he would not be nearly as indifferent to its semantics, even though the statement would reflect the truth. The greengrocer would be embarrassed and ashamed to put such an unequivocal statement of his own degradation in the shop window, and quite naturally so, for he is a human being and thus has a sense of his own dignity. To overcome this complication, his expression of loyalty must take the form of a sign which, at least on its textual surface, indicates a level of disinterested conviction. It must allow the greengrocer to say, "What's wrong with the workers of the world uniting?" Thus the sign helps the greengrocer to conceal from himself the low foundations of his obedience, at the same time concealing the low foundations of power. It hides them behind the facade of something high. And that something is ideology."
Of course he would, he has made several transphobic remarks in the past. Normal people shouldn't take issue with the mere existence of a markdown document that basically says "don't be a dick to people because of who they are". Ostracizing people from projects because you are prejudiced against them, now that hinders open-source. How many potential contributors were scared away by such remarks?
> Normal people shouldn't take issue with the mere existence of a markdown document that basically says "don't be a dick to people because of who they are".
But that's not what it says. Maybe you can in some squinty way reduce it to that, but that's not all these sorts of documents say, and that's the problem. Most CoCs are fairly specific and strict in what they say people should and shouldn't do, and some of them (like the Contributor Covenant) even includes a process for submitting complaints, and addressing those complaints.
A CoC that just says -- explicitly, without a huge amount of other language -- "don't be a dick" is more or less what ESR and DHH are advocating for. The article goes into detail as to why the author believes that a long, detailed CoC is harmful, and why even if it does essentially just say "don't be a dick", that can cause lots of problems for projects.