Heavy codes of conduct are unnecessary for open source projects

2025-09-307:54146251shujisado.org

The debate surrounding the Codes of Conduct (CoC) adopted by Open Source projects may be reaching a turning point. In September 2025, a controversy erupted over the governance of RubyGems, a corner…

The debate surrounding the Codes of Conduct (CoC) adopted by Open Source projects may be reaching a turning point. In September 2025, a controversy erupted over the governance of RubyGems, a cornerstone of the Ruby ecosystem, sending significant ripples through the community. While not directly related, this turmoil served as a catalyst for two prominent figures, David Heinemeier Hansson (DHH), the creator of Ruby on Rails, and Eric S. Raymond (ESR), a former Open Source evangelist, to launch scathing critiques of modern CoC–particularly the Contributor Covenant–on X.

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. While both individuals are often seen as controversial figures in the community, their views on this matter align closely with my own.  

How did the CoC, once considered a tool to foster collaboration and maintain a healthy community, become the subject of such intense controversy? This article will historically trace the journey of CoC in open source, from their early days through their proliferation and transformation, to the adverse effects seen today, arguing why an excessive CoC is unnecessary for many Open Source projects. In conclusion, it will show that a return to the CoC’s origins–adopting norms that are right-sized for the scale and culture of individual projects–is the true foundation for a sustainable development community.

Note: This article is an English translation of a post originally written in Japanese. While it assumes a Japanese reader, I believe it may also be useful for an English-speaking audience.

The Code of Conduct was not something suddenly introduced from the outside for ideological purposes. It emerged as a practical solution to a tangible problem within Open Source communities: the tendency for technical disagreements to devolve into personal attacks, severely damaging a project’s overall productivity.

One of the first large-scale demonstrations of a CoC’s effectiveness can be traced back to the state of the Debian project in the early 2000s. At the time, Debian had a culture that maximized developer autonomy and lacked a strong, centralized decision-making body. As a result, maintainers of individual packages and features often adhered so rigidly to their own technical beliefs that it frequently led to stagnation in the project’s overall release schedule.  

This structural problem was most evident in the long and troubled development of Debian 3.1, codenamed “sarge,” which was released in June 2005. Its predecessor, “woody,” had been released in July 2002, meaning nearly three years were spent on the sarge release. This prolonged delay symbolized the exhaustion from constant flame wars and the paralysis of the decision-making process within the Debian community.  

Ubuntu, launched by Mark Shuttleworth in 2004, emerged as a direct answer to Debian’s stagnation and disarray. In addition to its technical promise of a “six-month release cycle,” Ubuntu adopted a CoC from its very inception to ensure the healthy operation of its community. Benjamin Mako Hill, who was deeply involved in the Debian project, played a central role in drafting this CoC. In his own words, the Ubuntu CoC was intentionally codified as a response to the “prickly interactions” he had experienced in other projects (presumably Debian). In short, Ubuntu’s CoC was born from a practical need: to maintain healthy project collaboration in order to maximize technical productivity. This fostered an atmosphere where many felt that “it’s easier to get things done in Ubuntu,” leading numerous developers to shift their activities from Debian to Ubuntu.  

While the effectiveness of the CoC demonstrated by Ubuntu had spread to a few other projects, by the 2010s, the stage for this discussion shifted from online development mailing lists to offline technical conferences, from where it expanded rapidly. It was here that the purpose of the CoC began to pivot significantly, from improving overall “collaborative productivity” to encompassing “participant safety”.  

The catalyst for this transformation was the Ada Initiative, a non-profit organization active from 2011 to 2015. The Ada Initiative highlighted harassment at technical conferences as a serious problem and strongly advocated for the adoption of anti-harassment policies, publishing a template to facilitate this. Conference codes of conduct, which had been nearly non-existent in most communities, quickly became standard industry practice thanks to the Ada Initiative’s efforts.  

Then, in 2013, the “Donglegate” incident at PyCon, Python’s annual conference, decisively visualized the need for CoC. The incident began when a female attendee felt uncomfortable with what she perceived as a sexual joke involving the word “dongle” made by men sitting near her and posted their photo on Twitter. The affair culminated in both one of the men who made the joke and the woman who reported it losing their jobs, laying bare the reality that community conflicts could inflict serious, real-world damage on careers and that informal norms alone were insufficient to resolve such situations. In the aftermath, PyCon updated its policy to include the statement that “Public shaming can be counter-productive to building a strong community,” and the importance of CoC and their enforcement procedures became widely recognized.  

