ウェブ開発が名前も知らない個人の無償労働に依存しているのは構造的な脆弱性だが、それは近々解消されると思う

log4j や faker.js が最近話題になっていたが、こういう例は特段目新しい出来事ではない。
過去にも Heartbleed や left-pad のような事案があった。みんなもう忘れているかもしれないけど。
今の OSS の体制が続く限り、同じようなことは何度も繰り返されるだろう。

さて、よく言われる話だが、我々ウェブ開発者のほぼすべては OSS 開発者の成果にフリーライドしている。うーん、OSS 開発者、カワイソウ。
でも OSS 使う側からしてみれば無償 OSS に依存して保守が途絶えたり不正なコードが混入されるリスクを背負うよりは、お金払ってもいいからちゃんとした保証のあるものを使いたい、と思っていたりもする(よね?)。
とはいえ OSS 開発者は自らが提供する NPM package の利用に課金しようと思ってもそんな簡単にはできない。一応寄付のシステムは GitHub にあるけれども、これはなかなかうまく回っているとは思い難い。

そんなわけでユーザーも双方にとって不幸な状態で、長期的に持続可能なエコシステムが成立していないというのが現状。
まあ OSS 開発者はワリに合わないと思うなら開発をやめてしまうのもひとつの手なのかもしれないが、じゃあ OSS に依存している開発者はどうすればいいのか?
 OSS 使うのをやめてすべて自力で実装する? 依存しているライブラリーをすべて把握して、その品質が信頼できなければ、新たに実装し直すべき? (無理です)

この構造を大きく変化を生じさせることができる力を持っている存在(そしておそらくそれを狙っている存在)は、Microsoft だろう。
携帯端末市場で AppleGoogle に出遅れプラットフォーマーとしての圧倒的有利なポジション獲得に失敗した Microsoft は、ここ10年、新たな領域でのプラットフォーム構築を画策してきた。

そして、近年買収した GitHub と NPM は、言うまでもなくウェブ開発を行う上で非常に重要なプラットフォームだ。きっと近いうちに GitHub と NPM は統合されるだろうし、その上で OSS ユーザーから OSS 開発者に対価が動く仕組みが構築されるだろう。

なぜそんなことが言えるのか?
それは、プラットフォーム上でお金が動かないと Microsoft が儲からないからだ。

当たり前だが、営利企業である Microsoft は自社の利益のために行動している。
一応有料プランのある GitHub はともかく、 NPM なんて現状とても儲かるようなシステムになっていない。それでも買収したのは、何らかの方法でマネタイズできるプランがあるからだ。
上に書いたように現在の OSS は持続可能なエコシステムとして成立していないが、ここには資本主義的な仕組みを取り入れることでより安定的なエコシステムを構築できる余地がある。

きっと5年後には、NPM と GitHub (あと VS Code とかも)は統合され、 NPM 上で有償ライセンスのライブラリーを公開できるようになるだろう。App Store のように。そしてその NPM package を使用するユーザーに対して課金を行い、 OSS 開発者のもとにその使用料が自動的に支払われるだろう。

個人の無償労働に依存した OSS 開発の時代は終わりを迎え、有償 OSS の時代がもうすぐやってくる。

もちろん、その売上の3割は Microsoft が持っていく。