23 の中核オープンソースプロジェクトのうち 11 は 1~2 人だけで運営されている

スマホやサーバーが依存する 23 のライブラリについて、直近一年のコミット履歴を全部落として保守者を数えたところ、11 は日常の作業が一~二人だった。四つの公開助成のどれからも資金を得ていないプロジェクトは八つある。

日本語
コピー
深紫色底上的浅色大字标题「Open Source Maintainers Are Holding Up the Internet, and Many of Them Work Alone」,右侧是一个地球加鼠标指针的图标

あなたのスマホに入っている目覚まし時計、搭乗券、カレンダーの招待、そのどれもが、政府が発行したすべてのタイムゾーン規則を収めた1つのテキストファイルに依存している。UCLAの講師Paul Eggertが余暇に保守しているこのファイルを、少なくとも40億台のAndroid端末とiPhoneが読んでいる。彼はオープンソースのメンテナであり、同じ立場の人間は彼だけではない。

セキュリティ事故のたびに引き合いに出されるxkcdの2347番は、現代のインフラという高い塔が小さなレンガの上に載り、そのレンガを誰にも感謝されずに1人が黙々と支えている様子を描いている。Redditユーザーのu/Mastbubblesは、これがどれほど現実に近いのか確かめることにした。スマホやブラウザ、サーバーが依存する23プロジェクトの完全な履歴をダウンロードし、過去1年間に10回以上変更を加えた人物を数え、結果を The People Holding Up the Internet と題してsheets.worksに公開した。投稿はr/linuxで初日に約1,100のアップボートを集めた。

23プロジェクトのうち11は、日常の保守を1人か2人で回している。ここからは、その人たちが誰なのか、どのような資金が彼らのもとに届いているのか、そしてr/linuxでデータに寄せられた疑問を見ていく。

主な findings

  • 23プロジェクトのうち11は、2025年10月7日から2026年10月7日までの間に、10回以上変更を加えたのが1人か2人だけだった。
  • xz の常連コントリビューターはLasse Collin1人だけで、2025年の変更の97%は彼によるものだ。2024年のバックドア事件以降、新たな資金提供は確認されなかった。
  • sudo は2008年から2018年までの5,409回の変更のうち、5,408回が同一人物Todd Millerによるものだった。
  • タイムゾーンデータベース、SQLite、zlib、xz、bashを含む8プロジェクトは、分析が調べたすべての公開資金提供先のいずれにも、助成金もスポンサーも見つからなかった。
  • 金は災害の後を追う。 2014年にHeartbleedが発生すると、Linux Foundationは2か月以内に年5.4million,andOpenSSL,whichlivedonabout2,000ドルの寄付を集め、給与を得た開発者と1回の監査を実現した。

集計の基準

著者は各プロジェクトの完全な公開履歴を取得し、2025年10月7日から2026年10月7日までの間に書かれた変更を残し、マージコミットとボットを除外した。この期間に変更が10回以上に達した人物を常連コントリビューターとみなす。資金提供について「公開された助成金なし」とは、Sovereign Tech Agency、Alpha-Omega、Open Collective、GitHub Sponsorsのいずれも資金を出していないという意味だ。これは、これらの人物にこれまで誰も報酬を払ったことがないという意味ではない。この方法が見落としているものについては、末尾の限界のセクションで説明する。

1人のプロジェクト:xz、sudo、bash、タイムゾーンデータベース

xz:単独体制が脚光を浴びたバックドア事件

フィンランド在住のLasse Collinは、ほぼすべてのLinuxサーバーに入っている圧縮ツールxzを保守している。2022年6月、彼はメーリングリストで、これは無報酬の趣味プロジェクトであり、進度についていく能力は限られており、主に長期的なメンタルヘルスの問題の影響を受けていると述べた。数か月にわたり、Jigar KumarとDennis Ensを名乗るアカウントが公開の場で進みの遅さを繰り返し嘆く一方、Jia Tanというコントリビューターが有用なパッチを出し続けていた。CollinはJia Tanにより多くの権限を与えた。

