ソフトウェア

ShopifyがRuby Centralを操りBundlerとRubyGemsの乗っ取りを強制したという調査結果が公表される


Ruby用のパッケージ管理システムを管理する非営利団体のRuby Centralが、RubyGemsと呼ばれる関連システムのメンテナーを追放し、「乗っ取りだ」と騒がれています。この件に関し、ECサイトのShopifyが絡んでいるとの調査結果が公表されました。

Shopify, pulling strings at Ruby Central, forces Bundler and RubyGems takeover
https://joel.drapper.me/p/rubygems-takeover/

Ruby CentralはRuby関連のコミュニティを構築している組織で、先述のRubyGemsやBundlerといったツールの保守とセキュリティ確保、インフラのサポートなどを行っています。


2025年9月9日、RubyGemsのとあるメンテナーがRubyGemsのGitHub組織名を「Ruby Central」に改名し、それまでRubyGemsのメンテナーではなかったRuby Centralのマーティ・ホート氏をRubyGemsのメンテナーに追加した上で、ホート氏以外のメンテナー全員を追放しました。

9月15日、このメンテナーは「ホート氏と話し合い、以前の権限を復元した」と発表。ホート氏は「他のメンテナーを削除したのは間違いであり、決して起こるべきではなかった」と謝罪しました。ただし、復元は実施されたもののいつの間にかホート氏がGitHubプロジェクトの所有者となっていました。

突然の出来事を受け、RubyGemsチームは導入が遅れていた公式ガバナンスポリシーの策定を直ちに開始。ところが、9月18日にホート氏がRubyGemsおよびBundlerの全メンテナーチームからメンバーシップ権限を奪い、これによりホート氏とRuby Centralが実質的にRubyGemsの権限を掌握することになりました。

Ruby Centralに所属しつつRubyGemsのメンテナーとして活動し、この件を最初に伝えたエレン氏は、この件を「敵対的買収で、Rubyコミュニティ全体に対する脅威だ」と指摘。Ruby Centralにおける職を辞したことを明らかにしました。


コミュニティの反発を受け、Ruby Centralは経緯を説明する声明を公式サイトに掲載。さらに、Ruby Centralの理事会に所属するフリーダム・ドゥムラオ氏が補足の説明を行いました。

ドゥムラオ氏によると、Rubyのサプライチェーンは外部からの攻撃を受けており、Rubyを使用する企業がRuby Centralに安全性の保証を求め始めているとのこと。これらの企業にはRuby Centralのスポンサーも含まれていました。また、企業の中には、Rubyのサプライチェーンとして一翼を担うRubyGemsやBundlerに目を向ける企業もいたそうです。

そうした中でRuby CentralがRubyのサプライチェーン全体を調査した結果、正式な提携や契約を結んでいない人物がRubyGems等に関する最高レベルの権限を所有していることが判明。正体の知れない人物がこのような権限を保持していることは問題だろうということで、Ruby Central内部では「サプライチェーンにアクセスしたい人とは何らかの契約を結び、アクセスを必要としない人からはアクセス権限を削除する。その一方で、多くのオープンソースプロジェクトと同様にプルリクエストはあらゆる人から完全に受け入れる。メンテナーが将来的に復活したいと考えた場合には、再び迎え入れることも考える」という方針を固めたそうです。

ただ、RubyGemsに携わっている人へいきなり「アクセスを削除します」と伝えると、相手の機嫌を損ねたり、「削除するならもう開発をやめる」あるいは「削除してもこっちで勝手に追加する」といった感情的な主張が出てきたりする可能性があることが懸念されていました。

結局、Ruby Centralの意向をメンテナーに納得してもらうことはできないまま、本件の意思決定を行う期限が来てしまい、スポンサー企業の要求をのんで資金の喪失を防ぐべく、Ruby Centralは全メンテナーを一度削除するという決断をしたそうです。つまり、ホート氏は理事会の指示通りに行動したにすぎないということでした。ドゥムラオ氏は「情報伝達の不足があったことは間違いなく、正しくコミュニケーションを取れていれば、Rubyを使う企業やスポンサーから聞こえてきた懸念を正しく伝えられていたでしょう」と話しました。


Ruby CentralとRubyGems双方の意見が出そろった後、さらに別の視点から新たな情報が出てきました。ECサイトのShopifyで勤務していたジョエル・ドラッパー氏が、騒動の裏にはShopifyの影があったと公表します。

ドラッパー氏が関係者から聞き出したところによると、Ruby Centralは資金難に陥っており、Shopifyからの資金提供に依存するようになっていたとのこと。これは、Ruby Centralがしばしば人種差別的な発言で物議を醸すデイヴィッド・ハイネマイヤー・ハンソン(DHH)氏をカンファレンスへ招いたことを理由に、年間25万ドル(約3700万円)という多額の寄付をしていたSidekiqというシステムの開発者が資金提供を取りやめたためだとされています。Sidekiqはマイク・パーハムという一人の開発者によって運営されていて、パーハム氏はRubyコミュニティから好意的に見られている人物でした。

ドラッパー氏によると、競合するスポンサーがいなくなったことをいいことに、Shopifyは「我々の要求に従えば多くの資金を得られるが、もし従わなければ二度と協力はしない」という考えのもと、RubyGemsとBundlerを完全にRuby Centralだけで管理するよう圧力をかけたとのことです。


また、Ruby Centralの理事会メンバーによる会議でも、「オープンソースへの貢献はあってしかるべきだが、Ruby Centralが運営する実稼働サービス『RubyGems.org』は重要なインフラで利用者も多いため、Ruby Centralが管理するべき」といった声が上がったそうですが、このメンバーが言及するRubyGems.orgはサービスではなくソースコードで、Ruby Centralが運営する別のサービスと混同されています。こうした混乱もあり、理事会メンバーは本来Ruby Centralに所有権のないRubyGemsの取得に動いてしまったそうです。また、取得を実行したホート氏は、RubyGemsプロジェクトのフォーク作成などの代替案を提示し、乗っ取りが招く結果についてRuby Centralに警告していたとも伝えられています。

このほか、ドラッパー氏は「Shopifyはメンテナーの一人であり長年RubyGemsに貢献していたアンドレ・アルコ氏をプロジェクトから除外するよう強く要求していた」とも指摘しています。アルコ氏は騒動の直前、「rv」と呼ばれる新しいRuby管理ツールの開発を始めていましたが、Shopifyのラファエル・フランサ氏がこれを脅威と見なし、「このような競合ツールはRubyGemsやBundlerを妨害する可能性があり、そんな開発者にRubyGemsのシステムを任せられない」と話していたことが分かっています。

この記事のタイトルとURLをコピーする

・関連記事
「RubyGems」のGitHub Enterpriseが勝手に「Ruby Central」に改名されて既存のメンテナが追放される事態が発生 - GIGAZINE

WordPress開発に14年以上参加してきたエンジニアが離脱を表明、「Automatticの周囲にカルトが形成されている」 - GIGAZINE

Appleを追い出されNeXTを立ち上げたスティーブ・ジョブズを間近に見ていたエンジニアたちの証言 - GIGAZINE

ロシア政府が「Linuxカーネルコミュニティから追放されたロシア人を中心とする独自の開発コミュニティ」を立ち上げると宣言 - GIGAZINE

WordPress.orgと決別してコミュニティ中心をあらためて目指したWordPressのフォーク「FreeWP」がスタート - GIGAZINE

in ソフトウェア, Posted by log1p_kr

You can read the machine translated English article Investigation reveals Shopify manipulate….