オープンソース
持続可能性

オープンソースの持続可能性

次の記事

Facebook、暗号通貨広告を部分的に解禁――ICO、バイナリーオプションは引き続き禁止

オープンソースのメンテナーたちは疲れ果てて、支払いを受けることも稀である。新世代にむけて経済を変えていこう。

オープンソースの持続可能性とは、ずっと矛盾した表現に他ならなかった。世界中のエンジニアが、その汗と心を、情熱溢れるプロジェクトへ注ぎ込み、現代のインターネット経済の中で使われるソフトウェアを支えている。その見返りとして、彼らは称賛以外の何物も求めず、そのプロジェクトが生き続け改善されていくことに向けて努力するのだ。それは、分権化されたボランティア精神たちの、信じられないような運動であり、人間性が最高の形で現れたものだ。

インターネットとコンピューティングの巨人たち(世界で最もオープンソースを使うユーザーたち)は、数兆ドルの価値を誇っているが、その富が、彼らに力を与えているオープンソースプロジェクトのメンテナーたちに滴り落ちて(トリクルダウン)行っているのかどうかについては、あまり考えられていないだろう。昼には別の仕事を行いながら、メンテナーたちは、GitHub上でのひっきりなしの無料サポート要求に晒されながら、重大なバグを修正するための時間を見つけるのに苦労しているかもしれない。メンテナーたちののバーンアウトは深刻な問題なのだ。

その悲惨な状況は、Nadia Eghbalが書きフォード財団によって公開されたオープンソースの状況についての画期的なレポートの中で、ほぼ2年前に報告されている。オープンソース基盤を「道路や橋」と比較しながら、Eghbalはオープンソースが向き合う問題の包括的な概要を示しただけでなく、より多くのオープンソース利用者たちに対して、その経済学に注意を払うこと、そして最終的にはこうした重要なプロジェクトたちが持続可能になるように力添えを行うことを呼びかけたのだ。

それから2年が経ち、新しい起業家たちの集団、オープンソースメンテナー、そして複数の組織たちが、Eghbalの呼びかけに取り組み、オープンソースの中心にあるボランティア精神を維持するためのソリューションを生み出しながら、同時にその仕事を維持可能なものにするための新しい経済モデルを発明しつつある。全てはまだ初期段階であり、それがオープンソースの成果と品質に対して、長期的にどのような影響を持つかは未知である。しかし、それぞれのソリューションは、今後のオープンソースにおけるキャリアの考え方を、根本的に変える可能性のある道を提供している。

「道路や橋」が崩れて行くことを誰も気にしない

2年前のEghbalの報告書には、オープンソースのメンテナーたちが直面している広大な問題、そしてそれ以降も本質的に変わっていない課題がまとめられている。それは、ありふれたものになることで意識されることが減ってしまう「一般化の悲劇」の典型的な例である。Eghbalが当時書いたように、「基本的に、デジタルインフラストラクチャにはフリーライダーの問題がある。リソースは無料で提供され、誰でも(個々の開発者か、大手ソフトウェア会社かに関わらず)それらを利用する。このため、そこに貢献を返そうと考えるものはおらず、誰かがそれをやってくれるのだろうと考えるのだ」。オープンソースソフトウェアがその影響の頂点に達するにつれて、これは脆弱な生態系へとつながっている。

しかし、問題はさらに深刻だ。人びとは、単にフリーライディングをしているだけでなく、しばしばその自覚さえないのだ。普通のソフトウェアエンジニアたちは、アプリケーションの最も基礎的な部分を支えているオープンソースに注がれた職人技が、どれほどのものかをつい忘れてしまいがちだ。例えばNodeエコシステムを支えるモジュールリポジトリであるnpmは、70万近くのプロジェクトを登録している。最近新しいReactアプリを始めたところ、npmは私の初期プロジェクトにわずか数秒で1105個のライブラリをインストールした。こうしたプロジェクトは何だろう?

