zlacker

Ruby Central's Attack on RubyGems [pdf]

submitted by jolux+(OP) on 2025-09-19 08:09:17 | 710 points 178 comments
[view article] [source] [go to bottom]

NOTE: showing posts with links only show all posts
2. jhealy+Yn[view] [source] 2025-09-19 12:05:01
>>jolux+(OP)
See also: https://andre.arko.net/2025/09/19/goodbye-rubygems/
◧◩
6. krmbzd+et[view] [source] [discussion] 2025-09-19 12:38:40
>>drbrag+us
Your comment reminds me of this video: https://youtu.be/R3gef1Wn9BE
9. JBiser+xv[view] [source] 2025-09-19 12:52:48
>>jolux+(OP)
See also https://bsky.app/profile/duckinator.bsky.social/post/3lz6exz...
11. robin_+Rw[view] [source] 2025-09-19 13:01:07
>>jolux+(OP)
Looks like Homebrew are mediating in some capacity: https://bsky.app/profile/mikemcquaid.com/post/3lz6pkabzwk2o
◧◩◪
14. bradge+RA[view] [source] [discussion] 2025-09-19 13:28:13
>>swilk0+kz
Links:

https://rubycentral.org/news/reflections-on-railsconf-2025-f...

https://www.linkedin.com/in/shancureton

◧◩◪
15. nevine+5B[view] [source] [discussion] 2025-09-19 13:29:25
>>woodru+Xu
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...)

◧◩
18. byroot+7C[view] [source] [discussion] 2025-09-19 13:36:09
>>krmbzd+Dx
> 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...

◧◩
23. ethagn+lE[view] [source] [discussion] 2025-09-19 13:50:09
>>hu3+Sp
https://web.archive.org/web/20250919130055/https://pup-e.com...
31. thomas+pH[view] [source] 2025-09-19 14:09:26
>>jolux+(OP)
An update from Ruby Central: Strengthening the Stewardship of RubyGems and Bundler

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

◧◩◪◨⬒
32. bradge+qH[view] [source] [discussion] 2025-09-19 14:09:28
>>RobotT+aE
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
49. baggy_+AM[view] [source] 2025-09-19 14:39:36
>>jolux+(OP)
Ruby Central's 'our team' fills me with over-corporate dread. "Organizational Compliance Advisor"? Egads.

https://rubycentral.org/about/

◧◩◪
62. sideof+OR[view] [source] [discussion] 2025-09-19 15:10:11
>>woodru+Xu
Who? Everyone I recognize is continuing to contribute. https://github.com/rubygems/rubygems/graphs/contributors?fro...
◧◩
64. type0+jS[view] [source] [discussion] 2025-09-19 15:12:31
>>krmbzd+Dx
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

67. morito+NT[view] [source] 2025-09-19 15:20:44
>>jolux+(OP)
There's a Q&A to sign-up to next Tuesday here (https://us06web.zoom.us/meeting/register/auIbrbS9RSS7Eukzj7b...).
◧◩
68. afandi+ZU[view] [source] [discussion] 2025-09-19 15:27:15
>>tkfu+TR
https://en.wiktionary.org/wiki/MINASWAN
◧◩◪◨⬒
69. krmbzd+1V[view] [source] [discussion] 2025-09-19 15:27:33
>>simonw+EP
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.

◧◩◪◨⬒
70. nevine+GV[view] [source] [discussion] 2025-09-19 15:31:06
>>woodru+bI
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...

71. davidw+SW[view] [source] 2025-09-19 15:37:26
>>jolux+(OP)
Seems relevant: https://ruby.social/@getajobmike/115231677684734669

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

79. ilikep+x31[view] [source] 2025-09-19 16:04:23
>>jolux+(OP)
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

◧◩
89. teknof+Aj1[view] [source] [discussion] 2025-09-19 17:28:37
>>lavela+mb1
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.

