
The prospect of fashy RubyGems.org/Ruby Central getting displaced by a literal coop with a .coop domain name ( https://gem.coop ) is beyond entertaining for me. I am so excited. LFG
#Tag
The prospect of fashy RubyGems.org/Ruby Central getting displaced by a literal coop with a .coop domain name ( https://gem.coop ) is beyond entertaining for me. I am so excited. LFG
The prospect of fashy RubyGems.org/Ruby Central getting displaced by a literal coop with a .coop domain name ( https://gem.coop ) is beyond entertaining for me. I am so excited. LFG
I need some help. It’s about… well, a lot, but it’s also about the Ruby community.
A few days ago Drew DeVault created an issue on Omarchy requesting adding a Code of Conduct. Unsurprisingly, it was heavily downvoted and closed as not planned. Of course, Dave twitted (twat? It seems like it should be an irregular verb) about it: https://xcancel.com/dhh/status/1971454220726566998
His point is that principle-based short community guidelines are better than detailed CoC like the Contributor Covenant. He specifically highlights “the beautiful replacement that Matz put in place for Ruby when they came for him with this bullshit”: https://rubyonrails.org/conduct
BTW, while the guidelines are on the Ruby website (https://www.ruby-lang.org/en/conduct/) I don't see them linked anywhere. I could only get to the page through search.
Anyway… Shortly after Eric S. Raymond expressed an opinion that ‘”Codes of Conduct” have been a disaster’ and called for removing them: https://xcancel.com/esrtweet/status/1971768345188844003 And if legally required replacing them with basically a single sentence: “If you are more annoying to work with than your contributions justify, you’ll be ejected.”
Now, here’s where I need some help. My Japanese is really bad. I might’ve misunderstood something. I’d love some input from people who speak Japanese.
So right after that Shuji Sado wrote a post about how CoCs are bad actually. His twitter bio states these credentials: Open Source guy, Chairman of Open Source Group Japan (http://opensource.jp), former CEO of OSDN KK (to 2020), ex-VA Linux, Open Source and Galapagos People, Internet Youth Group (partially translated from Japanese). Seems like he’s not a total rando.
In his post (https://shujisado.com/2025/09/30/why_codes_of_conduct_are_unnecessary/) he tries to convince the reader that CoCs are unnecessary. But he goes about it in a rather peculiar way. First he gives a historic background to CoCs raise in popularity. Particularly citing Debian/Ubuntu and Python where it fixed some real issues and rather effectively. But then he cites two cases where—in his opinion—CoCs were detrimental.
First is when the whole Rust moderation team resigned because it couldn’t enforce CoC agains members of the Core team. The reason was how the governance was structured. Very simplified, the moderation team was subordinate to the Core team. The lack of independence highlighted conflict of interest and unbalanced power dynamic.
The second is Ruby Central takeover of rubygems/bundler. This is where I have the most trouble. He seem to agree that the pretext was security concerns but he lumps it in with CoCs arguing that strict, powerful CoCs require complex enforcement bodies and those create same kind of power centres as governance. And that they’re susceptible to political manipulation and hijacking.
Now, I’m sure Eric Raymond hasn’t had much trouble being a white moustached ESR dude. And Dave is Dave. I’m not sure what Sado’s deal is. He shows how CoC were good actually and his counterexamples are extremely tangential to CoCs themselves but rather highlight governance issues. He talks about effectiveness of Ruby's CoC that lies in its simplicity. But I have to call that into question. Is it really that effective? How come we still have Dave around? Let's look at Ruby's community guidelines.
> * Participants will be tolerant of opposing views.
I mean… That's a nice sounding general principle and is probably a good approach when it comes to some inconsequential personal preference (e.g. coffee vs tea, tabs vs spaces) but when the “opposing view” is that a whole group of people should not exist? Are we supposed to tolerate every possible “opposing view”?
> * Participants must ensure that their language and actions are free of personal attacks and disparaging personal remarks.
What is “personal”? Is it specifically by name or direct address? Does naming a large group by an unambiguous defining attribute count?
> * When interpreting the words and actions of others, participants should always assume good intentions.
Good for whom? Noone sees themselves as a villain.
> * Behaviour which can be reasonably considered harassment will not be tolerated.
By whom? In both cases. I see quite a few people consider some community memeber’s actions as harassment. Reasonably, in my view. But also will not be tolerated by whom? Who’s gonna make the final decision and enforce it?
Sado argues that Ruby CoC relies heavily on community consensus for determining violations, depending on existing project leadership without bureaucratic processes. I see a few glaring shortcoming here. First, what to do when there’s no consensus. Say, in Dave's case there’s a bad split. There are quite a lot of people utterly dissatisfied with his conduct, as there are a lot of supporters of him personally and his ideas (the ones that irk the first group), and also there are a lot of people who’s trying to stay out of it and a large portion of this group do so because they can not afford to lose a job right now. So no formal consensus, not even a simple majority opinion. But also there’s no enforcement to any of this. See, Dave is the leadership in his community. Is there a reasonable expectation that he’s gonna act against himself? I think not.
But those are also Ruby guidelines. Can we appeal to, say, Matz on the matter?
Well, this is why this wall of text is here. Matz retwitted Dave (see image). I take it, Matz’s in agreement with Dave. But I’m not sure on what point. Is it just about the beauty of Ruby’s community guidelines? Or is it on the whole package? Some subset of all of the above?
@matz could you please more explicitly weigh in on Ruby community guidelines? How is it enforced? What is your stance on Dave specifically? Do you think any of the concerns voiced by quite a few community members need to be addressed in any way?
And while you’re at it, your thoughts on the Ruby Central situation would be interesting to hear, too.
Update: Sado published an english version of his post: https://shujisado.org/2025/09/30/why-heavy-codes-of-conduct-are-unnecessary-for-most-open-source-projects/
In the Ruby Central section he says: 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.”
So basically, you can't have a strong CoC because it can be weaponised against the community. TBH, I don't buy it. For one, neither Rails’, nor Ruby’s simple principle-based CoCs, not even Ruby Central’s more detailed CoC had absolutely any effect on certain Dave's standing. You can't have it both ways. Yes, there's no perfect solution, but Rails/Ruby clearly shows that simpler CoC is not inherently superior to Contributor Covenant. I mean, no matter what CoC you have you have to enforce it. And good if you exercise some judgment while you do.
A space for Bonfire maintainers and contributors to communicate