昨年末の経営陣刷新により JavaScript パッケージ レジストリ NPM Inc の CTO の座を追われた CJ Silverio 氏は、土曜日に Entropic という自己ホスト型の連合パッケージ レジストリを発表した。同氏は、このレジストリが JavaScript コミュニティにとって、以前の雇用主の技術よりも優れたものになることを期待している。
これは、NPM Inc.の新経営陣と従業員の対立がレイオフにつながり、解雇された従業員による組合破壊を訴える苦情が出た3月以降、3件目の取り組みとなる。1件目は開発者のVictor Bjelkholm氏のOpen-Registry、2件目はMicrosoftのGitHub Package Registryである。
同僚のクリス・ディキンソン氏の協力を得て開発された Entropic は、営利企業が JavaScript インフラストラクチャの重要な部分である npm パッケージ レジストリを制御しているのではないかという Silverio 氏の懸念から生まれたものです。npm パッケージ レジストリは、何百万もの開発者やアプリによって使用され、毎週何十億ものパッケージ ダウンロードが行われています。
npmレジストリは、JavaScript開発者が利用できる約70万個のパッケージをリストアップしたデータベースであるレジストリ、それらを保存するリポジトリ、レジストリを操作するためのコマンドラインインターフェース(CLI)、そして利用可能なコマンドを定義する一連のAPIで構成されています。NPM Inc.がレジストリとリポジトリを集中管理し、CLIとAPIはオープンソースであるため、Yarnのような代替のnpmクライアントが存在します。
元スタッフは別の考えを持っている
週末にThe Registerに提供された、ドイツのベルリンで開催された JSConf EU でのプレゼンテーションで、Silverio 氏は、人気の JavaScript ランタイムである Node.js の歴史と、その作成者が集中型の非公開のモジュール リポジトリ、具体的にはノード パッケージ マネージャー (npm) を統合したことをどのようにして後悔するようになったかについて詳しく説明しました。
彼女は、NPM 社は「すべての JavaScript 開発をコントロールしている。なぜなら、すべての JavaScript 開発は自発的に NPM 社を経由しているからだ」と述べた。
NPMは愛らしいイメージに固執するが、上級スタッフは足で投票する:長年の製品責任者がJSパッケージビジネスから撤退
続きを読む
Silverio氏は、JavaScript Commonsを、Ecma International Technical Committee 39が管理する言語仕様と、JavaScriptおよびNode.jsの共通コードの両方であると説明しました。これには、Webアプリに便利な機能を追加するためのライブラリやパッケージに加え、Babel、webpack、TypeScript、Reactといった大規模プロジェクトも含まれます。
「この共有コードをすべてリストアップしたレジストリも、私たちの共有財産の一部です」と彼女は言った。「これは、私たちが互いに共有し、見つける方法です。もう一つ、私たちの共有財産の一部となっているのは、それを中心に発展してきた一連の慣習、つまり共有するものに名前を付け、更新するための合意方法です。しかし、これらはすべて、ベンチャーキャピタルから資金提供を受けた民間企業が完全に所有しています。私たちが手放したのは、まさにこのレジストリなのです。」
NPM Inc. が投資家に資金を返還する必要があることを考慮すると、同社が JavaScript コミュニティの利益を自社の利益よりも優先させるとは信じられない、とシルベリオ氏は述べた。
「NPMはあなたを愛していません」と彼女は言った。「NPMはあなたを愛することができません。NPM社は、少数の人々の金銭をさらに金銭に変える金融商品として設立されたデラウェア州の法人です。」
シルベリオ氏は、NPM社自身も不適切な対応だったと認めている最近のレイオフを指摘し、オークランドに本社を置くこの企業は、地域社会がその行動に責任を負わせる方法がないため、信頼できないと述べた。
お金だけの問題ではない
また、同社はまず収益性を重視する必要があるため、同社の行動がJavaScriptコミュニティの利益と合致しないのではないかと懸念している。そのため、パッケージ署名のような需要の高い機能は、収益につながらないため開発されない可能性が高いと彼女は述べた。さらに、ネットワーク上のあらゆるインタラクションが潜在的に貴重なデータを生成するため、同社がクライアントとバックエンドのインタラクションを削減することに関心を示すかどうかも疑問視している。
「監査を実行するたびに、NPM はパッケージ ロック ファイルを調べ、そこで行われた作業に関する興味深いデータ ナゲットが満載されます」と彼女は言います。
オープンソースの Apache 2.0 ライセンスの下で利用可能な Entropic は、誰もが独自のリポジトリを実行するため信頼できる代替手段を提供することを目指しています。
「Entropicは統合されています」とSilverio氏は説明した。「他のEntropicインスタンスのパッケージを利用でき、ホームインスタンスがすべての依存関係をミラーリングするので、自己完結性を維持できます。」
彼女はさらに、このソフトウェアは従来のパッケージマネージャー、つまりnpmによってインストールされたパッケージをすべてミラーリングすると付け加えた。その結果、Entropicを使用する開発者が増えれば増えるほど、利用可能なパッケージのリストを提供するためにNPM Inc.のプラットフォームを必要とする人が少なくなるだろう。
現時点では、このプロジェクトはコードの改善に関心のある人に適しています。将来的には、より幅広い開発者層に受け入れられるほど堅牢なものになることを期待しています。
シルベリオ氏は、今後10年間で、長年の統合とモノリシックなサービスを経て、コストを分散するさらなる連合が生まれると主張している。
「私たちは一つの企業に支配されるべきではなく、その企業に私たちの運命を左右されるべきではありません」と彼女は締めくくった。「私たちは主導権を取り戻さなければなりません。皆で未来を共に築き上げていきたいのです。」®
追記: NPM Inc に新しい CTO が就任しました:Ahmad Nassri です。