そしてさらに重要なことだが、がその背後にいるのだろう?ライブラリの依存関係ツリーは、ライブラリを生み出し機能させている全ての人びとを抽象的な存在にしてしまう。そうしたブラックボックスによって、それぞれのオープンソースでは、想像よりもずっと少ない人数のメンテナーしか舞台裏では働いていないということや、そうしたメンテナーたちが資金不足によって、ライブラリのために働くことが難しくなっているかもしれないということが、分かりにくくされてしまう。

Eghbalは、OpenSSLを例とした挙げた。これはWeb上の暗号化された通信の大部分を担うライブラリだ。Heartbleedセキュリティバグが公表されたときに、人びとはOpenSSLプロジェクトが非常に小さな個人のチームの仕事であり、そのうちの1人だけがフルタイムで働いていることを知って驚いた(そのフルタイム作業者も、業界基準に比べれば非常に少ない給与で働いていたのだ)。

このような状況は珍しいことではない。オープンソースプロジェクトにはしばしば多くのコントリビューター(協力者、貢献者)がいるものの、特定のプロジェクトを本当に推進しているのは、一握りの個人たちに過ぎないのだ。燃え尽きや、関心の喪失などによって、そうした推進力を失ってしまえば、プロジェクトは簡単に漂流してしまう。

無償が無償でなくなるとき

オープンソースが消えることや、メンテナーが燃え尽きることを望んでいる人はいない。しかしコミュニティの中には、商業的な関心に対する、強い文化的な抵抗が存在している。金は腐敗しており、オープンソースに対するボランティア精神を損なわせるというわけだ。より現実的には、仕事に対する実際の支払いが非常に難しい、世界中に分散したボランティアチームに対する、お金の管理の課題がある。

驚くことではないが、オープンソースの持続可能性を考える最先端では、物事は違う角度から眺められている。弁護士であり、License Zeroの創始者であるKyle Mitchellは、世間には「オープンソースは天からの恵みのように降り注ぎ続け、その背後にいる人びとは抽象的な存在として捉えていても良い」という前提があるのだという。彼はこうまとめる:「それは本当に間違っています」。

その見解は、人気のあるJavaScriptコンパイラBabelのメンテナーであるHenry Zhuによっても繰り返された。「私たちはVCからの数百万ドルという資金を持つスタートアップたちを信頼していますし、『どんどん失敗せよ』という文化も奨励していますが、だとしても何年もの献身を捧げてくれたであろうボランティアたちに、何か報いようと考えることは望ましくないことでしょうか?」と彼は語る。

Open Collectiveの創業者であるXavier Dammanは次のように語る「どのようなコミュニティにも、極論に走る人物は常にいます。私は彼らの話を聞いてその言い分も理解しています。理想的な世界では、皆がベーシックインカムを得ることになるでしょう。それには私も同意します」。しかし世界はまだ、そのようなインカムモデルには移行していないのですから、オープンソースの仕事を支援することも、選択肢として与えられるべきです。「全員がオープンソースコミュニティのために資金調達を行わなければならない、ということではなくて、希望する人ならそれができるようになっているべきであり、私たちはそういう人たちと働きたいと思っているのです」と彼は言う。

Mitchellは、最も重要な課題の1つは、単にお金について話すことに抵抗がなくなることだと考えている。「そうなるまで、お金は汚いもののように感じられることでしょう」と彼は言う。「私はコミュニティの中で、お金がより大きな役割を果たすところを見たいと思っているのです」。彼が指摘したまた別の課題の1つは「素晴らしいメンテナーになることを学んだとしても、素晴らしいオープンソース請負人やコンサルタントへの成り方がわかるわけではない」というものだ。GitHubはコードリポジトリサービスとしては素晴らしいが、最終的にはメンテナーたちにその仕事の経済性を教えるものではない。

コントリビューター個々人を支援する:PatreonとLicense Zero