2023年までに、Jia Tanの変更量はCollinを上回り、304回対172回となった。2024年2月、Jia Tanが公開したバージョンには、Linuxサーバーに侵入するための隠し経路が仕込まれていた。MicrosoftのエンジニアAndres Freundが3月29日にそれを発見した——SSHログインにかかるプロセッサ時間が異常に長かったのだ——その時点で、ほとんどのLinuxシステムはこのバージョンをまだリリースしていなかった。sshdに至る経路は各ディストリビューションのパッチを経由していた。いくつかのディストリビューションがOpenSSHをlibsystemdにリンクしており、libsystemdがxzの一部であるliblzmaを引き込んでいたのだ。Jia Tanが誰なのかは、今も判明していない。

Collinは再び1人に戻った。2025年のxzの変更の97%は彼によるもので、2026年にこのプロジェクトの常連コントリビューターは1人だけだ。分析では、バックドア事件の後に新たな資金は入っていないことが判明した。Heartbleed後のOpenSSLの状況とは正反対である(後述)。

タイムゾーンデータベース:1人の講師、1人のバックアップ、40億台のデバイス

Eggertは2012年からタイムゾーンファイルの公式コーディネーターを務めながら、UCLAで計算機科学を教えている。Android、iOS、そしてほとんどのサーバーが、現地時刻を決めるためにこのファイルを読む。9月29日に公開された2026e版は、Manitobaが10月31日に恒久的に-05へ移行するという記述から始まっている。つまりWinnipegのスマホは11月1日に時計を戻す必要がない。

過去1年間にファイルへ加えられた251件の変更のうち、Eggert が218件、Tim Parenti が28件を担当した。2020年、Eggert はメーリングリスト上で、引退やその他の事情で自分が離れる場合に備えて Parenti をバックアップにしたいと申し出た。

この作業には法的リスクも伴う。2011年、ある占星術ソフトウェア企業が Eggert と Arthur David Olson を訴えた。Olson は1986年に National Institutes of Health でこのデータベースを作った人物だ。訴状は、一部の歴史データが同社が所有する図集に由来すると主張していた。メーリングリストとダウンロードサイトは直ちに停止し、同月中に IANA が引き継ぐまでその状態が続いた。Electronic Frontier Foundation が二人のために無償で弁護し、同社は2012年2月に訴えを取り下げた。現在 Eggert はスポンサーページを持たず、分析でもこのプロジェクトが公的資金を得た形跡は見つからなかった。

sudo:リスト上で最も資金が充実した一人プロジェクト

Todd C. Miller は1990年代初頭から sudo を維持してきた。このコマンドを使うと、Mac や Linux サーバーで管理者権限を取得できる。ツール自体は1980年前後の SUNY Buffalo にさかのぼる。分析によると、2008年から2018年までの5,409件の変更のうち5,408件が Miller の手によるものだった。

2026年2月、彼は自身のサイトに、sudo の維持と開発を続けるために「スポンサーを探している」と書いた。The Register がこれを報じた後、プロジェクトの Open Collective 予算は年間約61,700ドルに達し、GitHub では30人がスポンサーについた。これにより sudo は統計上最も資金の充実した一人プロジェクトとなった。リスト上の他のプロジェクトが置かれた状況を、裏側から物語ってもいる。

bash:25年間誰も報告しなかった脆弱性

Chet Ramey は1990年ごろから bash を維持してきた。Linux のシェルであり、2003年から2019年までは Mac のシェルでもあった。彼は Ohio 州の Case Western Reserve University のネットワークグループでの仕事の傍らでこれを続けている。2014年9月、Stéphane Chazelas が脆弱性を報告した。サーバーに細工したテキストを送るだけで、そのサーバー上で任意のコマンドを実行できるというものだ。脆弱性は9月24日に Shellshock の名で公表され、数億台のマシンに影響が及んだ。問題の一行は1989年8月5日にはすでに bash に入っていた。分析によれば、bash の公開履歴にあるすべての変更は、公式の修正も含めて Ramey の名義になっている。

