当前位置:首页 > 科技资讯 > 正文

Ruby社区开源项目管理权风波:维护者遭强制移除引发治理争议

有人的地方就有纷争,开源世界亦难例外。

近期,一位长期参与开源项目的开发者愤然指控,称自己深耕维护十多年的项目遭“恶意接管”,最终被踢出局。随后,该项目由一家非营利公司的开源总监接手,其大刀阔斧地移除所有其他维护者,不留情面。

几日后,这些“移除”操作大部分被撤销,该组织开源总监轻描淡写称此为“错误”。但令人意外的是,隔了几天他又以安全为名,再次将所有维护者从GitHub组织中移除。

如此戏剧性剧情,正在主流编程语言Ruby社区上演,引发巨大争议。Apache CouchDB开发者、Relaxed公司创始人之一Jan Lehnardt在Mastodon上质问:“Ruby到底发生了什么鬼事情?”

Ruby社区开源项目管理权风波:维护者遭强制移除引发治理争议 RubyGems  Bundler 开源治理 供应链安全 第1张

“惨遭踢出局”的开源维护者

归根结底,这是一场关于开源项目管理权的争端,具体源头需从RubyGems和Bundler这两款工具说起。

RubyGems是Ruby的标准包管理器,Bundler则是依赖管理器,由非营利组织Ruby Central赞助。但多年来,这些工具由包括Ellen Dash和André Arko在内的专业团队维护,他们投入无数小时而未获正式报酬。

不久前,作为RubyGems项目的重要长期维护者,Ellen Dash(网名duckinator)发布一份PDF,实名举报Ruby Central组织无故删除所有维护者权限,寒了社区的心。

Ruby社区开源项目管理权风波:维护者遭强制移除引发治理争议 RubyGems  Bundler 开源治理 供应链安全 第2张

https://pup-e.com/goodbye-rubygems.pdf

据Ellen Dash描述,9月9日,一位RubyGems维护者在无解释情况下单方面调整:将RubyGems的GitHub enterprise重命名为Ruby Central;将非维护者Marty Haught(Ruby Central开源总监)添加为维护者,而其他所有维护者被移出GitHub仓库。

面对突变,Ellen Dash十分不解,她自13岁起便是Ruby社区一员,担任RubyGems维护者已十年,为何在无通知情况下丧失提交权限?

她与实施操作的维护者据理力争。起初,对方拒绝撤销更改,称需Marty Haught同意。六天后,该维护者称已与Haught沟通,更改大部分撤销,并转述Haught称移除是“永远不该发生的错误”。但Haught仍保留对GitHub Enterprise的所有权。

若之前是“失误”,后续举措则令人无语。9月18日,Marty Haught再次无解释撤销所有RubyGems、Bundler及RubyGems.org维护团队管理员的GitHub组织成员权限,从而控制Ruby Central及其他全职员工。

“我不会拐弯抹角:这其实就是一次强硬接管。”Ellen Dash吐槽道。她分享立场:Ruby Central的行为威胁整个Ruby社区;强行移除维护十年以上的开发者是敌意行为,越界;被指正后撤销又重复,表明无善意;因此她立即辞去在Ruby Central的职务,并强调访问权限被单方面撤销违背意愿。

Ruby非营利组织:此举是为了安全起见、加强管理

简单看,这是Ruby Central未征得长期维护者同意便接管RubyGems和Bundler,导致贡献者退出。

随着发酵,9月19日,Ruby Central发布《加强RubyGems和Bundler的管理》声明,解释行动原因:作为非营利管理机构,有维护供应链和生态系统稳定的受托责任;经法律咨询和安全审计,正加强治理流程,制定运营商协议,并加强对生产系统的访问;今后只有Ruby Central雇佣或签约的工程师才能拥有RubyGems.org服务的管理权限。

Ruby Central同时指出,软件供应链攻击风险迫使其“必须采取主动措施全方位保护Ruby gem生态系统”。

Ruby Central董事会成员、Vestmark公司CTO Freedom Dumlao进一步解释:Ruby Central长期负责这些工具;安全问题频发,公司因供应链攻击付费确保安全,但发现无正式关系或协议者仍拥有关键基础设施最高权限;解决方案是与需权限者签提交者协议,撤销无需者权限,保持开放接受Pull Request,未来可重新欢迎加入;但如何沟通撤销权限而不激怒长期贡献者是挑战,董事会需面对。

社区、维护者的愤怒回应

但声明未获开发者广泛认同。许多Ruby开发者在社媒表达失望愤怒,猜测Ruby Central在企业赞助者影响下撤销关键贡献者权限并安排新领导层。

“所谓‘受托责任’,简直是把‘我们从一个敌意捐助者那里拿了几百万美元换取对RubyGems基础设施的控制权’美化了一下。”芝加哥开发者Sam Stephenson在Mastodon上写道。

Ruby社区开源项目管理权风波:维护者遭强制移除引发治理争议 RubyGems  Bundler 开源治理 供应链安全 第3张

另一位网友Mike Perham认为Ruby Central越界。他表示:“Ruby Central并不拥有RubyGems源代码版权,仓库在Ruby Central出现前就已存在。Ruby Central的角色是管理rubygems.org基础设施,并支付RubyGems持续维护费用。RC并不能决定谁是维护者、谁能加入维护团队。这和所有开源项目一样,一直以来都是团队的决定。”他补充说,Ruby Central需向社区提供更多信息。“在你们告诉我们赞助商是谁、他们的要求是什么之前,我们只能猜测真正原因。这件事必须被公开。”“rubygems/rubygems一直不在Ruby Central控制之下,直到hsbt单方面移除整个现有团队,并把Marty [Haught]加为管理员,没有讨论、没有透明。这是一次非法的夺权行为。这种事本应通过公开流程,而不是私下交易。”

Homebrew项目负责人Mike McQuaid曾提出调解矛盾但未成功。他在Bluesky上表示:“Ruby Central对此处理得非常糟糕……甚至错误地移除了RubyGems组织中最活跃的成员,而该成员拒绝回归。”

对此,Ellen Dash回复写道:“我没看到阻止事态恶化的办法,所以我选择退出,并把我看到的事情记录下来。我把自己三分之一的人生都给了这个项目,最后却要解释说我失败了。这种痛苦根本无法形容。”

截至目前,紧随Ellen Dash之后,另一核心维护者André Arko也在博客中告别社区,称对失去社区驱动的控制权感到遗憾。越来越多维护者坦言自己突然被“抛弃”。

随着核心维护者离开,新管理团队需证明自身能力,社区也在密切关注。此次事件提醒所有开源项目:如何在专业管理与社区自治之间找到平衡,是未来开源治理必须面对的问题。

对于Ruby Central的此举,你怎么看待?

参考:

https://pup-e.com/goodbye-rubygems.pdf

https://www.theregister.com/2025/09/22/ruby_central_rubygems/

https://thenewstack.io/open-source-turmoil-rubygems-maintainers-kicked-off-github/