オープンソースはお金にならない宿命」と言われるほど、オープンソースの開発は資金を集めることが難しいとされています。オープンソースライブラリ「Faker.js」の開発者も、マネタイズの難しさから自身の開発したFaker.jsを破壊するという暴挙に出たのですが、これを受けてFaker.jsをコミュニティ主導のプロジェクトとする試みが始動しています。

An update from the Faker team | Faker

https://fakerjs.dev/update.html

Faker.js is now a community controlled project | Hacker News

https://news.ycombinator.com/item?id=29961274

colors.jsは毎週2000万回以上ダウンロードされているnpmライブラリで、同ライブラリを利用しているソフトウェア開発プロジェクトの数は約1万9000件も存在します。Faker.jsも毎週280万回以上ダウンロードされている人気の高いライブラリであり、同ライブラリを利用しているプロジェクトは2500件以上存在します。そんな2つのライブラリの開発者であるMarak氏が、意図的に欠陥を盛り込んだバージョンをリリースし、ライブラリを利用するアプリケーションで突如アメリカ国旗が出力されるという事態が発生しました。Marak氏が2つのライブラリに欠陥を組み込んだ理由は、「オープンソースソフトウェアを金銭的にサポートしない大企業にある」とされており、実際、同氏は1年以上にわたり企業に対して「ライブラリを使用するなら金銭を支払うか独自のフォークを開発するように」と警告し続けてきました。

大企業は無償利用せず金銭的支援を行えと警告したのに改めないので作者がついに激怒、毎週2000万回以上ダウンロードされるcolors.jsとfaker.jsを破壊し使用不能に - GIGAZINE



そんな中、Marak氏が開発に携わってきたnpmライブラリのひとつであるFaker.jsが、コミュニティ主導の公式ライブラリを作成すると発表しました。Faker.jsだけでなくオープンソースのソフトウェアやライブラリには複数のフォークが存在しますが、Faker.jsはこのフォークも可能な限り統合するとしています。

GitHub - faker-js/faker: Generate massive amounts of fake data in the browser and node.js

https://github.com/faker-js/faker



そもそもFakerは偽のデータを生成するためのライブラリで、モックデータやテスト、開発などに使用できるデータを出力するためのもの。Fakerは2004年にJason Kohles氏により最初にPerlに実装され、その後、Ruby/Python/Java/Clojure/PHP/JavaScriptなどさまざまな言語に移植されてきました。

Fakerのうち、JavaScript向けのライブラリがFaker.jsで、これはMarak氏が破損版をリリースしたことで大きな注目を集めましたが、このような事態が起こることを防ぐべく、コミュニティ主導の公式プロジェクトが発足されることとなっています。公式のFaker.jsでは複数のFakerのフォークをひとつに統合することが計画されており、すでにアクティブなすべてのフォークを統合したことが発表されています。なお、公式Faker.jsに統合されたフォークをまとめると、同プロジェクトはGitHub上で「1532」のスターを獲得していることになるそうです。



さらに、公式Faker.jsのメンテナ(保守者)として8人のエンジニアがリストアップされています。

・Damien Retzinger

・Shinigami

・Daniel Bannert

・Erica Clark

・Mo Mahallawy

・griest

・Mateus Dadalto

・Jessica Sachs

なお、公式Faker.jsは「物事が落ち着き、一般的にライブラリの周りに混乱がなくなったら『公式』の文字をプロジェクトから外します」と記しています。

資金難により頓挫することとなったFaker.jsですが、運営資金は持続可能で健全なオープンソースエコシステムを構築することを手助けする非営利団体のOpen Source Collective経由で寄付を募ることとなります。Faker.jsへの寄付は以下のページから可能です。

faker - Open Collective

https://opencollective.com/fakerjs