Bývalý technický ředitel NPM vyvíjí distribuované úložiště balíčků Entropic

CJ Silverio, která na konci loňského roku opustila svůj post CTO společnosti NPM Inc. prezentovány nové úložiště balíčků Entropické, který je vyvíjen jako distribuovaná alternativa k NPM, nekontrolovaná konkrétní společností. Kód Entropic je napsán v JavaScriptu a distribuovány licencováno pod Apache 2.0. Projekt je ve vývoji teprve měsíc a je v počáteční fázi prototypu, ale již podporuje základní operace, jako je připojení, publikování a instalace balíčků.

Důvodem vzniku Entropic je úplná závislost ekosystému JavaScript/Node.js na NPM Inc, který řídí vývoj správce balíčků a údržbu úložiště NPM. Zde má společnost založená na zisku výhradní kontrolu nad systémem, na kterém závisí miliony vývojářů a aplikací JavaScriptu a který zpracovává miliardy stažení balíčků týdně.

Nedávná řada propouštění zaměstnanců, změny ve vedení a flirtování NPM Inc s investory vytvořily pocit nejistoty ohledně budoucnosti NPM a nedostatek důvěry, že společnost bude hájit zájmy komunity spíše než investory. Podle Silveria nelze obchodu NPM Inc důvěřovat, protože komunita nemá páky k tomu, aby ji pohnala k odpovědnosti za své činy. Zaměření na zisk navíc brání realizaci příležitostí, které jsou z pohledu komunity primární, ale nepřinášejí peníze a vyžadují další zdroje, jako je podpora ověřování digitálního podpisu.

Silverio také pochybuje, že NPM Inc má zájem o optimalizaci interakcí se svým backendem, protože to povede k poklesu datových toků, které jsou potenciálně zajímavé z pohledu monetizace. Pokaždé, když spustíte příkaz "audit npm» obsah souboru je odeslán externě balíček-zámek, který obsahuje spoustu zajímavých informací o tom, co vývojář dělá. V reakci na to několik prominentních členů komunity JavaScript/Node.js začalo vyvíjet alternativu, kterou nekontrolovaly jednotlivé společnosti.

Systém Entropic využívá principu federované sítě, ve které může vývojář pomocí vlastních zdrojů nasadit server s úložištěm balíčků, které používá, a připojit jej ke společné distribuované síti, která spojuje nesourodá privátní úložiště do jediného celku. Entropic zahrnuje koexistenci mnoha úložišť a interaguje s nimi jako součást běžného pracovního postupu.

Všechny balíčky jsou odděleny pomocí jmenných prostorů a obsahují informace o hostiteli, který je hostitelem jejich primárního úložiště.
Jmenný prostor je v podstatě jméno vlastníka balíčku nebo skupiny správců, kteří mají právo vydávat aktualizace. Obecně adresa paketu vypadá takto:[chráněno e-mailem]/název-balení".
Metadata a informace o závislostech jsou definovány ve formátu TOML.

Pokud je balíček umístěn do místního úložiště, které je propojeno závislostmi z jiných úložišť, jsou tyto balíčky zrcadleny v místním úložišti. Díky tomu je místní úložiště samostatné a zahrnuje kopie všech nezbytných závislostí. Existuje vrstva pro interakci s klasickým úložištěm NPM, které je považováno za archiv pouze pro čtení. Můžete také instalovat balíčky z NPM pomocí lokálně nasazených prostředí Entropic.

Pro správu jsou k dispozici nástroje příkazového řádku, které zjednodušují nasazení úložišť ve vaší místní síti. Entropic nabízí zcela nové souborově orientované API a úložný systém, který minimalizuje množství dat stahovaných přes síť. Entropic je nabízen jako univerzální systém, který lze použít k vytváření úložišť pro balíčky v jakémkoli programovacím jazyce, ale Entropic je přesto vyvíjen s ohledem na JavaScript a je nejvhodnější pro projekty v tomto jazyce.

Zdroj: opennet.ru

Přidat komentář