◧◩◪◨⬒
92. kubect+El1[view] [source] [discussion] 2025-09-19 17:41:03
>>mijoha+E01
https://world.hey.com/dhh/as-i-remember-london-e7d38e64
◧◩◪
101. mikemc+zz1[view] [source] [discussion] 2025-09-19 19:06:31
>>mikemc+qd1
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.

◧◩◪◨⬒⬓⬔⧯
114. rexpop+IM1[view] [source] [discussion] 2025-09-19 20:16:34
>>bakugo+Fx1
There is no "neutral stance," only ignorance of bias.

>>10970937

◧◩
117. nomdep+yR1[view] [source] [discussion] 2025-09-19 20:44:56
>>nomdep+GI1
Nevermind, this tweet (mostly) disproves my prediction:

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

◧◩◪◨
121. favori+XX1[view] [source] [discussion] 2025-09-19 21:17:16
>>gedy+pL1
According to the author's PR where she removed herself as a maintainer, she lost commit access.

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

◧◩◪◨⬒
123. byroot+XY1[view] [source] [discussion] 2025-09-19 21:22:41
>>TehCor+nW1
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.

◧◩◪◨⬒
134. konnor+lh2[view] [source] [discussion] 2025-09-19 23:16:28
>>wild_e+4h1
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

◧◩
135. swat53+bk2[view] [source] [discussion] 2025-09-19 23:39:02
>>ilikep+x31
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

140. k33n+Wp2[view] [source] 2025-09-20 00:26:22
>>jolux+(OP)
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...

◧◩◪◨⬒⬓⬔
160. bradge+8A3[view] [source] [discussion] 2025-09-20 12:49:12
>>vintag+Jn1
https://bsky.app/profile/rhiannon.io/post/3lz7dtyamt226
◧◩
161. blasph+eC3[view] [source] [discussion] 2025-09-20 13:08:02
>>k33n+Wp2
She has some PRs merged in, but nothing that shows me she should have elevated rights in the repo.

https://github.com/rubygems/rubygems/pulls?q=is%3Apr+author%...

163. moored+OG3[view] [source] 2025-09-20 13:43:33
>>jolux+(OP)
I know Marty personally (he helps run the Boulder ruby meetup with me) and I am positive he acted in good faith, even if there were mistakes along the way. I also empathize with the volunteers who were unpleasantly surprised; never a good feeling. I'd encourage everyone to remember that there are people on both sides of the computer screen.

As mentioned in a sibling comment, there's a Q&A with him and other members of Ruby Central on Tue. Here's a link to the signup: >>45302629

◧◩◪
172. coryth+O57[view] [source] [discussion] 2025-09-21 20:41:47
>>coryth+jN
The other side of the story came out, and of course, it’s very reasonable https://apiguy.substack.com/p/a-board-members-perspective-of...
◧◩◪◨⬒⬓⬔
176. ilikep+Pnd[view] [source] [discussion] 2025-09-23 18:00:49
>>yawara+xUa
This thread has probably run its course, and newer postings[1] have more information, but I'll respond anyway if it's helpful...

> How can they remove maintainers from their own projects? If my project is yawaramin/foobar...

The official RubyGems projects in question were under a GitHub organizational account, not a single user's account. A subset of the maintainers had the "owner" flag on the org. One of those folks basically initiated the takeover. See [2] for a more detailed recounting.

[1]: Shopify, pulling strings at Ruby Central, forces Bundler and RubyGems takeover - >>45348390 - September 2025 (107+ comments)

[2]: https://joel.drapper.me/p/rubygems-takeover/#the-takeover

◧◩◪◨
177. nevine+Eie[view] [source] [discussion] 2025-09-23 23:24:11
>>nevine+5B
Well, there's more information out and it seems pretty.. damning. I wasn't convinced by "power grab", but "economic pressure from our sole remaining major sponsor" is _way_ more believable, and the chain is events is getting fairly clear. Check out Joel's explanation for a coherent delve into the events: https://joel.drapper.me/p/rubygems-takeover/

Now I just have to hope the fallout from this includes a less centralized replacement for the tools I'm used to - I haven't found anything solid yet, but I imagine andre will be examining this problem space with rv now.

[go to top]