Ruby Central 的破坏性遗产
摘要
一篇博客文章批评了 Ruby Central 对 RubyGems 和 Bundler 的处理方式,称其“敌意收购”导致大量辞职、赞助商流失以及项目移交给 Matz。
暂无内容
查看缓存全文
缓存时间: 2026/07/31 13:57
# Ruby Central 的破坏性遗产
来源:https://andre.arko.net/2026/07/30/ruby-centrals-destructive-legacy/
2026年7月30日
在会议、聚会以及在线对话中,许多 Ruby 开发者问过我关于 Ruby Central 以及我与他们的分歧。这篇文章是我尝试回答那些我反复收到的问题,内容包括:1) Ruby Central 现在在做什么?2) 关于 Bundler 和 RubyGems 的争议解决了吗?3) Ruby Central 对争议说过什么?4) Ruby 开发者现在能做什么?
### Ruby Central 现在在做什么?
要谈 Ruby Central 现在在做什么,我们需要从一点历史背景开始。在这场风波开始之前,Ruby Central 在做什么?大约 18 个月前,Ruby Central:
- 每年举办 2 场会议:RubyConf 和 RailsConf
- 设有[开源委员会](https://rubycentral.org/news/a-new-chapter-for-rubygems-how-ruby-central-is-building-a-sustainable-future/#the-ruby-central-oss-committee-is-formed),有 3 名成员(Ufuk、Gabi、Mike)
- 资助 7 名[兼职社区 OSS 贡献者](https://web.archive.org/web/20250602004248/https://rubycentral.org/open-source/#team-heading)(André、Arun、Ellen、Gift、Irene、Josef、Martin)
- 资助 3 名[全职 OSS 开发者](https://web.archive.org/web/20250602004248/https://rubycentral.org/open-source/#team-heading)(Colby、Samuel、David)
- 协调这 10 名 OSS 贡献者,横跨 3 个主要 OSS 项目:
- RubyGems
- Bundler
- RubyGems.org
然后,大约 10 个月前,Ruby Central 开始了一场核心团队成员 Ellen Dash 称之为对 RubyGems、Bundler 和 RubyGems.org 开源项目的[“恶意接管”](https://mjtsai.com/blog/2025/09/23/ruby-central-takes-over-rubygems/),夺取了项目控制权,并将十多年来培育和维护这些项目的团队封锁在外。
如今,在他们接管 10 个月后,Ruby Central 已经:
- 失去了 2 场会议中的 2 场——在[结束 RailsConf](https://rubycentral.org/news/announcing-railsconf-2025-and-a-new-chapter-for-ruby-central-events/) 后,[取消了上一届 RubyConf 的相当大一部分](https://rubycentral.org/news/rubyconf-updates/),并且几十年来首次没有提供任何未来的会议地点或日期
- 失去了 3 个主要 OSS 项目中的 2 个——[将 Bundler 和 RubyGems 转让给了 Matz](https://www.ruby-lang.org/en/news/2025/10/17/rubygems-repository-transition/)
- 失去了[开源工作](https://web.archive.org/web/20250602004248/https://rubycentral.org/open-source/#team-heading) 10 名贡献者中的 9 名,包括:
- RubyGems.org 的 7 名运营者中的 6 名(André、Samuel、Arun、Josef、Ellen、Martin)
- 3 名全职 OSS 贡献者中的 2 名(Samuel、David)
- 2 名 OSS 写作者中的 2 名(Gift、Irene)
- 失去了[开源委员会](https://rubycentral.org/about/) 3 名成员中的 3 名(Gabi、Mike、Ufuk)
- 失去了[董事会](https://web.archive.org/web/20250902024234/https://rubycentral.org/about/) 7 名成员中的 5 名(Kinsey、Valerie、Naijeria、Ben、Ufuk)
- 失去了 3 名执行董事中的 3 名(Adarsh、Chelsea、Shan)
- 失去了 2 个主要财务赞助商中的 2 个(Sidekiq 和 Shopify,不过 [Shopify 似乎刚刚回来了](https://rubycentral.org/news/shopify-joins-the-ruby-alliance/),在中断 9 个月之后)
与许多社区非营利组织(包括 [Python 软件基金会](https://www.python.org/psf/bylaws/))不同,Ruby Central [不为其董事会举行选举](https://rubycentral.org/news/jointheboard/)。尽管[今年彻底重写了章程](https://rubycentral.org/news/modernizing-ruby-centrals-bylaws-and-officer-updates/),新董事仍然完全由现有董事选出,没有任何公开的输入或反馈流程。目前的董事会由最初批准恶意接管的 7 名成员中的仅 2 人,外加由前董事会选出的 3 名新成员(Brandon、Jey 和 Ran)组成。
根据 Ruby Central 的[公开公告](https://rubycentral.org/news/),在结束两场会议并将一半开源软件转让出去之后,他们只增加了一个新项目:一个[新的安全项目](https://web.archive.org/web/20260616121600/https://rubycentral.org/news/strengthening-security-for-the-ruby-ecosystem/),由 [Alpha-Omega](https://alpha-omega.dev/) 的资助提供资金。该安全项目的目标是使用 Anthropic 的 Project Glasswing 搜索已发布的 gem 中的安全问题。在他们[6 月的第一份月度报告](https://github.com/ossf/alpha-omega/blob/main/alpha/engagements/2026/Ruby%20Central/2026-06.md)中,他们报告总共发现了 5 个漏洞,其中 1 个为中等严重性,4 个为低严重性或未分类严重性。
Ruby Central 当前的赞助计划 Ruby Alliance 已找到三名愿意加入的成员:Gusto、Thoughtbot 和(最近加入的)Shopify。在[这些](https://rubycentral.org/news/gusto-joins-the-ruby-alliance/) [赞助](https://rubycentral.org/news/thoughtbot-joins-the-ruby-alliance/) [公告](https://thoughtbot.com/blog/why-thoughtbot-is-joining-the-ruby-alliance)中,没有一个提到 Gusto 和 Thoughtbot 雇用了五名 Ruby Central 董事会成员中的两名。[David Corson-Knowles](https://www.linkedin.com/in/davidcorsonknowles/) 既是董事会成员,也是 Gusto 的资深工程师。[Ran Craycraft](https://www.linkedin.com/in/craycraft/) 不仅是 Ruby Central 董事会主席,还是 Thoughtbot 的美洲区董事总经理。这意味着分配赞助资金的董事会成员也在提供这些赞助资金,这种利益冲突无论是公司还是 Ruby Central 都没有披露。最后的赞助商是 Shopify,在[据报道他们最初要求 Ruby Central 制造这场灾难](https://joel.drapper.me/p/rubygems-takeover/)的 9 个月后,[Shopify 回来了](https://rubycentral.org/news/shopify-joins-the-ruby-alliance/)。
### 我们的争议解决了吗?
没有,我们的争议尚未解决。自去年 10 月以来,Ruby Central 一直威胁要起诉我。截至今天,他们还没有撤回这一威胁。
我们争议的核心是,去年 9 月,Ruby Central 从其十多年的维护者手中[劫持了 Bundler 和 RubyGems GitHub 项目](https://joel.drapper.me/p/rubygems-takeover/)。当我告知 Ruby Central [我拥有 Bundler 这个名称](https://andre.arko.net/2025/09/25/bundler-belongs-to-the-ruby-community/)时,他们以威胁起诉我所谓的[“黑客行为”](https://rubycentral.org/news/rubygems-org-aws-root-access-event-september-2025/)作为报复,而我[一直否认这一立场](https://andre.arko.net/2025/10/09/the-rubygems-security-incident/)。
Ruby Central 表示,只有我放弃声称他们侵犯了 Bundler 名称,他们才会撤回威胁。在我还质疑我作为合同工的工作是否符合州劳动法之后,他们又要求我放弃任何与雇佣相关的索赔。到目前为止,Ruby Central 一直表示,只有我放弃对 Bundler 的侵权索赔以及我认为他们欠我的任何可能欠薪,他们才会撤回诉讼威胁。
当诉讼威胁没有让我放弃索赔时,Ruby Central 随后选择将 Bundler gem 和 `rubygems` GitHub 仓库交给 [Matz](https://www.ruby-lang.org/en/news/2025/10/17/rubygems-repository-transition/)。之后,所有前维护者提出了[新的和解提议](https://andre.arko.net/2025/10/26/we-want-to-move-ruby-forward/)。Ruby Central 从未回应我们的提议。相反,他们重申了原来的提议,而且只对我一人:只有我放弃所有索赔,他们才会撤回诉讼威胁。我没有接受,在四个月没有任何进展之后,我写了一篇[公开更新](https://andre.arko.net/2026/03/03/four-months-of-ruby-central-moving-ruby-backward/)。
作为对我帖子的回应,Ruby Central 同时做了两件事:
首先,Ruby Central 告诉我,他们正在积极寻求外部资金来向我支付和解金,以结束我们的争议。他们向我询问一个金额,以完全补偿我的律师费、他们可能欠我的欠薪,以及我被解雇后额外六个月的补偿。在一位专家的帮助下,我计算了大约 45 万美元,并按他们的要求提供了这个数字。
尽管提供了这个数字,我从未要求过那笔钱。我是在 Ruby Central 的要求下提供这个数字的,以便他们能够寻求资金。我反而一直要求的,是就他们在没有证据的情况下攻击我名誉的行为道歉,以及一笔小得多的律师费报销。
其次,在他们寻求和解资金的同时,Ruby Central 还通过他们的律师向 FBI 举报了我,要求对我进行刑事调查。2026 年 3 月 9 日,Ruby Central 的律师通知我的律师,他已经提交了报告,并建议我需要聘请一名刑事辩护律师。据我所知,Ruby Central 的律师在提交报告时未能向 FBI 提供任何证据,因为 Ruby Central 在对其 RubyGems AWS 账户进行的三次审计中,一直未能找到证据证明我造成了任何损害。
不幸的是,向 FBI 提交的报告是不可能撤回的。尽管 Ruby Central 后来告诉我他们不打算继续追究 FBI 的报告,但他们在提交报告时就放弃了这个决定权——现在取决于 FBI,而不是他们。
在让我背负 FBI 刑事起诉的永久可能性几周后,Ruby Central [没钱了](https://rubycentral.org/news/a-new-chapter-for-ruby-central/)。他们的帖子称他们“希望共同前进”,但没有采取任何行动,也没有回答任何关于他们过去行为的问题。尽管如此,我把那篇帖子视为一个积极的信号,于是向 Ruby Central 提出了[一个解决我们分歧的新选项](https://andre.arko.net/2026/04/02/towards-an-amicable-resolution-with-ruby-central/)。
我没有要求他们归还 Bundler。我没有要求他们根据劳动法支付公平报酬。我甚至没有要求道歉。相反,我要求:1) 公开确认我没有对 RubyGems 造成任何损害;2) 报销因他们威胁诉讼而不得不支付的律师费。Ruby Central 随后无视了那篇帖子,以及多次的接触尝试,长达六周。
六周后,Ruby Central 给我发来了他们的和解要约的重复版本,并附带一些具体限制:如果我放弃声称他们侵犯了 Bundler 商标,放弃声称他们违反了劳动法,并同意一项仅约束我而不约束 Ruby Central 的不诋毁条款(只约束目前与他们相关的特定个人),他们将撤回诉讼威胁。
这份要约确实有一个新的转折。Ruby Central 写道,如果我接受,他们将限制与 FBI 的合作,提出“劝阻提起刑事指控,如果展开调查或提出指控,则仅在法律要求的范围内合作”。这个提议只有一个小问题:许多州和联邦法律将同意限制与刑事调查合作定为犯罪。不用说,我不能接受这样的和解。
由于 Ruby Central 无法撤回他们的 FBI 报告(因为现在已经不在他们掌控之中),也无法归还他们拿走的仓库(因为他们已经不再拥有这些仓库了),也无法支付任何形式的补偿(因为他们没有钱),我有点不知所措。Ruby Central 到底能做些什么来试图解决他们自己制造的局面呢?
最后,我提出了自己的反要约:如果他们愿意撤回起诉威胁并发表道歉,我将放弃对 Ruby Central 使用 Bundler 名称的侵权索赔,并放弃 Ruby Central 违反劳动法的索赔。我要求他们为在没有证据的情况下公开指责我损害 RubyGems.org 道歉,为声称我试图获取用户 PII(而我没有)道歉,并为打破 Bundler 和 RubyGems 的治理以执行他们的接管而道歉。令我惊讶的是,Ruby Central 没有反对我要求的道歉。
不幸的是,Ruby Central 继续坚持一项约束我但不约束 Ruby Central 的不诋毁协议。我被迫回复说我不能接受如此不平衡的协议。
我的反要约已经过去 30 天了。虽然 RubyConf 确实占了其中 3
相似文章
Artichoke Ruby 项目收尾
作者宣布基于 Rust 的 Ruby VM 实现 Artichoke Ruby 在历经六年后将逐步收尾并归档,并回顾了项目的起源、成就以及结束的原因。
“Matz is nice”并不重要
本文认为Ruby社区的座右铭“Matz is nice”是一种投射,并批评像DHH这样的有影响力人物最近发表的极右翼和反移民言论,质疑社区声称的友好性。
Rubish: 一个纯 Ruby 编写的 Unix 外壳
Rubish 是一个纯 Ruby 编写的 Unix 外壳,旨在实现与 bash 的完全兼容,同时深度整合 Ruby 的特性,如块、迭代器和方法链。
为什么多年来 Ruby 依然让人有家的感觉
作者回顾了使用 Ruby 的 15 年经历,称赞了其隐藏特性,如 refinements、delegation 以及新的 ZJIT JIT 编译器,并指出 Ruby 搭配 ZJIT 正在缩小与 Go 和 Rust 等更快语言的性能差距。
我对Bun用Rust重写的看法
Zig的创建者Andrew Kelley分享了他对Bun从Zig重写为Rust的决定的看法,讨论了项目的历史、Oven公司的管理问题以及代码质量方面的担忧。