元 NPM CTO が分散パッケージ リポジトリ Entropic を開発

昨年末に NPM Inc の CTO の職を離れた CJ Silverio 氏は、 提示 新しいパッケージリポジトリ エントロピーは、特定の企業によって管理されず、NPM の分散型代替手段として開発されています。 Entropic のコードは JavaScript で書かれており、 によって配布 Apache 2.0 に基づいてライセンスされています。 このプロジェクトは開発からわずか XNUMX か月で初期のプロトタイプ段階にありますが、パッケージの接続、公開、インストールなどの基本的な操作はすでにサポートされています。

Entropic を作成した理由は、JavaScript/Node.js エコシステムがパッケージ マネージャーの開発と NPM リポジトリのメンテナンスを管理する NPM Inc に完全に依存しているためです。 ここでは、利益を追求する企業が、数百万の JavaScript 開発者とアプリケーションが依存し、毎週数十億のパッケージ ダウンロードを処理するシステムを独占的に管理しています。

最近の一連の従業員解雇、経営陣の交代、そしてNPM社の投資家との浮気により、NPM社の将来に対する不確実性と、同社が投資家ではなく地域社会の利益を擁護するという信頼の欠如が生じている。 シルヴェリオ氏によれば、NPM Inc の事業は信頼できない。なぜなら、コミュニティにはその行為に対する責任を問う権限がないからである。 さらに、利益を上げることに焦点を当てると、コミュニティの観点からは主要であるものの、お金をもたらさず、デジタル署名検証のサポートなどの追加のリソースが必要となる機会の実装が妨げられます。

Silverio 氏はまた、NPM Inc がバックエンドとのやり取りの最適化に興味があるかどうかについても疑問を抱いています。これは、収益化の観点から潜在的に興味深いデータ フローの減少につながるからです。 コマンドを実行するたびに、「npm監査» ファイルの内容が外部に送信される パッケージロックには、開発者の活動に関する興味深い情報が数多く含まれています。 これに応じて、JavaScript/Node.js コミュニティの著名なメンバー数名が、個々の企業が管理しない代替手段の開発を開始しました。

Entropic システムはフェデレーテッド ネットワークの原理を使用しており、開発者は自分のリソースを使用して、自分が使用するパッケージのリポジトリを備えたサーバーをデプロイし、異種のプライベート リポジトリを XNUMX つの全体に統合する共通の分散ネットワークに接続できます。 Entropic には、多くのリポジトリが共存し、通常のワークフローの一部としてリポジトリと対話することが含まれます。

すべてのパッケージは名前空間を使用して分離されており、プライマリ リポジトリをホストするホストに関する情報が含まれています。
ネームスペースは基本的に、アップデートをリリースする権利を持つパッケージ所有者またはメンテナのグループの名前です。 一般に、パケット アドレスは次のようになります。[メール保護]/pkg-name」。
メタデータと依存関係情報は次の形式で定義されます。 TOML.

他のリポジトリからの依存関係によってリンクされているローカル リポジトリにパッケージが配置されている場合、これらのパッケージはローカル リポジトリにミラーリングされます。 これにより、ローカル リポジトリが自己完結型になり、必要なすべての依存関係のコピーが含まれます。 クラシック NPM リポジトリと対話するためのレイヤーがあり、読み取り専用アーカイブとして扱われます。 ローカルにデプロイされた Entropic 環境を使用して、NPM からパッケージをインストールすることもできます。

管理用に、ローカル ネットワーク上でのリポジトリの展開を簡素化するコマンド ライン ツールが提供されています。 Entropic はまったく新しいサービスを提供します ファイル指向の API ネットワーク経由でダウンロードされるデータの量を最小限に抑えるストレージ システム。 Entropic は、あらゆるプログラミング言語でパッケージのリポジトリを作成するために使用できるユニバーサル システムとして宣伝されていますが、それでも Entropic は JavaScript を念頭に置いて開発されており、その言語でのプロジェクトに最適です。

出所: オープンネット.ru

コメントを追加します