Ruby
Looking at how other OS projects deal with community governance, I was particularly struck by the apparent harmony of the Ruby language community. So I wrote some pieces inviting others to consider their model too. The first was received pretty well, receiving about a dozen hearts quickly. But no replies - people are apparently wary of speaking up here too. So to keep this record intact despite possible future suppression, and to make this page self-contained, I’ll reproduce that now:
First post
I will add, as someone with experience in moderation, that ultra-specific policies tend to be more harmful than helpful, because people start looking for loopholes and ways to misbehave without technically violating the letter of the posted rules. This is sometimes called the “I’m Not Touching You” phenomenon, after the meme of children doing things like “I touched his SLEEVE! You said I couldn’t touch HIM, but I touched his SLEEVE! I’m not touching HIM!” to try to keep fighting with each other after being told by adults to stop. [/quote]
I agree with that. While I’ve advocated for “rule of law” systems, they’re such a massive undertaking that, realistically, no OS project will ever adopt one. They’re not only beyond the competences of tech nerds to create and administer, they’re beyond their resources. Such things only grow ever more ponderous over time. They can certainly become soul-crushingly heavy too.
So scratch that. Poking around, there’s a very different kind of approach. It appears that the Ruby community is well regarded for being welcoming and friendly to all in a highly international context. They don’t have a “code of conduct” as such, and no pretensions to a “system of justice”. Instead they list a few core principles. and trust the community to play nice. The community in turn lives up to that trust. It’s something I try to encourage by repeatedly emphasizing the Golden Rule and the principle of charity. That’s all a healthy community really needs 99.9+% of the time, and to stay healthy.
The heart of Ruby’s philosophy is MINASWAN: “Matz is nice and so we are nice”: Matz refers to Yukihiro Matsumoto, Ruby’s creator, who is indeed nice.
Here’s “The Ruby Community Conduct Guideline”:
-
Participants will be tolerant of opposing views.
-
Participants must ensure that their language and actions are free of personal attacks and disparaging personal remarks.
-
When interpreting the words and actions of others, participants should always assume good intentions.
-
Behaviour which can be reasonably considered harassment will not be tolerated.
That’s it. No pretension to legalisms or comprehensiveness at all, and it doesn’t bloat over time. It appears to “just work” for them.
Now Ruby on Rails is a different, although related, offshoot. Don’t conflate the two. The RoR creator is a much more controversial figure, a “utility monster” if there ever was one. RoR has its own ideas.
And Ruby conferences generally use some version of the Contributor Covenant instead. The concerns at in-person events are far more acute, where people are physically face-to-face in small spaces across some days. On the web, the worst we can do is throw pixels at each other across time zones
. Conferences merit potentially much more heavy-handed, swift, and dictatorial power. Very different contexts, very different approaches.
In the Python world, Nicholas Tollervey is a beautiful, gentle soul who abandoned “PSF spaces” some years ago due to perceived hostility to, well, being beautiful and gentle. He aimed at something roughly similar in spirit to the Ruby model, but even less prescriptive, via his “On Being Together” poem:
He went on to adopt the poem at the end as his “CARE_OF_COMMUNITY.rst” guideline for his own OS projects, licensed under CC0 1.0 for anyone to adopt.
So maybe those are better ways to frame the whole area. They certainly appeal to me. I don’t want to tell people what to do. I want them to “be nice” by their own reflective informed choice, encouraged to do so by seeing a community that is nice - to everyone. That can’t be achieved by force.
The second post didn’t fare so well. From my “Ban Q&A” page:
2025-10-08 Wed 01:00p CDT
Q: Another hidden post?!
A: Yup. It is, after all, another day 😉. This one is in topic “Suspension of Franz Király”, and the auto-generated system notification said it was flagged as “off topic” (a refreshing change from the usual “hateful”, etc). Which it surely is, by a literal reading. But it’s a bit of a challenge finding anything directly about the topic title anywhere in the 100+ posts already there. The actual discussion quickly diverged. Human discourse is discursive. This post was largely continuing a meditation on how the Ruby language community seems to manage to remain free of “conduct drama”, and was inviting consideration of the underlying dynamics. I don’t at all regret posting it. If it remains hidden, after a few days I’ll reproduce it here.
And it remains hidden. I didn’t ask the mods about it. If they thought it was merely off-topic, they would have split it off into a new topic. Instead I can only assume they don’t want to see alternatives discussed at all.
So here it is: (LATER: on 17 Oct 2025, I got an auto-generated message saying that “a staff member” had removed the post permanently. So. no. they don’t want the topic discussed. And I have never yet gotten a word from a human about why any of my posts were ever hidden or removed.)
Second post - hidden destroyed
Of course we don’t live in isolation here: we’re part of the world, and discussions about the proper roles of CoCs in OS are popping up all over now. Various kinds of serious questioning and pushback are a mushrooming phenomenon. This is a nice, non-hysterical account that briefly traces the history, and how goals have changed from their start, Definitely has a POV, but then everyone does.
At the end, they’re persuaded that a Ruby-like return to “simple basic principles” would work best for most online projects now, and shifting the primary focus for online communities back from “safety” to the original goal of “productivity” (which was greatly hurt in some earlier communities by never-ending personal attacks over technical disagreements).
That last may seem odd to long-time Pythoneers. Our core developers rarely flamed each other to toast over technical disputes and turf wars. but it was daily fodder in projects like Debian. Maybe packaging got more into that stuff. Python didn’t reach that kind of sustained ugliness until it peaked with the shameful behavior in the “walrus operator wars”.
I’m still pondering how Ruby has managed to escape almost all of this. I have yet to find any account of “conduct drama” in the highly international Ruby community. No accounts of expulsions, bans, or even suspensions. Some of it is surely due to Matz himself, who is a genuinely nice and humble person. “Walrus operator” could simply never happen there, for two reasons:
-
The community so highly values “being nice”, and everyone understands the less-than-a-handful of simple “rules”, which are limited to calling out “really bad” behavior without reference to cultural, societal, or political norms. They’re timeless, universal. Like no, harassment will not be tolerated. What does harassment mean? What reasonable people agree it means as it comes up. Want to continue arguing about it? Fine. Just stick to the guidelines, and say what you like.
-
Matz is small-d “BdFL”. He strives to work by community consensus. While he has the final say, he would have pulled back from a “walrus operator” as soon as it became clear that a community consensus in its favor wasn’t going to happen.
Om technical grounds, I’m personally glad that Guido accepted it despite the very strong apparent consensus against it. But at what a price!
Nope, no pretension to “the answers” here. Just wistful wishing for a better world. We could do better, given the will.
BTW, I don’t want to see cultural stereotypes about “Japanese” here. Yes, “they’re noted” for not rocking the boat, but Ruby’s is an international community, although most of the innermost core devs do appear to be Japanese. And Matz in particular is notoriously averse to bureaucracy and formality, which couldn’t be further from the common Western stereotypes. I don’t think nationality has much of anything to do with it. Matz’s own exceptional mix of personality traits may.