Standardization and Mainstreaming via the Contributor Covenant

The two currents–the “CoC for collaborative productivity” pioneered by Ubuntu and the “CoC for safety” promoted by the Ada Initiative–converged and found their ultimate expression in the “Contributor Covenant,” created by Coraline Ada Ehmke in 2014. The Contributor Covenant was designed as a universal CoC template, not limited to any specific project or event. Its text explicitly lists protected attributes such as age, gender identity, ethnicity, and experience level, and encourages the use of “welcoming and inclusive language” while specifically defining unacceptable behaviors like “personal or political attacks” and “public or private harassment”. Furthermore, it includes detailed enforcement guidelines for investigating and rectifying reported violations, establishing a framework that resembles a legal document rather than a mere statement of principles.  

Thanks to its comprehensiveness and ease of adoption, the Contributor Covenant spread like wildfire, eventually being adopted by tens of thousands of projects, including many IT companies and major open source initiatives. In 2018, Linus Torvalds himself apologized for his past aggressive behavior as the Linux kernel retired its traditional Code of Conflict in favor of the Contributor Covenant. This marked a symbolic turning point, and this heavyweight, standardized CoC has remained the mainstream model to this day.  

Looking back at the history of the CoC, it is clear that its purpose has evolved in stages. It began as a “tool for collaborative productivity” to solve Debian’s dysfunction. Next, spurred by incidents at conferences, it evolved to include a “mechanism for ensuring safety” to protect participants. Finally, with the Contributor Covenant, it morphed into a “standard framework of ethical norms” that defines how a community should be and possesses a stronger legalistic force to compel it. The object of ESR’s and DHH’s criticism is not the practical tool of 2004, but this ethically and legally charged CoC that became dominant after 2014.

Though born from good intentions, the proliferation of strict CoC has introduced new and more severe problems into Open Source governance. The CoC, at times, has transformed from a shield that protects the community into a weapon that fuels internal power struggles and exhausts contributors. While a detailed and strictly enforced CoC may seem to guarantee fair community management in theory, in reality, its complexity can expose structural flaws in governance or create vulnerabilities that can be exploited by malicious actors. The adoption of the Contributor Covenant by the Linux kernel, for instance, was met with both praise and criticism and sparked political conflict in many projects.  

Perhaps the most symbolic case is the shocking incident in November 2021, when the entire moderation team for the programming language Rust resigned. In their public statement, they cited the reason for their resignation as being “in protest of the Core Team placing themselves unaccountable to anyone but themselves,” which resulted in a situation where they were “unable to enforce the Rust Code of Conduct to the standards the community expects of us and to the standards we hold ourselves to”.  

The heart of the problem lay in the governance structure. In the Rust project, members of the moderation team, responsible for enforcing the CoC, were appointed by the Core Team, the project’s highest decision-making body. This meant that the body enforcing the CoC was subordinate to the body that could potentially be judged by it. Under this structure, it was virtually impossible to conduct an independent and impartial investigation or ruling on an alleged violation involving a Core Team member. This incident starkly illustrates that no matter how noble a CoC may be, it becomes a hollow document that only creates friction if there is no independent governance structure capable of applying it fairly, even to the highest levels of project leadership. It stands as a classic example of a CoC failing as a check on power.  

If the Rust case demonstrated the “powerlessness” of a CoC, the ongoing RubyGems incident–the very trigger for this debate–may illustrate how the discourse of governance, including CoC, can be abused as a “tool for seizing power.”

In this case, the non-profit organization Ruby Central, which operates the Ruby community’s infrastructure, is accused of seizing control of the RubyGems and Bundler GitHub organizations from long-time, unpaid maintainers without their consent, allegedly due to pressure from a major sponsor. The official reason cited by Ruby Central was the need to “safeguard the supply chain” and “strengthening our governance processes”–a legitimate and hard-to-oppose justification that carries a certain weight. However, the ousted maintainers claim that the move was, in reality, a centralized takeover driven by the interests of a corporate sponsor, a hostile takeover of the community. While an outsider like myself lacks sufficient evidence to definitively blame one side, if we consider the maintainers’ testimony, this case exposes a more malicious failure pattern: the rhetoric of strengthening governance, such as CoC enforcement or security assurance, can be used not to protect the community, but to strip it of its authority for the benefit of corporations or a select few in power.  