影響は大きいが、より小さなライブラリ

  • libjpeg-turbo は Android 端末、そして Chrome と Edge で JPEG 画像をデコードする。DRC(自身の名前の頭文字でメールに署名している)が今年の変更の98%を書き、一人会社としてプロジェクトを運営している。一般からの支援は月およそ8〜10時間分の作業を賄う程度だと、彼はかつて書いている。

  • zlib は PNG 画像、Git、Android、iPhone、Chrome の内部データを圧縮する。Mark Adler が1995年に共同で書き、当時の彼のもう一つの仕事は火星へ向かう NASA の Spirit ローバーの運用だった。昨年の作業の大半は彼と Vollstrecker という名のコントリビューターが行い、Adler はスポンサーページを持っていない。

  • HarfBuzz はヒンディー語、アラビア語、タミル語、そして世界のほとんどの文字で、字母がどうつながりどう並ぶかを決める。Android、Chrome、Firefox、Edge、Kindle で動いている。Behdad Esfahbod が今年の変更の85%を書き、ほかに5人が定常的な作業を担う。

  • SQLite はすべての Android 端末、iPhone、Mac に存在し、Windows 10 と 11、そして主要なブラウザすべてにも入っている。昨年これを変更したのは4人だった。プロジェクトは稼働中のデータベースが1兆個を超えると推定しており、チームは Hipp の会社が販売するサポートサービスでこの作業の資金を賄っている。

  • core-js は新しい JavaScript を古いブラウザで動かす。作者自身の集計によれば、世界で最も混雑する1000サイトのおよそ半分がこれを使っている。Denis Pushkarev が寄付を募り始めてから、月に約57ドルが集まった。2019年、彼は報酬なしでこのプロジェクトに専念し、その後、本人が語ったところによる致命的な交通事故で実刑判決を受けた。2020年1月から約10か月服役し、その間コミットはほぼ止まり、今年の変更の95%は彼が書いた。

資金が入ると何が変わるか:curl と OpenSSL

リスト上のプロジェクトがすべて一人で支えられているわけではない。Daniel Stenberg は1996年にスウェーデンで curl を始めた。今や curl は携帯電話、自動車、テレビ、そして2018年からは標準搭載された Windows でデータを運ぶ。今年は11人が curl で定常的に作業し、Stenberg は2025年の振り返りで、他の人のコミット行数が自分を上回ったと書いている。彼がフルタイムで取り組めるのは、企業がサポートサービスに金を払っているからだ。プロジェクトはさらに Open Collective を通じて年間約89,700ドルを得ており、Stenberg には GitHub で64人のスポンサーがつき、ドイツの Sovereign Tech Agency が関連作業に195,000ユーロを支払った。

OpenSSL はもっと早い段階の教訓だった。2014 年 4 月、Heartbleed 脆弱性によって、信頼できる安全なサーバーの約 17% のメモリから誰でもパスワードと秘密鍵を読み出せる状態になっていた——これは Netcraft の集計によるものだ。その週、OpenSSL 財団の議長 Steve Marquess は、テック企業からの寄付が約 2,000ayear,andhetoldNPRthatonepersonworkedontheprojectfulltime.WithintwomonthstheLinuxFoundationhadraised540 万ドルだったと書いている。これを受けて OpenSSL には給与を得た開発者が 2 人入り、監査も一度実施され、常連コントリビューターの数は 2013 年の 6 人から 2014 年には 14 人に増えた。2026 年にはその数は 32 になっている。

両者を並べて見ると、結果は大きく異なる。Heartbleed の後、1 年以内に OpenSSL の常連コントリビューターは 2 倍以上になった。一方、xz のバックドア事件の後、分析では同程度の資金は見つかっておらず、xz はいまだに 1 人で維持されている。

オープンソースの資金調達:誰が金を得て、誰が得ていないか

分析で最大の公的資金提供元は 2 つある。ドイツの Sovereign Tech Agency——2022 年以来約 90 のオープンソースプロジェクトを支援してきた——と、Alpha-Omega 基金だ。後者は昨年、約 600 万ドルを拠出し、その大半を Python や Ruby などの財団に所属するセキュリティエンジニアに渡した。どちらも、申請し報告書を提出できる組織に資金を出す。これは、メーリングリストしか持たない個人よりも、背後に組織があるプロジェクトに有利に働く。

プロジェクト資金
log4j€596,160
FFmpeg€437,930
OpenSSL€405,888
OpenSSH€200,000
curl€195,000