おそらく、オープンソースを維持する上で最大の議論は、誰もしくは何をターゲットにするかを決めることだろう:(頻繁に複数のプロジェクト間を移動する)個別のコントリビューターたちなのか、あるいは特定のライブラリそのものなのか。

Feross Aboukhadijehを例に取ろう。Aboukhadijeh(実を言うと、彼は約10年前にスタンフォードで私のルームメイトだった)は、特にNodeエコシステムにおけるオープンソースの世界で、主役となっている。彼はNode.js Foundationのボードメンバーに選任され、GitHub上で125レポジトリを公開しているが、その中にはWebTorrent(1万7000スター)や Standard(1万8300スター)などの人気プロジェクトも含まれている。

Aboukhadijehは、オープンソースにもっと時間を費やす方法を模索していたが、1つのプロジェクトに依存したり、昼の光も見られないような民間企業でコードを書いたりすることは望んではいなかった。そこで彼はサポートの手段としてPatreonに目を向けた。

(情報開示:私の直近の雇用主であったCRVは、PatreonのシリーズAに対して投資を行っている。私はこの特定の会社に対して、能動的にも受動的にも金銭的な関心を持っていない。 私の倫理宣言によれば、私は通常ならCRVのポートフォリオ企業については書かないのだが、このエッセイはオープンソースに焦点を当てているため例外とした)。

Patreonはクラウドソース型のサブスクリプションプラットフォームで、おそらくそれが支援しているクリエイターたちでよく知られている。しかし最近では、注目されるオープンソースのコントリビューターたちによる利用も増えている。ファンたちと交流し、彼らの仕事を維持するためだ。Aboukhadijehも、他の人たちがやっているのを見て、彼のページを立ち上げた。「沢山の人たちがPatreonsを始めていました。これは私のJavaScriptサークルの中のミームの一種となっていました」と彼は言う。Patreonの彼のページには、現在72人のコントリビューターが名前を連ねており、月に2874ドル(年に3万4488ドル)の資金を提供している。

それはいささか少ないようにみえるかも知れないが、彼は様々な組織からの資金でPatreonを補っていると説明してくれた。例えばBrave( ユーティリティトークンモデルに基づく広告ブロッキングブラウザー)やPopChest(分散動画共有プラットフォーム)などだ。そうしたものの合計で、彼は月に数千ドル以上を手にしている。

Aboukhadijehは、Twitterが収入源を構築していく上で、大きな役割を果たしたと語った。「Twitterは、開発者たちが何かを話し合う場所として、そして会話が始まる場所として重要なのです…」と彼は語った。「私の仲間でPatreonで成功した人たちは、みな私のように沢山ツイートを行って、とても上手くやっています」。

大いに成功した場合には、収入はとても大きくなる可能性がある。人気のJavaScriptフロントエンドライブラリであるVue.jsの作者であるEven Youは、231人のパトロンから毎月1万5206ドルに達する収入を得ている(年額18万2472ドル)。Graphtreonによれば2016年3月にPatreonに参加して以来、収入は上下しているものの、パトロンの数は一貫して増えてきている。

Aboukhadijehは、大きな利点の1つとして、彼自身の資金に対する所有権を持っていることを指摘した。「Patreonをやったことは嬉しいですね。なぜならお金が自分のものになるからです」と彼は言う。

Patreonはユーザーから収入を得るための直接的なアプローチの1つだが、また別の方法としてデュアルライセンスを提供するというやりかたもある。無料ライセンスと商用ライセンスの2つを提供するのだ。これがLicense Zeroのモデルで、昨年Kyle Mitchellによって提案された
。彼は私に「License Zeroは、シンプルな答のない本当にシンプルな問いかけに対する回答なのです、すなわち、私たちはオープンソースビジネスをどのように個人に開放することができるのか?」と語った。

