By now, a lot of words have been said and written about what happened in late September 2025 in Ruby-Land and the fallout of it. If you only read one thing, I’d suggest you take at stab at making it through Filipa’s extremely long but also really good blog post which not only summarises the feelings of a lot of us in the Ruby community, but also tries to connect it with the toxicity of people like DHH and Tobi and how this has fractured the community. The only caveat, rightfully added by women on Mastodon is that DHH probably got his brain worm quite a bit earlier than the blog post makes it seem, but decided to mostly hide it behind a more friendly facade until the circumstances more or less allowed him to show his “real side” freely.
I’ve offered our local Hamburg usergroup to try to summarise what has happened as a basis for a discussion on what this means for the Ruby community and so here’s my very high level, very low-on-details summary that I will use as a basis for my (hopefully) few slides.
A (very) brief summary
On 19th of September, after a bit of a back and forth between people from within Ruby Central (mostly Marty Haught, the director of open source) and the current set of maintainers and operators of Rubygems.org and the rubygems and bunder open source projects, access for those maintainers and operators was ultimately revoked. For the maintainers, this came as a bit of a surprise, it seems. Prior to that, ownership on the GitHub enterprise organisation containing all the code and the “infrastructure as code” for rubygems.org was taken over by a shady manoeuvre (my interpretation!) by HSBT, a ruby core member and rubygems maintainer.
The official line on this after some really irritating and contradicting pieces of communication by Ruby Central board members was that for supply chain security reasons this was a necessary step and that operator agreements needed to put in place for people not directly employed by RubyCentral before access could be re-granted.
As much as I want to understand RubyCentral’s reasoning here, to me, even after several “Source of Truth Updates” on the RubyCentral blog, their communications don’t properly add up. So, there must be more to this story, right?
Here’s where things get murky. RubyCentral still hasn’t properly provided us with sound reasoning for their actions. Which is bad, because it leaves so much room for conspiracy theories or at least for intepretations of malcious intent.
Look at all the things I haven’t talked about!
But there is a piece of missing backstory, that, unfortunately, connects all of this back to DHH and his influence.
In 2022, RubyCentral decided to not invite DHH (as was the tradition) to keynote RailsConf, mainly because of the above mentioned brain worm and a series of really bad blog posts DHH wrote after the 37signals implosion in 2021.
This lead to the founding of the Rails Foundation and the creation of RailsWorld, because DHH couldn’t stand being without a keynote. This may sound facetious, but this is more or less what’s happened, I think.
In 2024, RubyCentral, losing money with RailsConf, because of RailsWorld and because of the harsh realities of post-Covid conferencing, decided to do one last RailsConf in 2025 and then call it quits. And to everyone’s surprise, they decided to invite DHH to that last ride. Not to keynote, but to be on stage.
This lead to a couple of things. First of all, Mike Perham, creator of Sidekiq, decided to withdraw his Sponsorship should RubyCentral follow through with the invitation. We’re talking a quarter of a million dollars! This meant that Shopify, a company with a very toxic person as the CEO and with DHH being a member of the board, was the only remaining big sponsor of RubyCentral.
After the conference (I hope I get these timings right), a bunch of people from the rubygems maintainer team stepped down from their roles at RubyCentral - With the clear understanding that they only wanted to dissociate from RubyCentral but would continue their work on rubygems, bundler and the operation of rubygems.org.
Now: As far as I know, at least one person sitting on RubyCentral’s board, has, immediately after the shit hit the fan on the 19th of September, claimed that the board was pressured by a sponsor (who could that be?) to revoke access. This has since been denied by RubyCentral leadership and they claim, to this day, that this decision was made independently by the board. This is weird, but somewhat understandable if you want to protect your now most important sponsor (Who has, which has to be said, someone on the board, Ufuk Kayserilioglu)
In the end, we will probably never really get to know what happened there. I like the slightly simmered down and still very depressing take from Filipa what they thought happened:
Ruby infrastructure governance was roughly split into two groups that strongly disliked each other and squabbled over petty grievances stretching back more than a decade. The group with more power and more resources saw a chance to push out their rivals – and took it.
But we have to acknowledge what this means. A group of people, who have been maintaining and running rubygems.org for at least a decade are suddenly pushed out. This means that so much institutional knowledge is lost.
In the end, nothing really matters. Or, maybe…
And here we quickly approach the last chapter, leaving out a lot of drama involving lawyers sending letters and people writing really, really stupid blog posts to defend the indefensible, where Ruby core (aka our nice Matz) decides to step in and “save the day” by taking over responsibility (up to a point) for the open source projects involved (I assume this means rubygems, bundler and the server software backing rubygems.org but I don’t think the details are fully fleshed out yet). For many, this seems like a good thing. And I’d agree to a certain point that this is probably not the worst outcome. But.
There is an almost poetic beauty (and with that I actually mean “horrible violence”) in that announcement post that thanks RubyCentral for their “years of dedicated stewardship” but fails to mention even in passing the people who actually did the work. People never said we should be kind. Only that we should be nice, right?
Honestly, I am heartbroken. This was, by all accounts, a power grab from parts of the community (and if you feel so inclined, you can read DHH’s victory laps on that bird site, but I will certainly not link to it).
Now, here’s why. I owe a lot of my professional career (what ever that is) to Ruby and Rails and thus, in some ways, to DHH and I will always be grateful for that. But what I found, is something very different from current day DHH’s racism and hate. I found a community full of love. A community that wanted to improve the status quo. A community that spent a ton of energy on making things better. Improve diversity. Practice kindness. Give room to the weird and wonderful. Events and Conferences like Railsberry or the wonderful Eurucamp I was fortunate enough to speak at 3 times. If I may, I would even include our little Ruby Unconf and ye olde Railscamps in that.
But I now realise that even though this world once very much overlapped with much of what today is the Rails core team, DHH’s hate combined with Tobi’s power and monetary incentives have made these worlds fall apart. A lot of great people that defined the positive aspects of my community have left a long time ago.
There may be other forces in play, and the RubyCentral leadership may just be particularly bad at communicating, but I’m afraid that this, in the end, is at the core of this issue.
Look, I am not stupid. I know that even at the best of times, probably 90% of the ruby community were at best indifferent to diversity, inclusion and to the political aspects of our work and just want to use technology that still feels like a cheat code, even in 2025.
Right now it does feel as if the “other” side has all the power. And I know that this is a skewed picture because they are just extremely loud and of course they are also emboldened by the current political climate, specifically in the US.
But I have to admit, it feels rather lonely over here.
And unfortunately, at least for now, it seems like we should not put too much trust in “the good people on the other side” of which I happen to know a few and I still really don’t understand how this group managed to get caught up in this siege mentality. I know it must be annyoing that every time DHH posts some egregious shit you get bombarded with calls for Rails forks and that you need to distance yourself from that Mofo, but, you know, what can I say, it’s not as if DHH is slowing down with that. And at some point, you are complicit if you keep your mouth shut. That’s how this works.
EDIT: All of that being said, I want to also acknowlege this: I am aware of how much the Shopify engineers have done for Ruby and Ruby’s advancements in the last years. I am aware of how the Rails core team has kept Rails more relevant than most people outside of the Ruby world will ever understand and acknowledge. I am aware that Ruby Central’s Board is made up of people who do this in their spare time, with no extra compensation (Which is, by the way, not true for neither Shan Cureton nor Marty Haught). I am aware of all of that and I am in many ways thankful for their contributions. Regardless, this makes their complicitness in both the power grab and the fracturing of the Ruby community not less relevant, if maybe a bit easier to understand.
I’ll give the last words to the person who arguably wrote the best take on all of this, because, while what I read this morning did not make me cry immediately, it certainly did not make me feel better. And I still don’t know what to do with that.
Some stuff to read
This is not an exhaustive list. It is left here without comment. I think I have made my position clear so you’ll probably figure out which of these I like or not just by reading them yourself.
- The post by Ellen Dash aka Duckinator that broke the news
- André’s short post from the same day
- Joel Drappers Summary after trying to talk to various people
- André’s post about the Bundler trademark
- Justin Searls not-taking-sides blogpost
- Jean Boussier’s post
- André’s announcement of gem.coop
- Martin Emde’s post
- Filipa’s post already mentioned in the beginning