ソフトウェア

AppleやNetflixなどの大企業も使用するオープンソースライブラリ「core-js」をたった1人で維持する開発者が「もう限界だ」と支援を求める


オープンソースのJavaScriptライブラリである「core-js」は、古いブラウザでもJavaScriptの最新機能を使えるようにするPolyfill(ポリフィル)として強い人気を誇り、オープンソースのJavaScriptトランスコンパイラであるBabelにも組み込まれています。AppleやNetflix、Spotify、Pornhubといった大企業を含む多くのウェブサイトに利用されている「core-js」のメンテナンスをたった1人で行う開発者のDenis Pushkarev(zloirock)氏が、ついに家族を養えなくなったとして支援を求める記事をGitHubで公開しました。

core-js/2023-02-14-so-whats-next.md at master · zloirock/core-js · GitHub
https://github.com/zloirock/core-js/blob/master/docs/2023-02-14-so-whats-next.md

「core-js」は最も標準的なPolyfillとして幅広いウェブサイトで利用されており、パッケージ管理ツールのnpmを通じた「core-js」のダウンロード数は1カ月あたり約2億5000万回に上り、2014年のリリース以来の合計は約90億回に達するほか、1900万ものGitHubリポジトリと依存関係があるとのこと。zloirock氏が作成したスクリプトで自動検出を行ったところ、上位トップ1000に入るウェブサイトのうち52%で「core-js」が検出されるなど、非常に幅広いウェブサイトで利用されているそうです。

実際に「core-js」を利用しているウェブサイトの例としては、Apple・eBay・LinkedIn・Netflix・PayPal・Pornhubなどが挙げられます。zloirock氏は、「とにかく、『core-js』は人気のあるウェブサイトのほとんどで使用されていると自信を持って言えます。大企業のメインサイトでは使用されていなくても、一部のプロジェクトでは間違いなく使用されています」と主張しています。


ところが、多くのソフトウェア開発者はBabelなどのトランスコンパイラを通じて間接的に「core-js」を使っているため、自分が「core-js」の恩恵を受けていると知らない開発者が多いとのこと。実際、2012年末からプロジェクトに取り組み始めたzloirock氏も、当初は自分自身や「core-js」について宣伝しなかったそうです。

「core-js」は最新のJavaScript機能をさまざまなブラウザで利用可能にするライブラリとして急速に人気を集め、zloirock氏は毎日数時間を「core-js」のメンテナンスに費やす生活を数年間にわたり続けました。「core-js」はJavaScript標準の変更や提案、新しいJavaScriptエンジンのリリース、JavaScriptエンジンのバグといった状況に対応する必要があるため、リリースしたまま放置することはできなかったとzloirock氏は述べています。


zloirock氏は作業量の増大に伴って他のメンテナや一時的な貢献者を探し始めましたが、ほとんどのJavaScript開発者は間接的にしか「core-js」を使用しておらず、トレンドとして広く話題に上るライブラリではなかったため、すべての試みは失敗したとのこと。それでもウェブ全体への責任感からzloirock氏は「core-js」のメンテナンスを続け、リリースから数年後、ついにフルタイムの仕事と両立できなくなったことで仕事を辞めました。それ以降は比較的生活費が安いロシアに帰国し、短期間の仕事で生活費を稼ぎながら、「core-js」の作業を続けたそうです。

ところが2019年4月、zloirock氏は泥酔して道路で寝ていた若者をオートバイでひき殺す事故を起こしてしまいました。刑務所に入らないためには8万ドル(当時のレートで約880万円)の和解金と弁護士費用を支払う必要があり、すでに広く使用されていた「core-js」へのサポートを求めましたが、集まった金額は月額わずか57ドル(当時のレートで約6300円)だったとのこと。そこで、実験的にクラウドファンディングプラットフォームのPatreonを通じた支援を求めるメッセージを「core-js」に組み込んだところ、今度はさまざまな開発者から誹謗(ひぼう)中傷のメッセージが送られるようになりました。

以下のように、「core-js」ライブラリからzloirock氏を排除しようとする開発者も現れたそうですが、誰も「core-js」の規模がどれほどのものか理解しておらず、代わりにメンテナンスしようとする人物もいませんでした。zloirock氏は、「開発者は無料でありながら素晴らしく機能するオープンソースソフトウェアを使うのが好きです。彼らは数千時間もかかる開発や、その背後にいる現実の人間には興味がありません。彼らは、オープンソース開発者のいかなる言及も、個人的な空間への侵入あるいは個人的な侮辱とさえ考えています。彼らにとっては、オープンソースソフトウェアは何のノイズもなく自動的に変化する歯車に過ぎません」「そのため、数千人もの開発者が私を侮辱して攻撃し、『私たちにどのような助けを求める権利もない』と主張するのです」と述べています。


