世界を動かす技術を、日本語で。

オープンソースは一人の人間です

概要

  • The Register の記事が、ロシア人開発者のOSS利用を問題視
  • OSSの多くが 個人開発者 によって支えられている現実
  • 国籍 よりも、個人メンテナーのリソース不足が本質的リスク
  • 人気パッケージも 半数近くが一人 で維持
  • 問題解決策は 個人攻撃や国籍差別ではない ことの強調

オープンソースの現実とThe Register記事への批判

  • The Register が、米国防総省がロシア人開発者のユーティリティを利用していると報道
  • OSS開発者が 不当に攻撃される 事態への憤り
  • 国籍や個人を理由にOSSを批判することの 不当性 を指摘
  • 世界を支えるソフトウェアの多くが 「たった一人の開発者」 によるもの
  • ecosyste.ms というプロジェクトがOSSのメンテナー状況を可視化
    • 1,180万件のOSSプロジェクトを追跡
    • 約700万件が 一人 によるメンテナンス
    • 400万件はメンテナー人数不明、実際は「一人」がさらに多い可能性

オープンソース維持の実態

  • 複数メンテナーのプロジェクトも存在するが ごく一部
  • 「重要なOSSは複数人が管理しているはず」との 先入観 の否定
  • NPMエコシステムのデータで説明
    • NPMでも 単独メンテナー が多数派
    • 月間100万ダウンロード以上の人気パッケージでも 約半数が一人運営
    • ダウンロード数を増やしても、1人メンテナーが消えるのは 極端な上位だけ

OSSリスクの本質

  • OSSのリスクは「 どこの国の誰が作ったか」ではなく
  • 一人で多くを支えるメンテナー
    • リソース不足
    • 過重労働
    • 適切な報酬の欠如
  • OSS全体の価値は 8.8兆ドル (Harvard試算)
  • しかし、その大半が 個人の善意と努力 に依存

社会・メディアへの提言

  • 国籍や個人を攻撃する報道は 有害
  • 本当に議論すべきは「 単独メンテナーの脆弱性
  • OSSサプライチェーンのリスクは
    • 国籍差別ではなく
    • 構造的なリソース不足
  • 単独メンテナーを悪者扱いするのは 間違い
  • 解決策は簡単ではないが
    • 個人攻撃や差別的報道は 絶対に解決にならない
  • Podcast「Hobbyist Maintainers」でも議論
    • 難題だが、 正しい問題設定 が重要

まとめ

  • OSSを支えるのは 一人一人の開発者
  • 国籍や個人攻撃ではなく、 構造的支援 が必要
  • 本質的リスクは「 過小評価される個人メンテナー
  • 報道や利用者は、 OSSの現実 を正しく理解する姿勢が求められる

Hackerたちの意見

アクティビティチェックをしてたら、全プロジェクトの半分がメンテナンス担当者ゼロだってことに気づいてたはずだよね。

一度「完璧」になったソフトウェア(十分に長くうまく動いているもの)は、メンテナンスが不要になる。掃除も調整も更新も、プロジェクトごとの問題じゃなくて、システム全体の問題なんだ。

DoDがNodeを使ってるのがちょっと心配だな。間違ってるかもしれないけど、npmとかって攻撃のターゲットになりやすい気がする。

DoDは超大規模な組織だから、ほとんど何でも使ってるんじゃないかな。

なんで?国防総省は世界最大の組織の一つだよ。そこにはニュースレターを発行したり、ボーイスカウトみたいな人たちがツアーベースを整えるためのウェブページを作ったりする人もいる。そういうことにNodeを使うのは全然問題ないよ。そういうシステムはミサイルを発射するシステムとは繋がってないしね。独立記念日の花火のお知らせのサインアップページが vandalized されても、あんまり問題じゃないよ。

この人、リーナスの仕事についていい話を聞いたことがある。彼の作品を使ったことがあると思う。ロシアと国境を接している国出身なんだよね。これって心配すべきことなのかな?俺は何十年もOSSに関わってきたけど、ほとんど一人でやってたし、時々ボランティアのチームでやってた。ボランティアのチームでの経験がある人ならわかると思うけど、結構…難しいんだよね。うまくいくこともあるけど、思ったよりは少ない。うまくいくときは、だいたい「BDFL」みたいな人がいたり、みんなが同じ目標を持ってることが多かったな。俺の場合は後者が多かった。

(話がそれるけど)それだけじゃなくて、リーナスの両親は政治的に活動的な共産主義者で、若いリーナスは共産主義者のボーイスカウトみたいなパイオニアだったんだ。彼の父親はモスクワに数年間住んでたこともあるしね。

Linuxは多くのメンテイナーとサポートがある、しっかりしたプロジェクトで、リーナス一人のプロジェクトじゃないよ。

だから、NPMには400万以上の一人プロジェクトがあるけど、そのためのメンテナは約90万人いるんだ。このデータは最後に重要なポイントになるはずだよね。何か見落としてる?それとも、実際には重要なデータポイントじゃなかったのかな?

それに、複数人でメンテナンスしてるプロジェクトでも、ほとんどのコミットは一人が担当してることが多いんだよね。

これが、私が個人サイトに11tyを避けてJekyllを選んだ理由なんだよね。

DoDは、無料で手に入るものを見つけるのが得意で、みんなにそれを契約者チームに払うのが自分たちの利益だって納得させるのが上手いよね。

Hacker Newsで議論の続きを見る