タイムゾーンデータベース、SQLite、zlib、libjpeg-turbo、HarfBuzz、xz、bash、nghttp2 については、公的資金は一切確認できなかった。Eggert、Collin、DRC、Adler にもスポンサー募集ページはない。

とはいえ、別の経路で資金が一部の人に流れることはある。Nick Wellnhofer は libxml2 を維持した 10 年間で 6 桁には届かない程度の金額を集め、2026 年 8 月からはミュンヘン市が資金を出して Sebastian Pipping を expat のために最長 6 か月間働かせている。

ここは文脈を見る必要がある。「公的資金なし」はかなり狭い判定基準であり、これらの人々のうち何人かは別に本職を持っている。Eggert は UCLA で教えており、Ramey は大学のネットワーク部門で働いている。公開記録から言えるのは、23 プロジェクトのうち 8 つがこれら 4 つの経路から 1 セントも得ていないということだ。

libxml2:成功した引き継ぎ

libxml2 は Android 端末、iPhone、Chrome のために XML を読み取っており、分析レポートはこれが 56 億台の端末とコンピューターで動いていると見ている。2025 年 12 月まで、その README には、これは趣味人のソフトウェアであり、ボランティアのメンテナーが 1 人しかおらず、セキュリティ上の脆弱性も少なくないと認められていた。約 10 年にわたって維持してきた Nick Wellnhofer は 2025 年 9 月に退任を表明し、その後もリグレッションの修正を続けたが、12 月にメンテナー一覧から自分の名前を外した。その約 12 時間後、新しいメンテナーが追加された。以降の作業の大半は Daniel Garcia Moreno が行っている。

なぜ事件が起きたときにしか名前を聞かないのか

どの名前がニュースの見出しになったかを見てみよう。Heartbleed、Shellshock、Jia Tan。これらの脆弱性を発見した人物は一言触れられる——Shellshock の Stéphane Chazelas、xz の Andres Freund だ。一方、何年もかけてコードを使える状態に保ってきた人々が言及されることはほとんどない。

注目を意図的に避ける人もいる。DRC はイニシャルでメールに署名しており、SQLite のウェブサイトは一時、開発者の氏名と写真を載せたページを、悪用される恐れがあるという理由で撤去していた。メンテナーが注目されるとどうなるかは 2011 年の訴訟が示している。Eggert と Olson は、無償で提供したファイルのせいで訴えられた。

r/linux のスレッドは「認知」をめぐる点に小さな訂正を加えている。Eggert の OS の授業を取ったというあるコメント投稿者は、彼を講師と呼ぶのは過小評価だと述べた。彼が教えた内容がその後のキャリアを形作ったからだ。

r/linux はこの数字をどう見ているか

最も多かった反応は怒りだった。企業はこれらのライブラリを数十億台のデバイスに組み込みながら、見栄えのする部分や自社事業に不可欠な部分にしか金を払っていない、というものだ。あるコメント投稿者は、Linux を販売する企業は自分たちが依存するソフトウェアに対しては積極的だと指摘し、別の投稿者は、このリストにある地味なプロジェクトこそ何も得ていないのだと返した。ある常連コメント投稿者は、問題の根源を言葉遣いに求めた。フリーソフトウェアは人と権利と責任について語るが、オープンソースはプロセスについて語り、責任の部分が失われたのだと。

最も鋭い対立はディストリビューションをめぐるものだった。どのまともなディストリビューションもパッケージを fork してパッチを当てているのだから、上流のメンテナーだけを見るのは話の一部にすぎない、というコメントがあった。これに対して、backport は上流の強靭さとは別物だという反論も出た。ディストリビューションはリリースや設計、コードの深い理解において依然として原作者に依存しているからだ。

xz 事件は議論を二つに割った。バックドアがリリースから数週間で表面化したのだから公開レビューは機能している、という側。それが見つかったのは、あるエンジニアが SSH ログインに生じた数百ミリ秒の遅延を追いかけたからであり、似た攻撃はずっと気づかれずにいたかもしれない、という側。さらに第三のコメントは、攻撃者が成功したのはメンテナー 1 人を疲弊させたからであり、コントリビューターの数だけではセキュリティを十分に測れないと指摘した。