Mitchellは変わった経歴の人物だ。法律学校に行くことを選んだ昔からのコーダーなのだ。成長の過程で彼は、ウェブの上で発見したソフトウェアを使いたいと思っていた。しかし「もしそれが無料でなかった場合には、子供だったのでダウンロードすることはできませんでした」と彼は言う。「それが法律への道を拓くことになった知的財産問題へと私を誘いました」。

License Zeroは、2条項BSDライセンスに基づく許可ライセンスである。ただし、商用ユーザーは90日後には商用ライセンスの支払いを行わなければならない。このことで企業は、実際の購入の前にプロジェクトで試用することができる。もしライセンスを購入することができない場合(例えば、メンテナーがもはや存在しない)には、条項は強制力を失い、ソフトウェアは完全にオープンソースとして提供される。このアイデアは、一般ユーザーはいつでもソフトウェアを無料で利用できる一方、商用ユーザーは支払いを行う必要があるというものだ。

Mitchellは、これがオープンソースでの努力を続けようとする個人にとって、適切なアプローチであると考えている。「最も重要なことは、時間予算です ―― オープンソースプロジェクトを抱える多くのオープンソース企業や個人が、お金をサービスから得ています」と彼は言う。問題は、そうしたサービスは1つの企業に集中することになり、そのプロジェクトをなるべく良くするための時間を奪い去ってしまうことだ。「もし金儲けをするための時間が、オープンソースを良くするために使われないとしたら、それはオープンソース自身の足を引っ張ってしまいます」と彼は語る。

確かにLicense Zeroは、オープンソースはすべてのユーザーに無料で提供されるべきであるという概念からは離れてしまう、文化的な飛躍だ。しかしMitchellは、「企業はいつでもソフトウェアに支払いを行っています。そしてそれを無料で手に入れることができる場合でも支払いを行うこともあるのです」と述べている。企業は適切なライセンスを気にしているため、そのことがオープンソースソフトウェアのオープン性と精神を維持しながら、収入を得るための手段となる。またそれは、販売目的のために、オープンソースのメンテナーに重要な機能(例えば管理用ダッシュボードとか、大規模対応機能とか)を取り除く作業を強いることがない。

既存のプロジェクトのライセンスを変更するのは難しいかもしれないので、このモデルはおそらく新しいプロジェクトで使われることが最善だろう。これは潜在的に、Patreonやその他のサブスクリプションプラットフォームを補足したり置き換える手段を提供し、個人のオープンソースコントリビューターたちに、生活の場を与えながら、コミュニティにフルタイムで取り組む持続的な手段を見つけさせる。

組織を支援する:TideliftとOpen Collective

個人を支援することには多くの意味があるが、しばしば企業は、自身のソフトウェアを支えている特定のプロジェクトやエコシステムを支援したいと考える。だがそうすることがほとんど不可能なこともある。企業がオープンソースに資金提供をする場合には複雑な手順が必要とされる。例えば実際に送金する先の組織を特定するなどの作業などだ(そして多くの場合、税務署に対してその組織が確かに非営利組織であることを証明しなければならない)。TideliftとOpen Collectiveは、そうしたチャンネルを開くための2つ方法だ。

Tideliftは、Donald Fischerが率いる4人のオープンソース信者たちによる独創的な計画だ。CEOであるFischerは、General CatalystとGreylockでの元ベンチャー投資家であり、長年に渡りRed Hatの役員も努めている。その最新の取り組みとして、Fischerはオープンソースエコシステムの中心の会社たちに投資を行っている。例えばAnaconda(Pythonの科学と統計コンピューティングに焦点を当てている)、Julia Computing(Juliaプログラミング言語に焦点を当てている)、Ionic(クロスプラットフォームモバイル開発フレームワーク)、そして今はLightbendという名前になったTypeSafe(Scalaプログラミング言語の背後にいる)などだ。

Fischerと彼のチームは、オープンソースエコシステムが自分自身で持続できるようにするプラットフォームを作りたいと考えている。「オープンソースがソフトウェアの大きな部分を占めているにも関わらず、オープンソースのクリエイターの多くが、生み出している価値の多くを手にすることができていないという点に、ある種欲求不満を感じていました」と彼は説明する。

