注意: この記事は私個人の意見であり,所属企業を代表するものではない. 会社のブログは現在準備中で,現時点では適切な公開場所がなかったこと,また個人的な問題意識に基づく話でもあることから,今回は個人ブログに書いている.また,特定の会社や個人を責めるための文章でもない. ただ,営利企業として OSS を使っているなら,その作者,メンテナ,コアコントリビュータへもう少しお金の流れを作った方がよいのではないか,という話である.
序
OSS の作者,メンテナ,コアコントリビュータに対する報酬が不十分である,という話はたびたび話題になる.あるライブラリのメンテナが疲弊している,重要なパッケージが少人数に支えられている,世界中の企業が依存しているにもかかわらず,その人の生活はまったく安定していない.そういう話が流れてくるたびに,インターネットは少しざわつく.
もちろん,OSS は単純な雇用契約ではない.コードを公開した人が,自動的に利用者全員から対価を受け取る権利を持つ,という単純な話でもないし,利用者が全員,何かに強制的に課金されるべきだと言いたいわけでもない.
ただし,営利企業については少し事情が違う.
私たちは OSS を使ってプロダクトを作り,開発速度を上げ,品質を上げ,運用し,売上を作っている.そしてその売上の一部は,給料や利益として私たちの手元に来ている.
それなら,OSS を利用して収益を上げている企業が,その作者,メンテナ,コアコントリビュータに対して資金を還元することは,自然なことではないか.
Web フロントエンドは特にそうである
私は普段 Web フロントエンドの領域に関わっているので,この話をどうしてもその文脈で見てしまう.
現在の Web フロントエンド開発では,OSS は個別の便利な道具というより,日々の開発と運用の前提になっている. 開発環境を整えるとき,品質を担保するとき,プロダクトを届けるとき,その多くの場面で OSS に触れている.
私たちはそれらを組み合わせ,自社の事情に合わせて運用し,開発基盤として利用している.
もちろん,自社で書いたコードもあるし,設計も運用もプロダクト理解もあるので,そこを軽く見るつもりはない.
しかし,その土台の多くは,自社の外にいる作り手によって支えられている. しかもその多くは,直接の雇用関係も契約関係もない人たちが,どこかの時間を使って作り,直し,リリースしている.
OSS は抽象的な公共財のように見えることがある.しかし実際には,その向こうに作者がいて,メンテナがいて,レビューし,方針を決め,壊れたものを直すコアコントリビュータがいる.支払うべき対象を考えるとき,私はこの人たちの存在をもう少し前に出したい.
この状態で,企業が OSS の作り手にお金を払うことを特別な善行のように扱うのは,少し不自然だと思う.むしろ,通常の費用に近い.サーバー代を払い,SaaS に払い,デザインツールに払い,採用媒体に払い,イベントにスポンサーする.
ならば,依存している OSS の作り手にも支払うべきである.
イベントへの支援に比べて,作り手への支援は少ない
日本の技術コミュニティでは,イベントスポンサーを多く見かけるし,これは重要なことだと思う.会場費や配信費が出て,登壇者や参加者の体験が良くなり,企業とコミュニティの接点も生まれる.イベントスポンサーは文化を大きく支えている.
ただ,イベントにロゴを出す企業の数に比べると,OSS の作者,メンテナ,コアコントリビュータに対するスポンサーはまだ少ないように感じている.
イベントは目に見えやすい.ロゴが出て,会場にブースが出て,採用広報にもつながり,社内説明もしやすい.一方で,OSS の作り手の仕事は見えにくい.issue を読み,再現コードを書き,breaking change を避け,依存関係を更新し,脆弱性を直し,リリースノートを書き,ユーザーからの繊細な不満を受け止める.
これは派手な仕事ではなく,外部からも見えにくい.しかし,この地道な作業が止まると,ある日突然こちらの仕事も止まる.イベントスポンサーが不要だと言いたいのではないし,むしろ続いてほしい.ここで言いたいのは,支援先がイベントに寄りがちであるなら,OSS を作り,維持している人にももう少し支援が向いてよいのではないか,ということである.
メンテナは大企業の中の人だけではない
Meta,Vercel,Cloudflare のような企業には,OSS 活動を仕事として行っている人たちがいる.それは素晴らしいことだし,企業が OSS を戦略の中心に置き,人を雇い,開発を進めることには大きな意味がある.
しかし,OSS はそれだけで成り立っているわけではない.
大きな企業に所属していないメンテナもたくさんいる.個人でやっている人もいれば,小さな会社で働きながら夜や休日にやっている人もいるし,自分のプロダクトではないにもかかわらず,世界中のユーザーのために,結果として大きな責任を引き受けている人もいる.
実際に,私が日常的に利用しているいくつかの OSS も,大きな企業に所属していない開発者によって作成,またはメンテナンスされている.
私たちは,OSS を見るときに,有名な企業の名前を思い浮かべがちである.しかし,実際の依存関係の奥には,名前も顔も知らない個人がいる.その人が大企業に雇われているとは限らないし,会社の業務時間で直しているとも,生活に余裕があるとも限らない.それでも私たちは,その人たちの作ったものを使って売上を作っている.この非対称性を,もう少し直視した方がよい.
個人スポンサーは意味がある,でも足りない
私は GitHub Sponsors で,ありがたいことに 20 前後の個人スポンサーから支援を受けている.
これは大きな支えになっている.活動を見てくれている人がいるという実感があるし,金銭的にも少し余裕ができる.
だから,個人スポンサーに意味がないとはまったく思っていない.むしろ大いに意味があり,個人が個人に対して小さく支援する文化は,もっと広がってよい.
ただ,現実問題として,個人の小口支援だけで生活していくのは難しい.
数百円,数千円の支援が積み重なることは尊い.しかし,生活費,税金,保険,家賃,機材,時間の確保まで考えると,それだけで継続的な OSS メンテナンスやコアな開発参加を成立させるのは簡単ではない.
ここで企業による支援が必要になる.
個人が払えない金額でも,企業にとっては小さな予算であることがある.個人にとって大きな数万円が,企業にとっては一回の会食,一つの SaaS,一つの採用施策に近い扱いになることがある.その差は大きく,そこを活かすべきだと思う.
ただし,大口の継続支援には危うさがある
ここは重要だと思っている.
相当な覚悟がない限り,特定の一社が,一人の作者やメンテナ,コアコントリビュータに対して,継続的に大きな monthly 支援をするべきではない.
一見すると,大きな継続支援は望ましいことに見える.もちろん,安定した資金が入ること自体は良いし,受け取る側にとっても助かる.
しかし,その支援に生活が寄りすぎると,取りやめられたときのダメージが大きい.
会社の方針が変わる,担当者が異動する,景気が悪くなる,予算が切られる,その OSS を使わなくなる.企業側では起こり得る話である.しかし受け取る側にとっては,生活や活動計画が崩れる話になる.
だから,企業による OSS 支援は,集中した太い一本の柱よりも,細い柱がたくさんある状態の方が望ましいと思う.
単発のスポンサーが,たくさんの企業から,分散的に行われる.ある企業が一度支援し,別の企業が次に支援する.年に一度でも,四半期に一度でもよいし,プロジェクトのリリースや,自社で大きく助けられたタイミングでもよい.
一社の美談にせず,一人の作り手を一社に依存させず,企業群全体で,広く薄く,しかし個人スポンサーよりは大きな金額で支える.
この形の方が,OSS の経済としては健全だと思う.
企業は単発で支援すればよい
企業が OSS の作り手にお金を払うというと,すぐに大きな制度や継続契約を想像してしまうかもしれない.
しかし,最初から立派な制度にしなくてもよい.
今月,自社でよく使っているライブラリに払う.大きな移行で助けられたツールに払う.issue 対応が丁寧だったメンテナや,重要な設計判断を支えているコアコントリビュータ,依存関係の奥にいる個人に払う.リリースのたびに少し払う.
そのような単発の支援でよいと思う.
企業としては少額でも,受け取る個人にとっては大きい金額がある.たとえば 5 万円,10 万円,15 万円くらいの支援は,企業の予算としては過大ではないかもしれないが,個人の作者,メンテナ,コアコントリビュータにとっては,大きな意味を持つ金額になる.
そして,それが一社から継続的に来るのではなく,複数の企業から不定期に来るなら,依存の形も少し柔らかくなる.
もちろん,経理処理は煩雑かもしれないし,稟議も必要かもしれない.受け取り口が GitHub Sponsors なのか Open Collective なのか,請求書が必要なのか,社内規程に合うのか,さまざまな論点があると思う.
それでも,取り組んだ方がよい.
手続きの煩雑さを理由に見送るには,私たちは OSS に依存しすぎている.
所属企業で話したこと
ここで少し,自分の所属企業の話をする.
私は普段,株式会社メイツという営利企業でチーフエンジニアを務めている.
当然,仕事では OSS をたくさん利用している.Web フロントエンドでも,バックエンドでも,開発基盤でも,OSS はあらゆる場所にあり,その上でプロダクトが作られ,売上が生まれ,そのうちのいくらかは給料として私に振り込まれる.
この構図を考えると,少なくとも私個人としては,企業として OSS の作り手にお金を払うべきだという気持ちが強い.
ただ,この記事は会社を代表するものではなく,会社の公式見解でもない.ここはきちんと分けておきたい.
そのうえで,私はこの話を社内に持ち出した.まずは提案した本人が動くべきだと思ったからである.
「OSS に支えられているのだから,会社としてもその作者やメンテナ,コアコントリビュータに不定期に単発でスポンサーできないか」
要約すると,こういう相談をした.ありがたいことに,社内のメンバーは賛同してくれた.
これは,過度に美談として書きたいわけではない.会社として巨大な基金を作ったわけでもないし,世界を変える制度が今日から始まるわけでもない.金額も,会社としては少額の範囲になると思う.
ただ,それでも始めることに意味があると思っている.
まず自分のいる場所でやる.そして,できれば他の企業も巻き込む.一社の立派な取り組みにするのではなく,多くの企業が自然に取り組むことにする.
私はそういう方向に進んでほしいと思っている.
これは善行というより,支払いである
OSS 支援は,どうしても「良いことをしている」という印象が出やすく,スポンサーした企業が偉い,支援した人が優しい,という話になりやすい.
もちろん,そういう側面もあるし,支援するのは良いことだ.
しかし,企業に関しては,もう少し冷静に捉えてもよいと思う.
自分たちが使っているものの作り手に払う.自分たちの利益に貢献しているものの維持者に払う.自分たちの開発速度を支えている人に払う.
これは善行というより,通常の支払いである.
むしろ,これまで十分に支払ってこなかった状態の方が不自然だった,くらいに考えてもよいかもしれない.
何かを無料で使えることと,その維持にお金がかかっていないことは違う.ライセンス上は無料で使えることと,経済的にただ乗りし続けてよいことも違う.
OSS は無料で使えることが多い.だからこそ,払える側が自発的に払う必要がある.
特に,OSS を使って収益を上げている企業はそうだ.
結論
営利企業こそ,OSS の作り手に金を払え.
これは,企業を責めたい言葉ではなく,自分たちの仕事の土台を,もう少し正しく見るための言葉である.
私たちは OSS を使い,OSS によって開発速度を得て,品質を得て,売上を作っている.
なら,その一部を OSS の作者,メンテナ,コアコントリビュータに戻した方がよい.
イベントスポンサーも続けばよいし,個人スポンサーも広がればよいし,大企業が OSS 開発者を雇う流れも続けばよい.
そのうえで,もっと多くの営利企業が,依存している OSS の作者,メンテナ,コアコントリビュータに対して,単発で,分散的に,個人スポンサーより少し大きな金額を払うようになってほしい.
一社が過度に前面に出るのではなく,多くの会社が自然に支払う.一人の作り手を一社に寄せるのではなく,たくさんの企業で支える.採用広報の飾りではなく,開発費用の一部として扱う.
私は,この方向に OSS の経済が少しでも進んでほしいと思っているし,私も,自分のいる場所から,できるだけその流れを作っていきたい.