懐疑的な人は、こうしたメンテナは疲弊しておらず、チームを支えるほどの作業量もないと主張する。これは成熟して安定したツールにはよく当てはまるが、唯一のメンテナが去った日にはまったく当てはまらない。あるコメント投稿者は、リストに GnuPG が漏れていると指摘した。原ページのスクロールアニメーションを嫌う声も複数あった。装飾のない版もあり、リンクは下の出典にある。

数字をどこまで信じるか

この集計は有用なシグナルだが、限界もはっきりしている。

  • コミットの作者がメンテナとは限らない。また、履歴を別のシステムから複製して公開しているプロジェクトもあり、帰属がずれる。
  • コミット数にはレビュー、バグのトリアージ、セキュリティ報告、リリース作業が表れない。静かなログが大量の労力を覆い隠していることもある。
  • 成熟したソフトウェアは変化が遅い。コミット数が少ないのは、放置ではなく完成を意味することがある。
  • 「公的な資金提供なし」は4つの名指しの資金源しかカバーしていない。私的な支援や雇用主が提供する時間は見えない。
  • デバイス数は下限だ。作者がそのプラットフォームで確認できた場合にしか数えられず、Mac、iPad、サーバー、車、テレビは除外されている。合計が依拠する公開数字は、30億台を超える稼働中の Android デバイス、10億台を超える iPhone、毎月16億台の Windows マシンだ。

著者は記事と Reddit の投稿の両方で訂正を求めており、libxml2 の部分は2026年10月に Nick Wellnhofer の協力を得て修正された。

自分のシステムが何に依存しているか確かめる

手元のマシンでも一部は見える。次のコマンドを実行すると、curl がこれらのライブラリのどれを取り込んでいるかが一覧表示される。

ldd "$(command -v curl)" | grep -E 'libz\.so|libssl|libnghttp2'

Ubuntu 24.04 では、zlib(libz.so.1)、nghttp2、OpenSSL(libssl.so.3)が出力される。23プロジェクトのうちの3つにすぎず、しかもコマンドラインツール1つが読み込んでいる分だ。同じコマンドを毎日使う他のプログラムに向ければ、さらに名前が増える。原文には Android、iPhone、Mac、Windows、Linux 向けのデバイス選択機能もあり、各プラットフォームがこれらのプロジェクトのどれを含むかを示している。

オープンソースのメンテナをどう支えるか

  • 毎日使っているツールに資金を出す。sudo と curl はどちらも GitHub と Open Collective で支援を受け付けており、sudo の資金はニュース記事の後で増えた。
  • 会社の予算に組み込む。勤務先が Linux を公開または運用しているなら、自分の技術スタックが依存するプロジェクトへの定期的な支払いを申請する。事故1件のコストに比べれば微々たるものだ。
  • 自分のディストリビューションが何を還元しているか尋ねる。r/linux のあるコメント投稿者は、ディストリビューションは自分が何に依存しているかを把握しているのだから、上流プロジェクトへの資金提供に最も適していると述べている。
  • バグを報告するときは再現手順を添え、可能ならパッチも添える。要求はしない。xz の事件の一端は、疲弊したメンテナへの世間の圧力だった。
  • レビューやトリアージを手伝うと申し出る。メンテナはこうした地味な作業の人手を必要としているが、同じ理由で誰を信頼するかにも慎重になる。
  • 自分が重要なプロジェクトを維持しているなら、引き継ぎを計画する。Eggert は2020年に後任を指名し、libxml2 は Wellnhofer の離脱からおよそ12時間で新しいメンテナを得た。

結論

このリストのコードは弱点ではない。その大半は古く、研究し尽くされ、安定している。弱点はその周りの取り決めだ。1人の人間、本業、1つのメーリングリスト、そして時折現れる手伝いたいという他人。xz の事件は、この取り決めが公平性の問題であると同時にセキュリティの問題でもあることを示した。OpenSSL の事件は、わずかな資金でそれがすぐ変わることを示した。

この人たちは使い勝手のよいものを作り、無償で差し出し、業界全体がその上に建物を建てた。今のうちに名前を覚えておこう。さもなければ、いずれ CVE で彼らを知ることになる。

出典と参考資料

出典: Linux Stans← ホームへ戻る