結局、和解金を支払えなかったzloirock氏は2020年1月に刑務所に収監され、化学工場での労役を経て約10カ月後に釈放されました。しかし、その後も賠償金の支払いが終わっていないため、完済するまでロシア国外に出ることはできないとのこと。

刑務所に入っている間に受け取った典型的な反応としてzloirock氏が挙げたRedditのコメントは、「This guy is a massive cunt. He's absolutely the worst maintainer I've ever come across on GitHub, bar none. Not sure he's in prison but I'm happy to see him off the site.(この男はとんでもない愚か者です。GitHubで出会ったメンテナの中で群を抜いて最悪です。彼が刑務所に入っているかどうかはわかりませんが、このサイトからいなくなってくれてうれしいです)」というものでした。


zloirock氏は事故や経済的支援を求めた件で、多くの開発者から「殺人者」「スパムで大金を稼いでいる」「開発者コミュニティの寄生虫」といったメッセージを受け取っており、ロシアとウクライナの戦争が始まってからは「ロシア在住のロシア人」という理由でも誹謗中傷を受けています。これに対しzloirock氏は、ロシアに帰国したのは「core-js」のメンテナンスに伴う経済的な問題からであり、事故の賠償金を支払い終わるまで出国することはできないと説明。戦争については、「私が言及することで苦しむ可能性がある身近な人々が国境の両側にいるので、詳しいコメントは控えます」と述べています。

事故の後は月額1700ドル(約23万円)ほどの寄付金などで生計を立てていたzloirock氏ですが、ロシアに対する制裁などで一部の支援サイトが利用できなくなり、2023年2月の収入はわずか400ドル(約5万3000円)ほどになる見込みです。1月の作業時間はフルタイムの仕事より多い約250時間であり、時給に換算するとたった200円ほどだとのこと。

「core-js」に取り組み始めた時点ではそれほど金銭に執着がなかったzloirock氏ですが、約1年前に息子が生まれ、家族や両親を養う必要に迫られています。「私が持っている資金で家族をしっかり養うことは明らかに不可能だと思います」「ヘイターのことは気になりません。そうでなければ、私はとっくにオープンソースソフトウェアから離れていたでしょう」「しかし、お金は大事です。私自身と家族の幸福を犠牲にして企業を支援するのはもううんざりです。私は家族のために、息子のために明るい未来を確保できるはずです」とzloirock氏は述べ、もう限界だと訴えています。


zloirock氏は、「これは『core-js』を適切な品質と機能を持つ無料のオープンソースプロジェクトとして維持するための最後の試みです。オープンソースソフトウェアの向こう側には、家族を養い、解決するべき問題を抱えた現実の人間がいることを伝える最後の試みです。もし、あなたやあなたの会社が何らかの形で『core-js』を使っており、サプライチェーンの品質に興味があるなら、このプロジェクトをサポートしてください」と述べ、オープンソース支援サイトのOpen Collective・支援サイトのboostyPatreon・ビットコインアドレス(bc1qlea7544qtsmj2rayg0lthvza9fau63ux0fstcz)などで支援を募っています。

適切な財政的支援が得られれば、zloirock氏は「core-js」の機能を維持するためのメンテナンスを継続することができ、追加の開発者を雇用することも可能だとのこと。しかし、不可能であれば「core-js」を商用プロジェクトにして資金をまかなうか、フルタイムの仕事を得て「core-js」の作業を月数時間程度に減らし、やがて「core-js」が死を迎えるかのどちらかだとzloirock氏は述べました。

この記事のタイトルとURLをコピーする

・関連記事
企業がオープンソースをサポートする簡単な方法は「自社チームへの講演依頼」を行うこと - GIGAZINE

全世界を揺るがした「Log4j」のようなオープンソースソフトウェアを無償でメンテし続けるという難題を解決すべくGoogleが立ちあがる - GIGAZINE

脚光は浴びないが重要なオープンソースソフトウェアを維持する開発者に報酬を分配する「OpenFare」とは? - GIGAZINE

オープンソースのメンテナーとしてフルタイムで働いてGoogle社員レベルの給与を得る方法とは - GIGAZINE

オープンソースのソフトウェアで収益化&生計を立てることに成功した事例 - GIGAZINE

「オープンソースはお金にならない宿命」とMozillaのプログラマーが主張 - GIGAZINE

「オープンソースの開発現場の多くは持続可能なほどの収入を得られていない」という指摘 - GIGAZINE

オープンソースOS「SerenityOS」開発者はいかにして生計を立てているのか? - GIGAZINE

in ソフトウェア,   ネットサービス, Posted by log1h_ik

You can read the machine translated English article here.