Tideliftは、「ソフトウェアのセキュリティ、ライセンス、そして保守などの分野」で保証を提供するようにデザインされている、とFischerは述べた。そのアイデアの起源は、Linuxを商用化したRed Hatから得られたものだ。ここでのアイデアは、企業はクリティカルな脆弱性対応や長期間に渡るサポートなどの保証を受けることができる場合には、喜んでオープンソースにお金を払うというものだった。さらにTideliftは、ライセンス問題の取り扱い等の、オープンソースを商用化するために必要な日常的なタスクを請け負う。

Fischerは、Tideliftから購入する企業とスタートアップが取り組むプロジェクトの共生を狙っている。「私たちはオープンソースを、関係者全員とって良いものにしようと努力しています。そこにはオープンソースの開発者と利用者の両方が含まれています」と彼は言う。「私たちが焦点を当てているのは、上流のオープンソースプロジェクトで問題を解決することです」。企業は保証を購入しているものの、それは排他的なものではない。たとえば、脆弱性が検出された場合には、全ての人向けに修正が行われる。

Tideliftは当初、React、Angular、Vue.jsといったJavaScriptエコシステム向けに立ち上げられた。しかし、時間の経過とともにより多くのコミュニティに広がって行くだろう。同社はベンチャーキャピタルのGeneral CatalystとFoundry Group、そして元Red Hat会長兼CEOだったMatthew Szulikから1500万ドルの資金を調達した。

Fischerは、同社がオープンソースのコントリビューターのための経済学を変えることができると期待している。彼はコミュニティが、「必要最低限の収入」を伴った「なんとか生き延びる」というモデルを脱却して、偉大なソフトウェアのメンテナーたちが「大きな成功を収め、それによって金銭的に大いに報われる」ことを支援したいと望んでいる。

Tideliftが商品化とソフトウェアの保証に焦点を当てているのに対して、Open Collectiveはオープンソースそのものの収益プロセスを、オープンソース化したいと考えている。

Open Collectiveは、お金を受け取ることができるツールを「グループ」(collectives)に対して提供するプラットフォームである。同時にそのグループのメンバーに対して、そのお金を民主的かつ透明なやり方で支出するメカニズムも提供している。

例えば、Open Collectiveが支援しているBabelを見てみよう。Babelは現在、毎年コントリビューターたちから、年間予算11万3061ドルを受け取っている。しかしもっと興味深いのは、このグループがどのようにそのお金を費やしているかを誰でも見ることができるということだ。Babelは現在、その口座に2万8976.82ドルを所有していて、かつすべての出費が記載されている。例えば、このエッセイの最初の方で取り上げたコアメンテナーのHenry Zhuは、6月2日にサンフランシスコとシアトルでの2週間分のLyftの費用として、427.18ドルを計上している。

Open Collectiveの創業者であるXavier Dammanは、この徹底的な透明性が、その参加たちによって、どのようにオープンソースの経済を考慮されるかを変える可能性があると考えている。DammanはOpen Collectiveを(ユーザーがウェブサイトのコードを見ることができる)ウェブブラウザの「ソースを見る」機能に喩えた。「プラットホームとしての私たちの目標は、できるだけ透明にすることです」と彼は語った。

DammanはかつてStorifyを創業した人物だ。その当時彼は、助成金を受け取って、ジャーナリストたちが匿名のタレコミを受け取ることを助けるようにデザインされたオープンソースプロジェクトを開発した。問題は「助成金を得たのはいいのですが、私はそのお金をどうすれば良いか分からなかった」ことだ。彼はそれを他のオープンソースプロジェクトに与えることを考えたが、「法的に、それはただ不可能でした」。法的実体や書類がなければ、お金は使うことができないものだったのだ。