The Rust and RubyGems cases reveal a paradox in CoC governance. A CoC that is powerful enough to curb the overreach of leadership is also powerful enough to be captured by that leadership (or external forces) and used as a tool to dominate the community. The very mechanism designed to protect the community can become the means to usurp its rights. A strict and powerful CoC inevitably requires a complex enforcement body. This body creates a new center of power within the project, and that power becomes exposed to political dynamics and the risk of a takeover. Consequently, making a CoC more complex can unintentionally expand the project’s political “attack surface.” Although this incident is about governance rather than the CoC itself, it suggests the danger of how the weight of norms and governance can become entangled with community division and corporate politics.  

In response to this dysfunction, ESR and DHH have mounted a fundamental critique of the modern CoC paradigm. Though their approaches differ, they share the view that complex, bureaucratic CoC undermine the essence of open source.

ESR’s argument is clear, if somewhat radical. His advice comes in three parts: (1) Refuse to have a CoC. If you have one, delete it. (2) If you must have one for bureaucratic reasons, replace it with this one sentence: “If you are more annoying to work with than your contributions justify, you’ll be ejected.” (3) Attempts to get more specific than this will not work. They will only provide a control surface for troublemakers to manipulate. This position is based on pure meritocracy and consequentialism. The sole metric for evaluation is the net balance between the technical value a contributor brings and the social friction they cause. This is a model that entrusts project leaders with absolute authority to make the final judgment.  

DHH’s critique, while appearing similarly strong at first glance, is more balanced. He calls the Contributor Covenant a “trojan horse” and, as an alternative, praises the “beautiful replacement that Matz put in place for Ruby”. The official Ruby CoC, which DHH describes as “beautiful,” is remarkably simple and consists of the following four basic principles:  

  • Participants are expected to be tolerant of opposing views.
  • Participants must ensure that their language and actions are free from personal attacks and disparaging remarks.
  • When interpreting the words and actions of others, participants should always assume good intentions.
  • Behavior that could reasonably be considered harassment will not be tolerated.  

The effectiveness of the Ruby CoC lies not just in what it says, but in what it does not say. There is no long list of protected attributes, no detailed regulations for a multi-stage enforcement process, and no legalistic terminology. In other words, the Ruby CoC is a statement of principles, not a legal statute. This approach is founded on a high degree of trust in the community, assuming that participants are well-intentioned adults and intervening only in cases of clear misconduct (harassment or personal attacks).  

Strict CoC like the Contributor Covenant can be “weaponized” for political purposes or treated like a legal battle. Vague terms such as “political attacks” create significant room for interpretation, which in turn creates vulnerabilities. Furthermore, enforcement that presupposes official committees, investigation processes, and detailed record-keeping places an unwanted burden on the community. In contrast, the Ruby CoC relies heavily on community consensus to determine what constitutes a violation and depends on existing project leadership without bureaucratic processes.  

In the international Ruby community, there is a guiding spirit known as MINASWAN (“Matz is nice and so we are nice”), which encourages participants to treat each other with consideration and dignity for the mutual well-being of developers and the community. Simply upholding a shared ideal can be sufficient to foster a culture of respect, without the need to explicitly codify detailed clauses or political ideologies, while remaining easy to administer.  

As detailed in this article, the history of Debian and Ubuntu demonstrates that a basic code of conduct is, of course, necessary for large-scale collaboration. However, the subsequent evolution of the CoC has, in some respects, lost sight of its original purpose and introduced new problems to the Open Source community.

The proliferation of CoC like the Contributor Covenant may have been a historical inevitability, but has the pendulum swung too far from one extreme to the other? The widespread adoption of generic, heavyweight frameworks, typified by the Contributor Covenant, has arguably produced severe pathologies: an increase in bureaucratic operational costs, governance crises like the one seen in Rust, and a vulnerability to takeovers by corporations or special interest groups. These frameworks are designed on a premise of low trust in participants and carry the risk of stifling the vibrant, sometimes even sharp, technical debate that is the lifeblood of open source.

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. There is no point in mimicking a massive project like the Linux kernel, which involves developers and large corporations from around the world. For most projects, the Ruby CoC is likely the ideal model. It is short, easy to understand, and principle-based. It focuses on prohibiting clear misconduct like harassment and personal attacks, while trusting the community’s self-correcting mechanisms to handle technical disagreements. This balance is the optimal solution for many projects. It may seem old-fashioned, but in the end, this is the most robust form of a norm.

