Ruby Central's Attack on RubyGems [pdf]
594 points
17 hours ago
| 26 comments
| pup-e.com
| HN
ilikepi
9 hours ago
[-]
There is some more context on a post[1] in /r/ruby, including the fact that the maintainers and others had been working on a proposal[2] for a formalized organizational governance structure as recently as yesterday. The latter also adds some context into Mike McQuaid's involvement: the proposal was influenced by the structure put in place by the Homebrew project.

[1]: https://old.reddit.com/r/ruby/comments/1nkzszc/ruby_centrals...

[2]: https://github.com/rubygems/rfcs/pull/61

reply
mikemcquaid
8 hours ago
[-]
I'm trying to help, where I can, to mediate. On a call right now about this. Had 4 in the last 24 hours with affected parties past and present on both sides.

I'm not involved beyond just caring a lot about Ruby.

reply
mikemcquaid
6 hours ago
[-]
Posted an update in a thread (or whatever you're meant to call it) on Bluesky: https://bsky.app/profile/mikemcquaid.com/post/3lz7klsyue22f

TL;DR: I've been given a lot of private nuance from both sides here but, even just based how the two sides have treated me personally, it's very hard not to put the blame primarily on RubyCentral. I've been a maintainer on Homebrew for 16 years: it's a hard job. If in doubt: I'll side with maintainers.

reply
esnard
3 hours ago
[-]
I know nothing about the Ruby ecosystem, but I really do appreciate that someone cares that much to mediate this mess. Thank you.
reply
swat535
1 hour ago
[-]
Also notable reply from DHH:

"Ruby Central has been the RubyGems maintainer and operator since the beginning. They paid people to work on it (including this now disgruntled former contractor).

They're improving their practices and protocols. This is good."

https://x.com/dhh/status/1969168477475786830

reply
thomascountz
11 hours ago
[-]
An update from Ruby Central: Strengthening the Stewardship of RubyGems and Bundler

https://rubycentral.org/news/strengthening-the-stewardship-o...

reply
DannyPage
10 hours ago
[-]
> We want to express our deep gratitude to the many cohorts of maintainers who have contributed to Bundler and RubyGems over the past two decades. Ruby tooling would not be what it is today without their dedication and leadership. Their work laid much of the foundation we are building on today, and we are committed to carrying that legacy forward with the same spirit of *openness and collaboration*

- The bolded part doesn’t track with locking out the entire team without notice or explanation.

- “Thanks for the hard work, the adults will take it from here” rarely works out.

reply
krmbzds
10 hours ago
[-]
> We thank the maintainers and respect their legacy.

After removing them without explanation, cutting them off projects they have maintained over a decade and ignoring them when they asked for restoration or dialogue. I feel sad for the maintainers. This is not how they deserve to be treated.

reply
jmuguy
10 hours ago
[-]
So essentially they randomly cut off a bunch of long time maintainers for some vague legal and/or security reasons. If there was real reason to do that in a hurry, that's what we need to see, not a corporate PR message.
reply
awilson5454
6 hours ago
[-]
100%. I assumed this was inspired by the supply chain attack, but what a horrible way to address this. Reverting it back before revoking it a second time is even more bizarre. Severely mixed messages from leadership, perhaps?
reply
gedy
5 hours ago
[-]
It’s not clear to me - did they entirely cut them off, or did they reduce their role as admin of the GitHub org?

If so, I'm not defending it, and I could understand why someone would feel insulted by that - but also get why an org doesn't want too many with elevated privileges.

reply
favorited
3 hours ago
[-]
According to the author's PR where she removed herself as a maintainer, she lost commit access.

https://github.com/rubygems/rubygems/pull/8987

reply
raesene9
10 hours ago
[-]
If they're trying to strengthen security, this feels like an odd way to go about it.

Making unplanned unexpected changes to GitHub ownership and removing people with lots of experience and institutional knowledge with little notice (based on the original story) and presumably no great hand-over, feels risky and not a great way to improve people's trust in their governance.

reply
TehCorwiz
5 hours ago
[-]
> Moving forward, only engineers employed or contracted by Ruby Central will hold administrative permissions to the RubyGems.org service.

Several of the people removed are employees or contractors of Ruby Central. This doesn't pass the smell test. Not to mention it's post-facto in that they did all of this before notifying anyone.

reply
byroot
5 hours ago
[-]
> Several of the people removed are employees or contractors of Ruby Central.

Who?

> Not to mention it's post-facto in that they did all of this before notifying anyone.

Isn't that pretty much the number one rule when restricting accesses? First remove accesses, then communicate?

reply
TehCorwiz
4 hours ago
[-]
At least Ellen Dash. The author of the pdf the post links to.
reply
byroot
3 hours ago
[-]
They haven't been contracted by Ruby Central since May by their own account: https://bsky.app/profile/duckinator.bsky.social/post/3lz7lec...

The other people I know who had their accesses removed have resigned from RC a while ago, and the one I still see with access on https://rubygems.org/gems/bundler are people I know are currently employed or contractors.

As far as I can tell, this part of the Ruby Central statement seems to check out. Now you can of course debate whether commit rights should be limited to employees, but have have no indication that they lied here.

reply
loloquwowndueo
11 hours ago
[-]
Totally reads like post-facto CYA. they could have communicated this to the maintainers internally beforehand instead of blindsiding them.
reply
downrightmike
8 hours ago
[-]
The NPM breach was an email that stated the dev needed to update their MFA by the next day in order to keep their access.

If you're arguing that is what ruby central should have done, that's a social engineering attack.

reply
mrinterweb
3 hours ago
[-]
How would a heads up email look like a phishing email? Blindsiding the maintainers like this is just cruel.
reply
loloquwowndueo
7 hours ago
[-]
It’s entirely possible to distinguish between legit internal communication and a phishing email. (It gets harder and harder every day but ultimately still possible)
reply
bradgessler
10 hours ago
[-]
It reads like lawyers and auditors took over RubyCentral.
reply
julik
10 hours ago
[-]
* Get appointed as paid managers of a non-profit * Get advice from legal * Legal suggests removing long-term maintainers without liability contract the same way people get fired: immediately and instantly, and screw the consequences. "Open-source? Never heard of it. Protect your entity legally" * Instantly follow the advice of the lawyers to the letter.

Well done, well done.

reply
observationist
2 hours ago
[-]
Aim it right at my foot?

Are you sure?!

Well, ok, I'm not a lawyer, but... ok, fine, let's do it!

reply
blibble
8 hours ago
[-]
it's the professional management class at it again

see: mozilla, nominet (recovered, thankfully)

reply
observationist
2 hours ago
[-]
Mozilla is toast. It basically exists as a tax writeoff for Google at this point, and serves no recognizable purpose beyond that, and maybe nostalgia.

How MBAs aren't synonymous with leeches by this point is the most amazing ongoing PR campaign in history. They do nothing but suck and suck and suck, and they keep sucking, and they will never stop sucking until their host dies, and then they just move on.

reply
corytheboyd
10 hours ago
[-]
Aren’t supply chain attacks caused by package maintainer accounts being compromised? I suppose too many people with keys to the package repository itself is also liability, but those accounts being compromised just hasn’t been what is happening.
reply
sussmannbaka
10 hours ago
[-]
that’s a lot of words to write “we did a hostile takeover”
reply
yxhuvud
10 hours ago
[-]
It might have been a good idea to do that communication BEFORE creating all that drama.
reply
michaelem
11 hours ago
[-]
So uh… “compliance reasons”? That sounds rather concerning.
reply
thomascountz
10 hours ago
[-]
I think the fear from Ruby Central might have been that, had they communicated openly, a maintainer/community member with admin access could do their own hostile take-over, and that that would expose Ruby Central to some legal liability, if not a complete loss of control.

I'm not in a position where I'd have to make a decision like this, and I don't have all the information, but I like to think that if I had made a decision like this, I'd show some more respect in the aftermath.

Something more akin to: "That was really awful, I'm sorry. We were suddenly faced with the severity of our legal exposure and had to immediately lock everything down. It's not a reflection of trust or anything, it was legally what had to be done. Now that we've taken stock and are now squared away, we have to make a more explicit controls framework, and we hope we can make it up to you, make this right, and have you lead as a maintainer again."

...Then again, maybe this wasn't about legal exposure. Or maybe it was and former contributors/maintainers are getting apologetic emails right now...

reply
loloquwowndueo
10 hours ago
[-]
1. You lock everyone out of the org for whichever valid but idiotic reason. 2. The instant you do, you send them all an email explaining the situation.

That’s how you do it in those cases. You don’t blindside them and then wait for them to react, restore their access back (which totally negated and nullified the “I wanted to preempt a takeover attempt” argument) and continue to skulk around instead of being open about it.

reply
chao-
10 hours ago
[-]
Seconding this.

Ruby Central is not a large organization by headcount, but in terms of impact, it is massive. Any person up to the task of leading an organization like this must know that drastic, public action involving long-term contributors will necessarily require an explanation. Inevitably. They must also know that in an information vacuum, people will assume the worst.

This is not difficult to foresee.

I truly hope this is settled without too much collateral damage, and I hope that the people in leadership learn a lesson about communication.

reply
thomascountz
10 hours ago
[-]
You're completely right. In a generous interpretation, having so little communication over such a long period is where this went wrong. In any case, having your highly-tenured team dissolve and feeling like things were "hostile," is an indicator that you'll need to do better. Then again, who knows what the goal actually was? Maybe this went perfectly to plan. Given there was nothing approaching an acknowledgement of regret or apology in the press release, maybe this went exactly to plan.
reply
ryandrake
9 hours ago
[-]
It reads like the confrontation-avoiding Office Space solution: "We fixed the glitch [...] so it will just work itself out naturally."
reply
anilgulecha
11 hours ago
[-]
Feel bad for the RubyGems community, sending my gratitude and empathy. Ruby was a leap in my career, and i have a soft spot for the language and community

I'll wait for RubyCentral's side on this, but on the face of what's written, these actions do not seem to be transparent or in good faith. Is there something posted from RubyCentral's side?

I wish the Ruby community strength, and a transition over to a community-owned org, one way or another.

(With NPM, WordPress, now this - seems like package repositories are becoming a flashpoint of corporate takeovers..)

reply
krmbzds
12 hours ago
[-]
The recent actions taken by Ruby Central - removing long-time RubyGems and Bundler maintainers without warning, seizing administrative access, and consolidating control under a small, centralized group - represent a serious breach of trust within the Ruby ecosystem.

This was not a misunderstanding. It was a hostile takeover of key infrastructure, undermining both the long-standing maintainers and the broader community that relies on RubyGems and Bundler every day.

The Ruby ecosystem thrives on collaboration, openness, and mutual respect. What we've witnessed over the past week violates those principles. Ruby Central's actions - unilateral access revocations, exclusion of experienced volunteers, and refusal to engage in transparent dialogue - are not just organizational missteps. They're a threat to the decentralized and community-driven spirit that has sustained Ruby for decades.

I oppose this power grab.

Even more concerning is the idea that contributor access could become contingent on employment status or ideological alignment. Whether someone is employed by Ruby Central - or holds left-leaning, right-leaning, or apolitical views - should have no bearing on their ability to contribute to open source. Merit, dedication, and community trust must remain the foundation.

If Ruby Central is serious about supporting the Ruby community, they must:

- Immediately restore access to all maintainers removed during this incident.

- Publicly commit to a transparent, community-driven governance model, similar to what the RubyGems team had begun drafting.

- Respect the autonomy of open source maintainers, regardless of whether they are employed by Ruby Central.

- Acknowledge the harm caused by these actions and engage in meaningful dialogue to rebuild trust.

The Ruby community has always been about people - diverse, passionate, and united by a love for a beautiful language. It's time we demand that the institutions claiming to represent us act accordingly.

And if Ruby Central does not do this we must pressure sponsors to stop funding Ruby Central and ultimately; if all else fails, we must build and maintain our own infrastructure unencumbered by these shenanigans. Also, in order to re-establish trust in the community; the people responsible for causing this ruckus should be fired.

Ruby-Level Sponsors (Top Tier): Alpha Omega, Shopify, Sidekiq

Gold-Level Sponsor Flagrant

Silver-Level Sponsors: Cedarcode, DNSimple, Fastly, Gusto, Honeybadger, Sentry

reply
type0
10 hours ago
[-]
From https://rubycentral.org/news/strengthening-the-stewardship-o...

> "Their work laid much of the foundation we are building on today, and we are committed to carrying that legacy forward with the same spirit of openness and collaboration."

what do they mean by openness, it doesn't even say who wrote this

reply
byroot
11 hours ago
[-]
> What we've witnessed over the past week

Who is "we"? And what did they witness?

All we got right now is one side of the story.

It is indeed surprising such change wouldn't be immediately followed by a public announcement, but they've been founding and managing RubyGems for a very long time now, so it's not even clear to me how this can be a "takeover".

I'll happily join with my pitchfork if it turns out this is indeed a malevolent move, but until I've read their side of the story, I'd rather wait and see.

Edit: 35 minutes later, here we go: https://rubycentral.org/news/strengthening-the-stewardship-o...

reply
tremon
11 hours ago
[-]
All we got right now is one side of the story

That's because Ruby Central chooses not to communicate. I'm not going to reserve judgment against intentionally mute hostile actors.

reply
byroot
11 hours ago
[-]
Organizations are necessarily slower to communicate than individuals, give them a couple days. People need to chill out before jumping to conclusions like that.
reply
adgjlsfhk1
9 hours ago
[-]
Organizations should not do things like this without having their communication done in advance. They new what they were going to do, so they should have the blog post explaining exactly what and why they were doing to release (at the latest) at the same time.
reply
mrbombastic
10 hours ago
[-]
What why? An organization is made up of individuals who had a heads up because they had a bunch of meetings and made the decision to do this, if anything they had a head start on communication. Their silence is their choice.
reply
milliams
11 hours ago
[-]
Based on the OP, the initial changes were made 10 days ago - more than enough time to communicate something publicly.
reply
x0x0
7 hours ago
[-]
They couldn't email longtime contributors with a heads up, here's whats happening before revoking commit rights and making changes like this? That's nonsense.
reply
bradly
11 hours ago
[-]
> All we got right now is one side of the story

Well, we have all of Ruby Centrals actions including their action to not be more public during these actions. Their actions are their story. If their actions don't communicate their intent, that is on them to handle that in a professional way to not be in this situation.

reply
simonw
10 hours ago
[-]
Why did you include that list of sponsors at the bottom of your post?

What's with the "contingent on employment status or ideological alignment" bit about? That's not been mentioned anywhere else so far.

Were those parts (or indeed your entire comment) written with the help of an LLM?

reply
dragonwriter
10 hours ago
[-]
> Why did you include that list of sponsors at the bottom of your post?

Clearly, that was because this information directly supports readers following through on the call to action: “And if Ruby Central does not do this we must pressure sponsors to stop funding Ruby Central”. That’s obvious.

> What's with the "contingent on employment status or ideological alignment" bit about? That's not been mentioned anywhere else so far.

Yes, both the original pdf and the RubyCentral statement edplicitly refer to admin status being made contingent on being full-time employee of RubyCentral. If you just mean no one has explicitly brought upthe ideological angle, well, that’s a fairly easy concer to reach wrih something being contingent on employment at a particular nonprofit, so it would be weird to interogate like this even if you had clearly focussed on kn just that point.

reply
simonw
10 hours ago
[-]
Where did the ideological alignment piece come from then?
reply
krmbzds
9 hours ago
[-]
You can read it here: https://world.hey.com/dhh/no-railsconf-faa7935e

The cancellation of DHH's keynote was purely political. At that time, RubyCentral's response was similarly uncommunicative and their explanation was BS.

This is not the first strike.

reply
angoragoats
3 hours ago
[-]
> Why did you include that list of sponsors at the bottom of your post?

The paragraph immediately preceding the list begins with a sentence mentioning the sponsors. How did you not see this?

> What's with the "contingent on employment status or ideological alignment" bit about? That's not been mentioned anywhere else so far.

“not been mentioned anywhere else” is false. If you click on the PDF linked to in this very post it mentions that only full time employees of RubyCentral maintained access to their GitHub account.

I find it ironic that you’re so quick to question whether something is LLM-authored given that you write so much about using LLMs.

reply
simonw
2 hours ago
[-]
I'm quick to question precisely because I can see LLM telltale hints in the text - in this case the "not just X but Y" pattern.

I don't mind if it's LLM-assisted text if everything in it is a reviewed and accurate representation of the point the author is trying to make.

But if the LLM throws in extra junk tha distracts from the conversation and the author fails to catch that in review, that's bad.

I think it's likely I was mistaken here - that the author either didn't use an LLM or used it for minor style tweaks but ensured that it was making the points they wanted to make.

reply
UseofWeapons1
10 hours ago
[-]
The post is quite clear? They call on the sponsors to stop funding ruby central, and the employment status bit is a clear concern extending from ruby central’s supposed takeover.

Read the post more clearly before accusing someone of LLM usage. And even if it is, they are still valid points to be discussed, as opposed to trying to bury it with an LLM accusation.

reply
simonw
10 hours ago
[-]
I brought up LLM usage precisely because the two things I called out here are weird - the kind of details an LLM might add.

If that's what happened then it's bad because it leaves people who read the comment confused - hence my questions asking about those.

If the author confirms that those pieces I asked about serve an intentional purpose then I don't care if they used an LLM or not.

My problem isn't with using LLMs to help write comments - there are plenty of reasonable reasons for doing that (like English as a second language). My problem is letting an LLM invent content that doesn't accurately represent the situation or reflect the LLM user's own position.

(The author could also say "I didn't use an LLM", which notably they haven't done elsewhere on this thread yet.)

reply
cxr
10 hours ago
[-]
What content has been invented?
reply
simonw
6 hours ago
[-]
Maybe none? That's why I asked.
reply
armchairhacker
11 hours ago
[-]
> Even more concerning is the idea that contributor access could become contingent on employment status or ideological alignment. Whether someone is employed by Ruby Central - or holds left-leaning, right-leaning, or apolitical views - should have no bearing on their ability to contribute to open source. Merit, dedication, and community trust must remain the foundation.

Is there any evidence of this? It's not in the PDF.

Also, this comment is clearly AI and more importantly, it affects the quality. Ex: "It's time we demand that the institutions claiming to represent us act accordingly." It seems "the institutions" have been representing them fine until now, why "it's time"? "This was not a misunderstanding. It was a hostile takeover"..."This was a hostile takeover" (or "is", it's still ongoing). "The recent actions taken by Ruby Central - [list]...Ruby Central's actions - [different list]"...the comment tries to explain what Ruby Central has done and what the maintainers demand, but it's vague and disorganized; the linked PDF is better.

reply
davidw
9 hours ago
[-]
Seems relevant: https://ruby.social/@getajobmike/115231677684734669

I'm just reposting it though. I haven't followed any of this myself.

reply
mijoharas
9 hours ago
[-]
> The unstated reason for this change was that many of the existing Rubygems maintainers have recently quit (including their only full-time engineer) due to their continued relationship with DHH.

Can someone expand on what this means? Is it a continued relationship between Ruby Central and DHH, or the maintainers and DHH? Why does the other party have a problem with that?

EDIT: It seems the post was clarified since I copy/pasted this, and it's RC and DHH. Why do the maintainers have a problem with this? I though the stated reason was about RC removing everyone's access with no warning.

reply
mperham
9 hours ago
[-]
I clarified the toot.
reply
mijoharas
9 hours ago
[-]
Thanks Mike, I editted, and asked this:

> Why do the maintainers have a problem with this? I thought the stated reason was about RC removing everyone's access with no warning.

I seem to remember some of DHH's controversy due to banning politics at basecamp or something. Is it related to that?

reply
kubectl_h
7 hours ago
[-]
reply
bakugo
8 hours ago
[-]
> I seem to remember some of DHH's controversy due to banning politics at basecamp or something. Is it related to that?

I wouldn't be surprised. The presence of this quote in the linked document:

> A person’s character is determined not only by their actions, but also the actions they stay silent while witnessing.

Suggests that the person who wrote it is deeply obsessed with political activism.

reply
lstodd
7 hours ago
[-]
Inaction is an action in itself, they are right in this. IDK where you see a deep obsession in a recognition of this obvious fact.
reply
bakugo
6 hours ago
[-]
No, inaction is inaction.

Claiming otherwise is just a roundabout way of saying "you must actively support my agenda at all times, otherwise I will consider you my enemy, even if you take a neutral stance" that political activists love to use to pressure normal people into supporting them.

reply
abraae
5 hours ago
[-]
Also consider that many people are not in the US and are not obliged to wade into US politics.
reply
lstodd
4 hours ago
[-]
Inaction is a manifestation of one of two things: ignorance, or conscious decision to not act. I agree that strictly only the latter can be considered an act, while the former .. well. Not an act, but a then the question arises if an unconscious person can even be considered a person _in_relation_to_having_a_conversation_with_them_. That last point I must even more press.

I think this is what we are discussing. Please share your viewpoint on this.

reply
derefr
3 hours ago
[-]
> Inaction is a manifestation of one of two things: ignorance, or conscious decision to not act.

Under which of these categories would you classify the following assertion:

> As much as I've learned about subject X, I still feel that neither I — nor most people who are already acting, for that matter — truly have enough information to take an informed stance here, as the waters are being actively clouded by propaganda campaigns, censorship, and false-flag operations by one or both sides; and I believe that acting without true knowledge can only play into someone's hand in a way that may damage what turns out to be an innocent party I would highly regret damaging, when this all shakes out a decade down the line. I find myself too knowingly ignorant to conscientiously act... yet I also do not highly prioritize gaining any more information about the situation, as I have seemingly passed the threshold where acquiring additional verifiable and objective information on the conflict is cheap enough to be worth it; gaining any further knowledge to inform my stance is too costly for someone like me, who is neither an investigative journalist, nor a historiographer, nor enmeshed in the conflict myself. So I fear I must opt out of the conflict altogether.

I find myself increasingly arriving at exactly this stance on so many subjects that other people seem to readily take stances (and allow themselves to be spurred to action) on.

I suppose I may differ from the average person in at least one way — that being that, if I were tricked into harming innocent parties, I would hold myself to account for allowing myself to be tricked, rather than externalizing blame to the party responsible for tricking me. After all, only by my learning a lesson in avoiding being manipulated, do I actually lessen the likelihood of the next innocent party coming to harm. Which is a lot more important to me, in a rule-utilitarian sense, than is avoiding social approbation for not taking a stance.

reply
lstodd
1 hour ago
[-]
> I also do not highly prioritize gaining any more information about the situation

You acknowledge your ignorance and then refuse to remedy that.

This is an act. Perfectly acceptable and understandable. But what is more important it's deliberate and you accept responsibility for any and all consequences.

> I suppose I may differ from the average person in at least one way — that being that, if I were tricked into harming innocent parties, I would hold myself to account for allowing myself to be tricked, rather than externalizing blame to the party responsible for tricking me.

Very commendable. I wish more people held themselves to this standard. It is one of the foundations of learning after all.

reply
lcnPylGDnU4H9OF
39 minutes ago
[-]
> refuse to remedy

They did not say this. They said they would not highly prioritize it. Which is, of course, reasonable: given two topics, I have little metric to prioritize learning about one over the other. I have no way to know that I am prioritizing my research adequately.

reply
rexpop
4 hours ago
[-]
There is no "neutral stance," only ignorance of bias.

https://news.ycombinator.com/item?id=10970937

reply
tremon
3 hours ago
[-]
All rhetorical dichotomies are false.
reply
rexpop
1 hour ago
[-]
Since when does the PDP-6 implement only dichotomous state?
reply
wild_egg
8 hours ago
[-]
Didn't RC drop DHH from RailsConf because of his views? Seems weird to think they're collaborate on a coup or whatever is being suggested here.
reply
konnorrogers
1 hour ago
[-]
They dropped him as keynote speaker a few years ago, and then under new leadership, brought DHH back for the final RailsConf hosted by Ruby Central this year.

The Ruby Central that dropped him is not the same people running Ruby Central today.

https://ruby.social/@rubycentral/114585914969796428

reply
mperham
9 hours ago
[-]
DHH is a white supremacist. Here he complains about too many brown people in London.

https://world.hey.com/dhh/as-i-remember-london-e7d38e64

reply
viiralvx
9 hours ago
[-]
Over the years, I saw him inching closer to white supremacy. I didn't realize that he's gone this far off the deep end, yikes.
reply
mijoharas
9 hours ago
[-]
Ok... wow. I was willing to give the benefit of the doubt, but hearing him decry the lack of "native Brits"[0] and support the Tommy Robinson march is... something.

> In 2000, more than sixty percent of the city were native Brits. By 2024, that had dropped to about a third.

reply
the_gastropod
3 hours ago
[-]
While it's jarring to see someone call DHH a "white supremacist", the shoe fits. In that blog post he laments that London is "no longer full of native Brits" (what does that even mean? It's clear by the numbers he gives that he's counting "white people born in Britain") and frames demographic change as a "nightmare". That isn't neutral nostalgia (something he's claimed he doesn't have: https://world.hey.com/dhh/legacy-without-nostalgia-b19708c9) it's the same ethno-nationalist logic as "America for Americans", that old KKK slogan. When you argue that a city (especially one that's always been a multi-cultural hub) becoming less white is inherently a loss, you're not just being contrarian. You're espousing a white-supremacist worldview.
reply
gizzlon
5 hours ago
[-]
> maintainers have recently quit (including their only full-time engineer) due to their continued relationship with DHH.

Ehh, what?! Basically 0 developers in the US have quit as a protest against literal totalitarianism, major and obvious corruption, the end of vaccines (will kill countless) and the end of USAID (already killed.. how many kids?).

But, sure, DHH.. that's where we draw the line!

FFS

Edit: maybe I misunderstood why they quit, quite confused. Still..

Edit 2: Unclear if this has anything to do with DHH? And it turns out I also disagree with some of his views. But, it still stands, he's writing a blog, not literally killing kids. Where's the mass quittings for those people?

reply
arccy
5 hours ago
[-]
what do those things have to do with Ruby? whereas DHH has a clear link
reply
gizzlon
4 hours ago
[-]
Nothing, I'll give you that. It's just frustrating to see so little action taken against those with actual power who are doing quite horrible stuff
reply
mort96
3 hours ago
[-]
And what exactly do you want the RubyGems maintainers to do about the rise of fascism in the USA..?
reply
eutropia
12 hours ago
[-]
Could someone with more insight as to the decision-making at Ruby Central weigh in on what's going on here? Between this and drama with the conferences over the years I'm just confused. They've been busy launching podcasts and doing fundraising, email campaigns and all that. Has there been a change in leadership?
reply
swilk001
11 hours ago
[-]
Yes, they recently hired a new Executive Director.
reply
bradgessler
11 hours ago
[-]
reply
RobotToaster
11 hours ago
[-]
Someone with absolutely no technical background, a recipe for disaster.
reply
bradgessler
11 hours ago
[-]
Rhiannon worked with Ruby Central for a bit, left a few weeks ago, and just shared this: https://bsky.app/profile/rhiannon.io/post/3lz6zcflg2s26
reply
jaredcwhite
8 hours ago
[-]
Oh wow. I'm absolutely alarmed after reading that. To be honest, I had been wondering if some of the PR disasters this year could be laid on Rhiannon's shoulders, but it sounds like the rot is coming from the top.
reply
vintagedave
7 hours ago
[-]
Post not found, what did it say?
reply
knodi123
1 hour ago
[-]
her followup post:

Deleted my post, which I published before Ruby central released their blog explaining things.

It’s ultimately not my place to say or speculate about what’s going on.

It’s obviously a disastrously bad roll out or whatever is happening and I hope they are able to make things right w the community.

reply
pmontra
5 hours ago
[-]
Interesting. It worked a few hours ago. Sorry, I didn't make a copy of the text.
reply
drbragg
11 hours ago
[-]
Opposed to hiring someone with a technical background but no experience running a non-profit?
reply
TehCorwiz
10 hours ago
[-]
It's easier to learn to run a non-profit coming from a technical management background than it is for an MBA to learn to be an engineer.
reply
ehutch79
11 hours ago
[-]
As opposed to someone with experience with both?
reply
drbragg
10 hours ago
[-]
I mean, that would be awesome. Got someone in mind?
reply
daveguy
11 hours ago
[-]
Non sequitur. False dichotomy.
reply
blibble
10 hours ago
[-]
looking at that CV, I have zero doubt that this will be a subscription service in 5 years time
reply
ryandrake
9 hours ago
[-]
Yikes! At least they'll have someone "results-driven, client-focused," and "driving stakeholder engagement", because that's really what a software repository needs.
reply
RHSeeger
9 hours ago
[-]
> Going in, I had heard there was something magical about the Ruby community, but I didn’t yet understand what that meant.

... so I decided to destroy it, because I cannot abide things I do not understand.

reply
brightball
11 hours ago
[-]
I'm still not clear about why they dropped RailsConf. I assume the biggest sponsors threw their weight behind Rails World?
reply
jacques_chester
9 hours ago
[-]
At Shopify I was the person who first proposed that we needed to stump up $$$ for RubyGems (and only by implication Ruby Central).

This is not what I had in mind and now I'm embarrassed that I helped make it possible.

reply
choilive
5 hours ago
[-]
Sounds like Shopify has some leverage then to open a line of comms with Ruby Central. "Explain yourselves or we will pull funding"
reply
konnorrogers
1 hour ago
[-]
If that's the case, sounds contradictory to their status as a 501c3 and could get their tax exempt status pulled if it's true.
reply
ornornor
8 hours ago
[-]
I took comfort in the fact that the ruby community seemed miraculously immune from these petty disputes and takeovers from the benevolent entity running the service. Seems like that’s not the case anymore :(

Sorry for all the maintainers, that must suck.

reply
scragz
6 hours ago
[-]
I miss the days of "we're nice because matz is nice"
reply
jdminhbg
13 minutes ago
[-]
A decade ago there used to be a site called rubydrama.org because of how frequently the community blew up at itself.
reply
ursuscamp
5 hours ago
[-]
I've been a ruby user for almost 15 years. I've been to several RubyConfs in that time. I have never found that to be true. It's a thin veneer over rampant toxicity and political extremism. Many of the evangelists in the Ruby community garnered a horrible reputation outside of Ruby, then migrated to insular social media applications which no one uses, causing the slow and persistent decline in the popularity of the language.
reply
ryoshoe
4 hours ago
[-]
Although I haven't been in the ruby community as long as you, I have been to two RubyConfs. I didn't notice any overt toxicity or political extremism when I went but I'd be interested to hear more about your experience if you don't mind sharing?
reply
Lio
13 hours ago
[-]
Ruby Central really need to come out and explain what they are doing here.

At the least this looks like a very destructive and poorly communicated move.

reply
drbragg
12 hours ago
[-]
Ruby Central's whole thing is they maintain, develop, and secure bundler and ruby gems. Marty was previously a lead at Ruby Central and recently came back to RC as their Open Source Lead. It sounds like there was a clusterfuck getting the repo switched over but I'm not seeing how this is an attack on Ruby gems. Am I missing something?
reply
woodruffw
12 hours ago
[-]
I think the missing piece here is that almost every person publicly involved with RubyGems’ development has left the project in recent weeks. I don’t have any special insight here, but from an outsider’s perspective it seems as through Ruby Central is trying to turn a former “host” relationship into a “control” relationship.
reply
nevinera
11 hours ago
[-]
I think you're right, but I suspect the root here is one of legal liability - if rubycentral is operating as a nonprofit that hosts _a recurring attack vector on other companies_, they'll have legal obligations to secure that service against those attacks. I assume they are continuously deploying out of that repository, and took the simplest route to controlling the attack vectors?

I'm not sure how anyone familiar with open-source communities would fail to predict the backlash though. They really should have forked the repository and switched the deployments over to their downstream fork (if I'm right about the root cause here).

(I'm mostly thinking in terms of supply-chain attacks, like this one: https://blog.rubygems.org/2025/08/25/rubygems-security-respo...)

reply
woodruffw
11 hours ago
[-]
That would be a pretty broad assumption of liability: I'm not very involved in Ruby but I am involved in Python packaging, and to my knowledge there's been no similar discussion around the PSF's keys-to-the-code control over PyPI (which is in a similar position in terms of supply chain attack vectors).

In other words: that argument is interesting, but it feels strained to me :-) -- I don't think RubyGems or Ruby Central is actually legally liable in this way (or if they are, it suggests a failure of clarity in their EULA/TOS).

reply
nevinera
9 hours ago
[-]
Well.. "legal liability" is kind of complex topic. Usually what really matters isn't "what the courts will actually determine if such a case is brought" it's "how much will it cost to prove that lack of liability, and what is the risk that we are wrong?". I also don't believe that such an organization is liable for anything beyond negligence, but whether the lack of an action constitutes negligence is .. well, one can rarely be totally confident in the outcome of that kind of proceeding.

The (mostly PR) explanation they produced seems to express roughly the same thing I was guessing though: https://rubycentral.org/news/strengthening-the-stewardship-o...

reply
blibble
10 hours ago
[-]
there is no contract to assign liability

and I doubt you could ever get negligence to stick, given you are downloading code from some website and running it, on your own accord, entirely unprompted

(but IANAL)

reply
sideofbacon
10 hours ago
[-]
Who? Everyone I recognize is continuing to contribute. https://github.com/rubygems/rubygems/graphs/contributors?fro...
reply
krmbzds
12 hours ago
[-]
Your comment reminds me of this video: https://youtu.be/R3gef1Wn9BE
reply
moritonal
9 hours ago
[-]
There's a Q&A to sign-up to next Tuesday here (https://us06web.zoom.us/meeting/register/auIbrbS9RSS7Eukzj7b...).
reply
robin_reala
12 hours ago
[-]
Looks like Homebrew are mediating in some capacity: https://bsky.app/profile/mikemcquaid.com/post/3lz6pkabzwk2o
reply
mikemcquaid
8 hours ago
[-]
Not Homebrew, yes me. Just trying to mediate and meeting with as many people on both sides (past and present) as possible.
reply
politelemon
11 hours ago
[-]
Why is homebrew involved in this?
reply
robin_reala
11 hours ago
[-]
Homebrew is one of the most developer-visible Ruby projects around.
reply
dcchambers
10 hours ago
[-]
It's not. The lead maintainer of Homebrew (Mike McQuaid) is helping to mediate the conversation between the parties, per his own post.

Has nothing specifically to do with Homebrew.

reply
Alifatisk
16 hours ago
[-]
So Ruby Central did a hostile takeover of RubyGems enterprise account in GH. Wow
reply
nomdep
5 hours ago
[-]
I can already see the future:

The Rails Foundation will start its own central gem registry and set of forked tools.

Then, RailsCentral will lose its sponsors and fade into irrelevance.

reply
nomdep
4 hours ago
[-]
Nevermind, this tweet (mostly) disproves my prediction:

https://x.com/dhh/status/1969051000867610709

reply
nilslindemann
2 hours ago
[-]
Come to Python land, we treat people better.
reply
k33n
49 minutes ago
[-]
The idea that Ruby Central is "attacking" its own project -- that it has secured funding for -- for a decade plus, is not really based in reality. Not sure what goes on in their "Github Enterprise", but their vanilla github is pretty transparent. Marty has been doing good work in the repo as of late around the Orgs feature. I rely on rubygems.org, and my fork of rubygems.org on a daily basis.

The project is an objective public-good. It's sad that a former employee is attempting to burn it all down. I guess they thought it was all about them and not the millions of DAU's the platform has served without fail since inception. Contractors will come and go.

What are the OPs contributions even? I don't see a single commit from her handle on the 24 month view (below). Correct me if I'm wrong.

https://github.com/rubygems/rubygems.org/graphs/contributors...

reply
morpheuskafka
7 hours ago
[-]
For those like me who are not Ruby users/devs, it might be good to explain who exactly Ruby Central is? I assumed they were analogous to Python Soft Foundation or Linux Foundation etc. as the entity of maintainers/owners/whatever of Ruby.

But it seems that they have nothing to do with the ruby-lang.org site where the Ruby binaries itself are distributed. Instead, their own site appears to primarily list them as responsible for organizing an annual conference?

And who owned the RubyGems infrastructure before this takeover? The website (and domain that the client actually calls to get the gems, presumably) seem to have already been part of Ruby Central, so what exactly changed here ownership wise, beyond just kicking the maintainers?

(unrelated -- seeing a mention of DHH here reminded me that I haven't seen anything of the Matt/WP drama in a long time on HN -- time to go Google whatever the resolution of that was)

reply
nomdep
4 hours ago
[-]
Until a few years ago, RubyCentral was very similar to the Python Software Foundation in that it managed all the infrastructure and the main conferences - everything except language development.

A few years ago, RubyCentral lost power when the Rails Foundation was created (most of the Ruby world revolves around Rails). The Rails Foundation organizes its own yearly conference, and RubyCentral stopped hosting theirs.

However, RubyCentral still controls the package management tools and the package registry.

reply
jhealy
13 hours ago
[-]
reply
JBiserkov
12 hours ago
[-]
reply
lavela
8 hours ago
[-]
Welp, so there goes another ecosystem I considered exploring.

What almost surprises me the most, is that such a mature ecosystem still doesn't have a formalized governance structure after all this time. How common is this among large and widely-used open source projects?

reply
teknofobi
7 hours ago
[-]
Problem with package managers are they are quite expensive to run, so hard to manage in an otherwise open source ecosystem. There was some controversy around NPM before the GitHub acquisition https://www.businessinsider.com/npm-cofounder-laurie-voss-re..., which I guess is the exact problem a non-profit such as RubyCentral tried to solve.

I would GitHub would be quite well-positioned to set up infrastructure around a fork of RubyGems if things fall apart.

reply
lavela
5 hours ago
[-]
I don't understand yet how that relates to formalizing your decision structures as a group.

I'm sure NPM as a company has some form of decision hierarchy and RubyCentral does as well, but it seems like Ruby Gems doesn't (or didn't). I learned the hard way that writing this down is one of the first thing you should do in any kind of group formation process.

I get that organically grown tech projects don't have that from the start (and that they might not immediately recognize that they're a group at all), but I'd reckoned that an organization of the size of Ruby Gems, with such an importance, would have taken care of that a while ago and I think it's quite irresponsible that they didn't.

reply
dcchambers
10 hours ago
[-]
Hasn't Ruby Central always 'owned' RubyGems.org, Bundler, and all related infra?

Removing existing maintainers from the project isn't good - and hopefully it's a temporary oversight as Ruby Central gets things set up in the new org. Either bad communication from Ruby Central - or they really did made a bad mistake here (maybe even with the best intentions, given recent NPM issues).

Edit: It seems like there's a lot more to the story here. Many volunteer RubyGems/Bundler maintainers have left because they disagree with decisions that Ruby Central (the nonprofit organization) has made and it seems like all of this is fallout related to that.

reply
baggy_trough
10 hours ago
[-]
Ruby Central's 'our team' fills me with over-corporate dread. "Organizational Compliance Advisor"? Egads.

https://rubycentral.org/about/

reply
tkfu
10 hours ago
[-]
Jesus, this is the absolute antithesis of MINASWAN.
reply
afandian
9 hours ago
[-]
reply
Alifatisk
2 hours ago
[-]
”Initialism of Matz is nice and so we are nice”
reply
chuckadams
5 hours ago
[-]
You'll never see anyone writing an acronym of DHHIN...
reply
hu3
12 hours ago
[-]
Copy-pasted below for posterity in case it goes down because I think this is a huge deal:

## Ruby Central’s Attack on RubyGems

Hi! I’m Ellen, but you probably know me as duckinator or puppy.

I really wish I didn’t have to write this, but I feel the Ruby community needs to know it.

I have been part of the Ruby community since I was 13, and one of the RubyGems maintainers for the last decade.

This community has helped me through very hard times, and you mean the world to me.

One of the most important lessons I learned from y’all is this:

> A person’s character is determined not only by their actions,

> but also the actions they stay silent while witnessing.

## This Month Has Been A Fuck Of A Year

This is what unfolded between September 9 2025 and September 19 2025, as I understand it.

On September 9th, with no warning or communication, a RubyGems maintainer unilaterally:

renamed the “RubyGems” GitHub enterprise to “Ruby Central”, added non-maintainer Marty Haught of Ruby Central, and removed every other maintainer of the RubyGems project.

He refused to revert these changes, saying he would need permission from Marty to do so.

On September 15th, this maintainer said he restored the previous permissions after talking with Marty. Marty stated the deletion was a “mistake” and “should never have happened”.

The “restoration” kept a notable change: Marty was now an owner of the GitHub enterprise.

The RubyGems team responded by immediately began putting in place an overdue official governance policy, inspired by Homebrew’s.

On September 18th, with no explanation, Marty Haught revoked GitHub organization membership for all admins on the RubyGems, Bundler, and RubyGems.org maintainer teams.

By doing this, he took control for himself and other full-time employees of Ruby Central.

Later that day, after refusing to restore GitHub permissions, Ruby Central further revoked access to the bundler and rubygems-update gems on RubyGems.org

I will not mince words here: This was a hostile takeover.

## My Stance On This

I consider Ruby Central’s behavior a threat to the Ruby community as a whole.

The forceful removal of those who maintained RubyGems and Bundler for over a decade is inherently a hostile action. Ruby Central crossed a line by doing this.

When called out, these changes were mostly reverted. Then, it was done again.

By crossing that line a second time after being called out for it, Ruby Central has made it extremely clear to me that they are not engaging in good faith.

Ruby Central’s behavior has forced my hand. I refuse to watch this without speaking up.

I am resigning from my position at Ruby Central, effective immediately.

To remove any doubt: Ruby Central unilaterally, with no explanation, revoked all access to RubyGems against both my wishes and the wishes of the entire RubyGems team.

Ellen Dash (@duckinator)

September 19, 2025

reply
ethagnawl
11 hours ago
[-]
reply
yallcombinator
7 hours ago
[-]
sus, inb4 rugpull/verification can
reply
jmuguy
12 hours ago
[-]
I know its against the content policy on HN but I really wish I could reply with that gif from Veep where she's nervously laughing while mouthing "what the fuck".

Seriously... wtf.

reply