Open Collectiveはこれらの問題を解決するためにデザインされている。Open Collective自身は、デラウェア州のC-corpと501(c)6の非営利団体の両者であり、そのプラットフォームでホストされているグループに向けられたすべての資金を、財政的スポンサーとして法的に受け取る。これにより、組織は企業に対して請求書を送ることができるようになり、このことで企業は小切手を切るための書類を受け取ることになる。「請求書を手に入れることができれば、問題は解決するのです」とDammanは説明する。

一旦プロジェクトにお金が入ったら、それを使う方法を決めるのはコミュニティのメンテナー次第だ。「それぞれのコミュニティのルールを決めるのは、各コミュニティに任されます」とDammanは語る。彼は、オープンソースのコントリビューターたちは、しばしば通常行われていないあまり面白くない種類の仕事を代行して貰うためにお金を使うことが多いと指摘する。Dammanはそれを「人にお金を払って、場所を綺麗に保つ」ことになぞらえた。公園を積極的に掃除したいと思う人はいないが、もし誰も公園を掃除しなかったら、だれも公園を使わなくなってしまう。彼はまた、実際の対面ミーティングが、よく使われる収入の使い道だと説明した。

Open Collectiveは2015年後半に立ち上げられ、以来647のオープンソースプロジェクトを支えてきた。これまでのところ、人気のあるJavaScriptビルドツールであるWebpackが最も収益を上げており、現在の収益は年間31万7188ドルに達している。組織の主な目的の1つは、より多くの営利企業たちが、オープンソースに資金を投入するように促すことだ。Open Collectiveは、主要な寄付者のロゴを各グループのページに配置して、オープンソースへのコミットメントに対して目に見える称賛を与えている。

Dammanの究極の夢は、所有権そのものの概念を変えることだ。私たちは「競争を協調に変えるだけでなく、所有を共有に変えることもできます」と彼は期待を述べる。

持続可能性を持続する

残念ながら、オープンソースの持続可能性の議論はとても初期の段階である。Patreon、License Zero、Tidelift、Open Collectiveは、持続可能性のためのインフラストラクチャを提供する異なるアプローチだが、最終的にはそうしたインフラストラクチャを有効なものにするためには、誰かが支払いを行う必要がある。Patreonで昼の仕事を埋め合わせることができているエンジニアは、ほんの一握りだけだ。そして私のみたところ、1人のフルタイムメンテナーをOpen Collective上で支援できているグループは2つだけである。License ZeroとTideliftはあまりにも新しいので、まだどのようになるかは判然としない。

とはいえ最終的には、私たちは文化を持続可能性に向けて変えていく必要がある。BabelのHenry Zhuは次のようにコメントした「私たちのコミュニティの文化は、例えば雇用の提供や資金の提供といった、できることで対価を与え、コミュニティのプロジェクトを支援するようなものでなければなりません。オープンソースを単に取り込んで使い、そのコストを無視したままではなく、私たちはその持続可能性に責任を負うべきなのです」。

ある意味、私たちは単に、一般化の悲劇における、元々のフリーライダー問題に戻っているだけだ ―― だれかが、どこかで支払いをしなければならない、しかしその便益は皆で分け合うのだ。

しかし、こうした変化は、コードを扱う私たち全てに起こり得るものだ ―― すべてのソフトウェアエンジニアとプロダクトマネージャーの全てに。営利企業で働いている場合には、あなたの仕事を効率的にしてくれているコードを支援できる方法を率先して探そう。オープンソースコミュニティーの分権化とボランティア精神は、すべての財政的コントリビューターに対しても、まったく同じ種類の分権化された精神を要求する。持続可能性は私たちひとりひとりが、日々取り組むべきことだ。もし私たち皆が、自分の役割を果たせば、人類が生み出した、歴史上最も偉大な知的運動の1つを支えて、オープンソースの持続性の矛盾を永遠に葬り去ることを助けることができるのだ。

[原文へ]
(翻訳:sako)

画像クレジット: Massimiliano Clari / EyeEm / Getty Images