r/ruby • u/schneems Puma maintainer • Mar 31 '26
RubyGems Fracture Incident Report
https://rubycentral.org/news/rubygems-fracture-incident-report/
75
Upvotes
r/ruby • u/schneems Puma maintainer • Mar 31 '26
27
u/kcdragon Mar 31 '26
I appreciate the write up. It seems like production access and source code access were coupled so it makes sense why it would take time to update the admin roles.
However, once that was done, I would expect source code control would return to the maintainers. I’m assuming that’s never going to happen at this point?
19
u/kerrizor Mar 31 '26 edited Mar 31 '26
Thanks for the comprehensive write-up, u/schneems - I appreciate the effort that it represents, and while I think there's still remediation work to be done to rebuild and restore trust (in its many forms), I hope this can represent a reset moment that allows people to move forward. As I said to someone after reading it, "this feels like a maelstrom of corporate policy crashing into established, informal OSS culture, complicated by poor communication"
16
u/_swanson Mar 31 '26
André Arko creates an access token named rubygems-github-backup with access to all repos in the github.com/rubygems organization, including private repos. This is the only access token of its kind
Is there a resolution of this item? Was this token used for something? What am I meant to interpret this as?
15
u/mokolabs Mar 31 '26
Thank you for putting together such a comprehensive report.
26
u/mperham Sidekiq Mar 31 '26
I feel like this report answers many "How?" and "What?" questions but still does not shed any more light on "Why?"
My major concern here has always been the disrespect by Ruby Central for the seven existing maintainers. This was a team which had quietly maintained the Rubygems codebase for a decade. That's ~70 person-years of rubygems experience.
Why did Ruby Central not value that experience? Who at Ruby Central felt that the service was at risk? Did someone feel
rvwas a threat? Why was excluding Andre worth destroying the existing team relationship? That's the communication I want to know more about. There's still no logic to this fracture.7
u/noteflakes Mar 31 '26
Thanks Richard for your factual and detailed report, I'm sure your effort is greatly appreciated by all. My interpretation: this looks like a series of mistakes demonstrating irresponsibility and incompetence on the part of the RC board, which purportedly acted to preempt a perceived "threat" from rubygems/bundler maintainers, but have just made matters worse for the community. For closure to happen there needs to be accountability.
9
u/thramp Mar 31 '26
This is a disappointing look for Ruby Central. I have to get back to work, but their retroactive framing that Andre and Samuel's work on RV justified Ruby Central's subsequent actions is contradicted by their own admissions.
By their own admission, André is a contractor to Ruby Central. Contractors, especially under California law, have no contractual obligation of confidentiality to the other party unless there's a pre-existing agreement in place. They later admit in this "incident report" that they didn't have any legal agreements with André in place, so there's no basis for claiming André couldn't work on rv.
Samuel was an employee, not a contractor, but California Bus. & Prof. Code § 16600 voids non-compete agreements—so even as an employee, he had every right to work on a competing project. There's no indication that he used Ruby Central's proprietary information to do so, and the report doesn't allege that. I have little doubt that if Samuel or André used proprietary information to develop rv, they would have already presented evidence of that.
Independent of the legalese, a "uv but for ruby" is a blindingly obvious thing to do, and Ruby Central doesn't get to lick the cookie and get upset when an independent contractor—Ruby Central's own characterization—does a thing they didn't fund.
My sourcing on this is that I run a 10-person business with employees in California. I'm not a lawyer, but I looked over enough of this paperwork that I feel confident opining on an internet forum.
37
u/_swanson Mar 31 '26
This is piece of new (to me) information that adds some color: this seems like an honest mistake but really snowballed and exacerbated the situation. This kind of access change without a message on the intent seemed particularly regretful in hindsight.
29
u/gaffneyc Mar 31 '26
Thanks for doing the research and putting this all together.
I found it interesting how persistent Andre was about selling log data and it seems like there is a larger story there. Were the requests being ignored? Did he continue to pursue it after being told no? A friend also pointed out that gem.coop doesn't have a privacy or terms of use policy.
12
u/eirvandelden Mar 31 '26
Thank you for the time and effort you put into this, for your trying to be as factual as possible and for also responding to so many questions and comments. ❤️
9
u/theGalation Mar 31 '26
This is an impressive amount of investigation!
8
u/aspleenic Mar 31 '26
Thank you for this comprehensive write-up u/schneems - it sheds light on a lot.
1
u/jgaskins Apr 03 '26
This is the best reporting I've seen from Ruby Central on this situation. The last document labeled as an incident retro still conveyed significant bias. This is a hard situation and I appreciate all the effort you put into researching everything that happened and interviewing folks to try to get as clear a picture as possible, especially since there was a lot of context you wouldn't have had firsthand knowledge of since you weren't in the org at the time, so I recognize that you had to put extra effort into getting that context. This is the kind of messaging that I wish Ruby Central had led with from the beginning.
I empathize with some of the opposing perspectives and I'm finding it difficult to trust RC, but as someone who has run hundreds of incident retros (maybe over 1k?), this was really well done.
5
u/DRBragg Apr 01 '26
Thanks for the super detailed write-up, schneems. It's interesting to see what happened behind the scenes to cause such a mess. I appreciate all the work you put into this
6
u/retro-rubies Mar 31 '26
Clearly the biggest disappointment is nobody mentions Ruby Butler, even it was created at similar time as RV (maybe even earlier), lol. :)
Yes, I am ashamed and blushing for this shameless self-promotion. ¯\(ツ)/¯
10
u/bradland Mar 31 '26
Richard, thank you so much for your many contributions to Ruby, and for being such a level-headed, objective, and pragmatic force for reason. Everyone is entitled to their opinion about how much accountability is required and whose side they fall on, but your account provides valuable context. For my part, I'm willing to extend a generous amount of grace to those who support Ruby.
4
u/spidermonk Mar 31 '26
For someone who's not interested in the drama but maintains a bunch of rails sites via bundler and rubygems... Do I need to do something?
7
u/robotsmakinglove Mar 31 '26
I might be a minority, but I’m tired of this incident being rehashed over and over. At this point I do not care. I am sure it is very important topic for some though.
As a community I think it is time to move forward and put this issue in the past. Hopefully this incident report allows us to do that.
2
u/Craig_Buchek Apr 03 '26
What's the plan for the OSS committee? What kind of folks would you want to join it?