首页
学习
活动
专区
圈层
工具
发布

开源项目遭“夺权”,原核心维护者全被踢出局后怒批:这是一次恶意接管!

整理 | 屠敏

出品 | CSDN(ID:CSDNnews)

有人的地方就有江湖,开源世界也并不例外。

最近,一位长期参与开源项目的开发者愤怒指责,称自己深度维护了十多年的项目遭到了“恶意接管”,自己落了个被「踢出局」的下场。随后,这个项目被一家非营利公司的开源总监接手了,其还大刀阔斧地移除了所有其他维护者,可谓一点情面也没留。

几天后,这些“移除”操作大部分被撤销,而这家组织的开源总监却轻描淡写地称这只是一次“错误”。令人没想到的是,他隔了几天又再次将所有维护者从 GitHub 组织中移除,给的理由是以安全之名。

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

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

归根结底,这其实是一场关于开源项目管理权的问题,具体源头还得从 RubyGems 和 Bundler 这两款工具说起。

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

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

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 维护者也有十年之久了,为什么在没有任何通知的情况下,就丧失了项目提交的权限?

为此,她与这位实施操作的 RubyGems 维护者据理力争。

起初,这名 RubyGems 维护者拒绝撤销这些更改,并称需要 Marty Haught 的同意才可以。

六天后,这位维护者又出面表示已经与 Marty Haught 沟通好了,之前这些更改大部分被撤销。而且,代为转述说——Marty Haught 称移除维护者是个“永远不该发生的错误”。但事件中不变的是,Haught 自己仍保留了对 GitHub Enterprise 的所有权。

如果说之前的操作是一次“失误”,那么后续的举措则让人颇为无语。

因为在 9 月 18 日,Marty Haught 再次在没有解释的情况下,撤销了所有 RubyGems、Bundler 以及 RubyGems.org 维护团队管理员的 GitHub 组织成员权限。

通过这样做,他控制了 Ruby Central 以及其他全职员工。

“我不会拐弯抹角的说话:这其实就是一次强硬接管。”Ellen Dash 吐槽道。同时,她也分享了对此事的立场:

我认为 Ruby Central 的行为对整个 Ruby 社区构成威胁。

强行移除那些维护 RubyGems 和 Bundler 超过十年的开发者,本质上就是一种敌意行为。Ruby Central 的做法已经越过了底线。

在被指出问题后,这些变动大部分被撤销。然而,他们又再次重复了同样的行为。

在被点名批评后仍然第二次越界,Ruby Central 已经向我明确表明,他们并没有以善意行事。

Ruby Central 的行为迫使我不得不采取行动。我不能袖手旁观,必须发声。

因此,我决定立即辞去在 Ruby Central 的职务。

为消除任何疑问:Ruby Central 在没有任何解释的情况下,单方面撤销了我以及整个 RubyGems 团队的所有访问权限,这完全违背了我们的意愿。

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

简单来看,这其实就是负责 Ruby 核心工具的非营利组织 Ruby Central,在没有征求长期维护者同意的情况下,接管了 RubyGems 和 Bundler 这两个关键项目,长期贡献者因此被迫退出。

随着事情的发酵,9 月 19 日,Ruby Central 在官方发布了一则《加强 RubyGems 和 Bundler 的管理》的声明,解释其采取行动的原因:

作为该基础设施的非营利管理机构,Ruby Central 负有维护供应链和生态系统长期稳定的受托责任。在咨询法律顾问并进行最近的安全审计后,我们正在加强治理流程,正式制定运营商协议,并加强对生产系统的访问。今后,只有 Ruby Central 雇佣或签约的工程师才能拥有 RubyGems.org 服务的管理权限。

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

Ruby Central 董事会成员、Vestmark 公司 CTO Freedom Dumlao 也在博客上进一步地做了解释了:

「Ruby Central 长期以来一直负责 RubyGems 和 Bundler,这并不是新情况。

过去几个月里,安全问题越来越频繁地浮出水面。大大小小的公司因为本可避免的供应链攻击而付出了代价,因此它们开始审视供应链的其他环节,包括 RubyGems 和 Bundler。其中一些公司专门付费给 Ruby Central,以确保供应链这一部分的安全和稳定,但却发现一些没有任何正式关系或协议的人,仍然拥有关键基础设施的最高权限。

这并不是 Ruby Central 没有尝试改进 Bundler 和 RubyGems 管理模式的故事。事实上,这两个工具的历史可以追溯到 Ruby Central 负责它们之前的很久以前。有些人早年拥有提交(commit)权限,即便多年不再需要,也依然保留了这些权限。这一直是一个小问题,但从未成为严重隐患。

在我看来,提出的解决方案很常识化:和那些真正需要访问权限的人签订提交者协议(就像其他许多知名开源项目一样),撤销不再需要访问的人权限,同时仍然完全开放接受 Pull Request,如果他们未来希望重新成为提交者,也可以重新欢迎他们加入。

但问题来了:如何告诉一个长期拥有关键基础设施提交和管理员权限的人,“你不再需要这些权限,我需要撤销它”,又不让对方生气?如果其他仍需要访问的人说:“如果你撤销了他们的权限,我自己会加回来”或者“如果你撤销了他们的权限,我就退出”,该怎么办?这些都是情绪化的对话。我并没有参与,也无法对这些对话的具体内容或处理方式发表评论。

但这正是董事会必须面对的信息。」

社区、维护者的愤怒回应

不过,这一声明并未得到开发者的广泛认同。许多 Ruby 开发者在社交媒体和博客上表达了对 Ruby Central 举措的失望,甚至愤怒,并猜测——“Ruby Central 在一些企业赞助者的影响下,撤销了关键贡献者的管理权限,并安排了新的领导层。”

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

另一位网友 Mike Perham 同样认为 Ruby Central 的举动是越界。

他表示:“Ruby Central 并不拥有 RubyGems 源代码的版权,而且该仓库在 Ruby Central 出现之前就已经存在。Ruby Central 的角色是管理 rubygems.org 的基础设施,并支付 RubyGems 持续维护的费用。RC(Ruby Central)并不能决定谁是维护者、谁能加入维护团队。这和所有开源项目一样,一直以来都是团队的决定。”

他补充说,Ruby Central 需要向社区提供更多信息。

“在你们告诉我们赞助商是谁、他们的要求是什么之前,我们只能猜测真正的原因。这件事必须被公开。”他说道。“rubygems/rubygems 一直不在 Ruby Central 的控制之下,直到 hsbt 单方面移除了整个现有团队,并把 Marty [Haught] 加为管理员,没有讨论、没有透明。这是一次非法的夺权行为。这种事本应通过公开流程,而不是私下交易。”

Homebrew(macOS 包管理器,使用 Ruby 编写)项目负责人 Mike McQuaid 曾提出调解 Ruby Central 与 RubyGems 维护者之间的矛盾,但未能成功。他在 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/

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OfeW9XA9nbO9ZIbRKU808SWA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券