Open Source projects should reclaim their autonomy regarding CoC. A CoC should be a simple “shield” to protect the community’s core function of building software, not a complex “weapon” that can be turned against the community itself. For the vast majority of Open Source projects, a CoC that fits into just a few lines is not merely sufficient–it is superior. For the longer it is, the more it suggests a past where such things were necessary.


Read the original article

Comments

  • By serial_dev 2025-09-308:389 reply

    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.

    • By throwaway9917 2025-09-3016:322 reply

      My experience with a CoC at a meetup was that one day a bunch of people piled on the mailing list for the meetup demanding that the meetup adopt a CoC. The majority of these people were people that either only infrequently showed up, or hadn't ever shown up to the meetup. The CoC they demanded had a bunch of social justice language. When questioned on the mailing list as to the events that had precipitated the demand, one person said they had attended a meeting and had "felt uncomfortable." However, the organizer of the meetup actually took attendance, and it turned out that the complainer had not attended that day. The whole thing seemed like a ploy to turn the meetup from people who all used the same programming language into some sort of social activism group. This was at the height of #MeToo, and it appeared that this was being weaponized to take over successful technical groups through sympathy for women.

      • By Doxin 2025-10-0210:18

        There's definitely a subset of people out there that are using CoCs as a way to install levers in organisations they can pull. I'm not completely burnt on the concept of CoCs but I definitely am very wary about them and the people who insist on them.

      • By Avshalom 2025-09-3019:551 reply

        [flagged]

    • By weird-eye-issue 2025-09-308:483 reply

      > 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.

      Has it occurred to you that's actually exactly why they exist? :)

      • By blueflow 2025-09-308:572 reply

        I mean. Whenever a code of conduct was installed in a project i was passionate about, i could look up the contributor on twitter/fediverse and see that they are a zealot about their cause. Deflecting and uncompromising, very unagreeable. They would be the last persons to know how to make a community comfy.

        • By ranger_danger 2025-09-3012:15

          Not surprised at the downvotes but this also matches my experience exactly.

          These people (who push for CoCs so heavily) in my experience tend to hypocritically attack and censor opinions they don’t like, while not understanding why people won’t "accept them for who they are".

          They are desperate to be the center of attention and love to play the victim.

          It’s like the bullied becomes the bully sort of thing. They spend more time arguing over weaponized CoCs and ideological SJW politics instead of writing code. It doesn’t help that many of them self-admittedly suffer from mental health problems.

        • By raxxorraxor 2025-09-3013:43

          It just wasn't a very wholesome crowd. I don't have to like everyone, but I expect everyone to not try to ban people just because they have the unfavorable opinion du jours. Maybe write that in a COC, but it should be a premise to begin with.

          On a completely unrelated note, you very, very rarely find real fascists in open source software projects.

          And for even less favorable characters it seemed that it was just powerplay by some actors that wouldn't convince their own mother that they are the most untoxic of them all.

      • By mzhaase 2025-09-309:281 reply

        I have seen multiple CoC being installed with completely good intentions so no.

        • By weird-eye-issue 2025-09-309:49

          Have you ever heard the saying about good intentions? And just because you perceive something that way doesn't mean that's the reality

      • By nitwit005 2025-10-010:14

        If someone files a lawsuit, does it implicitly mean it was filed with good intentions? Sadly, no.

        There are people who will attempt to exploit any system.

    • By port11 2025-10-017:311 reply

      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.

      • By mitchbob 2025-10-0116:511 reply

        Yes, please share. Can you post a link to your CoC?

        • By port11 2025-10-0318:42

          No need for a link, it's about board games and the rules are (paraphrasing):

          1. If you can't make it, let the host know the day before or morning of the event.

          2. If you're playing at a venue, try to buy food or drinks from the venue. Don't bring lots of stuff from the outside.

          3. Be kind and respect other people. Don't damage their games or act mean towards other players.

          We're not super strict, but people have been perma-banned for sexually suggestive remarks or being assholes. I think we've had 3 or 4 really bad cases total. Most people get temporarily kicked out for violating rule #1 a lot.

    • By squigz 2025-09-308:523 reply

      Having something you can point to and say "This is why you're being removed" often removes some headaches. Some people will claim it's unjustified, moderator abuse, etc, if you don't. At least with some rules, there's less wiggle room. Of course, some people are going to respond poorly even with some rules, but it's also not just about the offenders - other community members being able to see there's some logic and reason to removals is good.

      • By hnfong 2025-09-3016:20

        It's never about the rules, it's always about the perceived authority of the moderator or the decision maker.

        This is very much so for small communities who don't have the infrastructure to litigate issues in a legalistic manner... but, even in areas like public law, the rules don't really matter, it's the perceived authority and impartiality of the courts that keep a legal system up and running. (think of any controversial Supreme Court decision -- do people really care what the law actually says and whether the legal reasoning is sound... or do they just speculate about the political leanings of the judges?)

        Since most people writing up CoCs aren't good lawyers or experts in drafting (and finding loopholes in) rules... having a smaller "attack surface" actually makes a lot of sense.

        That said, if the community is large or important enough that it already retains some legal advisors, then maybe yeah, make the rules more specific or something.

      • By HelloNurse 2025-09-309:43

        Assuming a majority of nice people, explicit rules can be exploited by a few assholes against their "enemies", while trusted human moderators only need to be kept in check with elections.

      • By serial_dev 2025-09-309:134 reply

        > often removes some headaches (...) with some rules, there's less wiggle room

        ... I understand that's the theory, but in practice, I've never seen it working that way.

        I don't see how having the CoC affects any of this. If someone is behaving poorly, first of all, a CoC will not deter them. If someone behaves so poorly that you decide you need to remove them, the community (the small portion of people who give a f) should see why you removed them, and again, a made-up "contract" will not be needed.

        It's ok to stand up for yourself and simply say (without pointing to a document you put in your repo when you were bored), that: "John Doe was behaving poorly, and I don't want to deal with him, I banned him, you don't need to like it, but it's my decision".

        Just my 2c... I don't want to add more procedures to my open source projects or voluntary organizing. I'm doing it because I like it, not because I want to pretend I'm at a townhall meeting.

        • By crashabr 2025-09-309:301 reply

          People have different level of tolerance to negative behavior. That includes both your team and your community. Having a clear rules allows you to

          1) point both involved and uninvolved people to the code of conduct when you end up taking action.

          2) avoid disparity of enforcement within your team

          3) funnel disagreements (from both teammates or community members) by focusing them on the rule, rather than on a general debate on how should the community should be managed.

          If people commit a lot of energy to a community/project then for many "I didn't like this behavior, end of discussion" won't cut it.

          • By lelanthran 2025-09-3016:01

            > If people commit a lot of energy to a community/project then for many "I didn't like this behavior, end of discussion" won't cut it.

            Of course it does. If the community/project leaders are not aligned with your ideology, it's better to find one with alignment than to attempt to corner them with a written set of rules.

        • By ang_cire 2025-09-309:211 reply

          > If someone is behaving poorly, first of all, a CoC will not deter them

          I think you mean, "if someone is behaving poorly, the coc did not deter them".

          The people who it did deter aren't behaving poorly.

          • By serial_dev 2025-09-309:384 reply

            I'm just having a hard time imagining someone who wants to be racist sexist xenophobe jerk to other people, but they saw you drafted a CoC last year in the root of your repository, so they won't... Or they were racist sexist xenophobe jerks, then you point out that "our community has a CoC", and they will stop.

            None of these things happen in real life.

            • By OkayPhysicist 2025-09-3022:211 reply

              Written rules aren't for the offenders, they're for the conflict-adverse community members who get uncomfortable when someone needs to be thrown out for community health reasons. They don't really have strong opinions supporting the person's behavior, but they're uncomfortable with the idea of people getting exiled from the community, so come slithering out to protest when an asshole is exiled for being an asshole. Since their primary reason for speaking up in the first place is discomfort with conflict, a quick "they broke the rules" tends defuse further argument.

              • By svieira 2025-10-011:141 reply

                Why wouldn't "I have taken a dislike to them. Pray I do not take a dislike to you as well" also solve these people's problems? There's surely something more than "dislike of conflict" here, or else they wouldn't invite conflict by disagreeing with the now decided and closed conflict's resolution.

                • By OkayPhysicist 2025-10-0115:20

                  Yeah, if a community has someone with that kind of generally trusted authority, that works great. If a community doesn't, agreed upon rules are the next best thing.

            • By fragmede 2025-10-0117:24

              The CoC isn't for them. As you mentioned, they're gonna be assholes no matter what. Kicking someone out of a group is possibly traumnatic but usually a bunch of drama. Having the god king of the group capriciously kick random people out of the group for no clear reason, and without communication as to why leaves the remaining members worried they could be next. I mean, sure, if you want to be the groups dictator and rule by fear, I guess that's fine, but imo that's no way to run things. By having something documented, with a procedure, gives a framework to follow for when you do have to kick someone out that's a bit less made up than "we just didn't like that person".

            • By ang_cire 2025-10-016:411 reply

              Not every person who does something problematic is actively seeking to do so in order to hurt someone. Also, there are plenty of people who are looking for spaces that are "okay" with their views, and a CoC that makes it clear the space is not can absolutely make them avoid it.

              You are so focused on the strawman of problematic people being mustache-twirling villains trying to disrupt spaces they dislike, that you're discounting the actual purpose of CoCs, which is to make it clear who your space is for.

              • By serial_dev 2025-10-0111:362 reply

                > you're discounting the actual purpose of CoCs, which is to make it clear who your space is for

                Code of conduct is not about that. It's about how to behave. My community is not that special that you need a user manual on how to behave, you should have learned it by age 10, latest.

                Technology Z meetup / user group is a space for people who are interested in Technology Z. Repository Y is a space for people who are interested in Repository Y.

                If someone needs a CoC to figure that out, bad luck.

                You want to start discussion about War X, vilify everyone just by being born in that country, please do it outside my repo / user group. Plenty of spaces you can do it and there, you'll be welcome to do so. Want to talk about evil black / white / DEI / right wing people, please also leave my group out of it.

                • By ang_cire 2025-10-0122:33

                  > Code of conduct is not about that. It's about how to behave.

                  Behavior is who people are. It's the 'content of their character' that MLK spoke of.

                  > My community is not that special that you need a user manual on how to behave, you should have learned it by age 10, latest.

                  And yet different communities have vastly different concepts of acceptable behavior. CoCs let people know whether their behavior is acceptable in a community.

            • By thunderfork 2025-09-3018:52

              [dead]

        • By squigz 2025-09-3014:20

          In my experience, it absolutely does help. But everyone has their own experiences.

          > should see why you removed them, and again, a made-up "contract" will not be needed.

          It's not a matter of the action being transparent, it's the motivations. Sometimes, it's not clear to community members why the action was taken, if there's no CoC or rules. "They're being an asshole" is a lot more subjective than "They were breaking the rules"

          > It's ok to stand up for yourself and simply say, without pointing to a document you just put in your repo, that: "John Doe was behaving poorly, and I don't want to deal with him, I banned him, you don't need to like it, but it's my decision". Just my 2c.

          Sure, this might work for a small community or group, but the fiasco with Nix seems to suggest this isn't the case at a certain size. Some people apparently want accountability and transparency from their moderators.

          > Just my 2c... I don't want to add more procedures to my open source projects or voluntary organizing. I'm doing it because I like it, not because I want to pretend I'm at a townhall meeting.

          Great! That's fine! Not every community needs such things. Some do.

        • By danaris 2025-09-3011:521 reply

          > If someone is behaving poorly, first of all, a CoC will not deter them.

          I'm sorry, but that's just not true.

          You're treating humanity as if it's divided into two distinct sections: Those Who Behave Well, and Those Who Behave Poorly.

          In reality, different humans have different ranges of ways they prefer to act, and most are quite amenable to reasonable, clearly-stated codes of conduct for interaction in a particular space.

          There is a small subset of people who are either deliberately antisocial for the sake of it (trolls/griefers/etc), and another subset that are genuinely just assholes who will, if given the leeway to do so, cause endless problems in a community.

          But there are many, many more who would cause friction with others in such a community without a code of conduct not because they actively want to, but because their unstated assumptions about how people should interact clash with the unstated assumptions of other people there. Having the code of conduct lets everyone coming in in good faith align their expectations and avoid these unnecessary conflicts. They're like a Session 0 in a TTRPG in that sense.

          • By ranger_danger 2025-09-3012:181 reply

            > But there are many, many more who would cause friction with others in such a community without a code of conduct

            Hard disagree... I've never seen one have this effect. IMO you don't need a CoC to suddenly understand what should already be common sense i.e. don't be a dick. Either they were already going to act that way, or they weren't.

            • By danaris 2025-09-3013:212 reply

              > I've never seen one have this effect.

              How do you think you would see it?

              Under normal circumstances, what it would look like from the outside is just...someone not causing friction, because there is a code of conduct. Or someone causing friction, because there isn't one.

              The former looks identical to someone who would never have caused trouble in the first place, and the latter looks, if not identical, at least very similar to someone who would have caused trouble, no matter what.

              • By rpdillon 2025-09-3019:131 reply

                Presumably the code of conduct was introduced to solve a problem. So I'd be interested in hearing about an example of a community that had problems with their social fabric, and then introduced a code of conduct, and then could demonstrate that those issues in their social fabric were addressed.

                • By fragmede 2025-09-3023:551 reply

                  In the history of the world? Yeah. Anytime you have a communal living space, you're going have to set norms on what constitutes shared community stuff. Is the milk in the fridge George's and no one is allowed to touch it, or do we, as a household, want milk communism and it just goes as shared groceries and we go often enough that there's always milk? There's not a right answer, but it's up to the community to decide what's normal in its culture. People come from different backgrounds, were born in different countries and have totally different expectations as to what constitutes "don't be an asshole". Do you put your elbows on the table? Is slurping your soup a sign of respect or disrespect? What you don't see is people who see a lack of a code of conduct and then just don't join.

                  • By justinclift 2025-10-019:36

                    Don't these tend to be discussions between the people involved?

                    Whether or not anything needs to be written down afterwards seems like it would be a separate thing.

              • By ranger_danger 2025-09-3018:351 reply

                The way I see it, the people who would cause friction anyway won't be stopped by a CoC.

                And the people who wouldn't cause friction are already behaving so they don't need one.

                Another commenter (cannot find their name now but I saved the text) said exactly what my experience has been:

                > A written code of conduct can legitimize petty disputes based on interpretations of the text, even if the issue itself is something easily addressable like using the word “master” in a programming context. It can become a tool for manipulation (pushing someone out for “CoC violation” vs simply correcting the wording).

                • By danaris 2025-09-3020:531 reply

                  > The way I see it, the people who would cause friction anyway won't be stopped by a CoC.

                  > And the people who wouldn't cause friction are already behaving so they don't need one.

                  Both correct. By definition, in fact.

                  CoCs are for the people in the middle of those. Who do, in fact, exist.

                  • By ranger_danger 2025-09-3022:471 reply

                    I think if someone needs to be told to be nice... it's time to grow up. Open source projects are not your mother and we shouldn't have to treat people like children, nor get chastised for having that (IMO very reasonable) stance.

                    • By danaris 2025-10-010:44

                      It's not about being "told to be nice".

                      It's about setting a shared understanding of norms.

                      It's about whether the kinds of jokes allowed among members are "as raunchy as you please", "polite jokes only," or "none".

                      It's about whether you're expected to work out differences in private chats, address them in public, or bring them to a moderator.

                      It's about whether your comments on a code review started by another member have to be addressed by the committer before the review can go forward.

                      Any time you think the way you do things in the open source project (or any other kind of community) you contribute to or run is The Natural, Obvious Way Everyone Does Things, you're probably wrong, and some other people or projects do things exactly the opposite way and think that's just as natural and obvious.

    • By HankStallone 2025-09-3013:33

      Right. I've seen a CoC used as a power-grab by people who had barely made any contributions to a project, when the people in charge were too easy-going or naive to shut down dishonest use of it, so they tended to side with the squeaky wheel. Once the bad actors got people they didn't like removed or driven away from the project, they just got worse, saying things like "go kill yourself" without consequence, because they were now in control and could interpret the code however they liked or just ignore it.

      You can't write a CoC that will prevent bad behavior from bad actors in charge, so it's worthless at best and a weapon for the unscrupulous at worst. What matters is who enforces standards of behavior, and if those people are decent and honest, no written code is necessary.

    • By atoav 2025-09-3020:332 reply

      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?

      • By integralid 2025-10-0110:56

        >If a code of conducts contains stuff you are within the bounds of anyways, why would you care it is there?

        Maybe he don't want to exclude people who are outside of the CoC norms, but can still be valuable contributors.

      • By justinclift 2025-10-019:391 reply

        > If a code of conducts contains stuff you are within the bounds of anyways, why would you care it is there?

        If it would contain stuff you're within bounds of anyways, then it's entirely unneeded. :)

        • By atoav 2025-10-026:30

          Yes sure, but what I mean here is stuff, that can start interpersonal conflicts. To stay with the band example, different people will have different sensibilties around their equipment and how to respectfully treat it. If everybody does it their way you basically guarantee some sort of clash. The solution is to make a general rule that may seem overly sensitive to that one punk member that throws their gear on a pile, but everybody else is happy and the conflicts are avoided.

          What I want to say here, is that a good code of conduct deals with the stuff that is open to interpretation and defines it. So if our punk-bandmate throws the singers gear on a pile we don't have to argue about different definitions of how we expect others gear to be treated.

          So it is needed precisely because everybody thinks they are just acting normal and within bounds, even when the majority thinks they are not.

    • By cyanydeez 2025-10-011:13

      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

    • By duxup 2025-09-3016:57

      Yeah I'd like to see some examples of "these code of conducts did good thing" before I buy into these things.

    • By curtisblaine 2025-09-308:401 reply

      [flagged]

      • By chrislo 2025-09-308:552 reply

        What evidence do you have for that? I was involved in adopting a code of conduct for a local tech meetup and we did that because a couple of incidents that weren't handled very well left other people feeling unsafe and unwelcome. Having some guidelines in place reassured folks that we took those concerns seriously and gave us a framework to deal with unwanted behaviour.

        • By belorn 2025-09-3012:25

          From my experience, writing rules directly after incidents and as a reaction to incidents do not produce good results. New members of the community 5-10 years later will have no understanding of what the rules are trying to do or why they exist, and when a new incident occur the rules get rewritten again and again. The only effect is the optics as in sending a message that "we take those concern serious", but without substance, and again from experience, those people who was leaning to leave will still leave regardless.

          What has worked in communities I have been active in is to have continuously conversations, in combination with a no-blame culture that provide social safety for people to bring up issues and also room for people to improve without feeling personally attacked (which is the opposite of social safety).

        • By arpinum 2025-09-309:041 reply

          Anti-meritocracy was in in some CoCs, arguing in its favour was a reason for exclusion from an event / project. Even if the argument happened somewhere else on the internet and not in the project.

          • By vkou 2025-09-309:243 reply

            Whenever I see someone dying on the hill of fighting for 'meritocracy', in the words of another poster in this subthread, I have found them to be:

            > ...a zealot about their cause. Deflecting and uncompromising, very unagreeable. They would be the last persons to know how to make a community comfy.

            ... And typically with a giant chip on their shoulder. The real world's a little bit more complicated than the spherical cows that the near-religious faith in it requires.

            • By raxxorraxor 2025-09-3013:521 reply

              It highly depends on what you understand that word to mean. At first it was just meant to to pronounce fairness. Nothing more to it. It was used in a context to explicitly disregard who people are and focus on what they do.

              And of course it wasn't meant as an instruction manual for how to run a society. It was quite explicitly a message that you are not judged by who you are. That is it, there is no ideology, there is no grand idea. That is media garbage that filled your head with a phantom.

              And honestly, that did a much better job than most COC I read.

            • By arpinum 2025-09-309:32

              I'm not sure how your comment is relevant. No one is fighting for meritocracy here. Only providing the requested information about a case where CoC pushed a specific political view and excluded others.

  • By StopDisinfo910 2025-09-308:573 reply

    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.

    • By ranger_danger 2025-09-3012:20

      The problem I have seen with them is that they get weaponized. Someone can point to a specific rule in the CoC that has very subjective language in it, and claim that you are violating the rules, when really they're just doing that to silence opinions they don't like.

      This is further proven when any attempts to discuss said rule/policy are immediately shut down with even more staunch black-and-white opinions and zero empathy... even if you wait until later to discuss it in a different setting.

    • By lenkite 2025-09-3023:53

      The bigger the CoC, the more toxic the project - this is bog-standard law.

    • By squigz 2025-09-3014:211 reply

      > could pretty much be safely ignored by anyone living in the rest of the world.

      While it would be nice if all the ignorant assholes in the world lived in America... this is not the case :)

      • By poncho_romero 2025-10-011:39

        No, but Americans are more litigious than everyone else

  • By noelwelsh 2025-09-309:20

    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.

HackerNews