Bývalý technický ředitel NPM rozvíjí distribuovaný repozitář balíčků Entropic

CJ Silverio, která na konci loňského roku opustila post technického ředitele společnosti NPM Inc, představila nový repozitář balíčků Entropic, který se vyvíjí jako distribuovaná alternativa NPM, nekontrolovaná konkrétní společností. Kód Entropic je napsán v JavaScriptu a distribuováno licencován pod licencí Apache 2.0. Projekt se vyvíjí pouze měsíc a nachází se v počáteční fázi prototypu, ale už podporuje základní operace, jako je připojení, publikování a instalace balíčků.

Jako důvod vzniku Entropic je uvedena úplná závislost ekosystému JavaScript/Node.js na společnosti NPM Inc, která kontroluje vývoj balíčkového managera a údržbu repozitáře NPM. Vznikla situace, kdy cíleně zisková společnost jedině kontroluje systém, od kterého závisí miliony vývojářů a aplikací v JavaScriptu, a který zpracovává miliardy stažení balíčků týdně.

Nedávná série propouštění zaměstnanců, změna vedení a flirtování NPM Inc s investory vytvořily pocit nejistoty ohledně budoucnosti NPM a nedůvěru v to, že společnost bude hájit zájmy komunity, a ne investorů. Podle Silveria nelze NPM Inc důvěřovat, protože komunita nemá žádné páky, jak ji přivést k odpovědnosti za své činy. Navíc orientace na zisk brání realizaci primárních možností, které jsou z pohledu komunity důležité, ale nejsou ziskové a vyžadují dodatečné zdroje, jako je podpora ověřování digitálním podpisem.

Silverio také pochybuje, že NPM Inc má zájem o optimalizaci interakce se svým backendem, protože by to vedlo ke snížení toků dat, potenciálně zajímavých z pohledu monetizace. Při každém spuštění příkazu „npm audit“ se ven dostává obsah souboru package-lock, který obsahuje mnoho zajímavých informací o tom, čím se vývojář zabývá. V reakci na to několik významných členů komunity JavaScript/Node.js začalo vyvíjet alternativu, která není pod kontrolou jednotlivých společností.

Systém Entropic využívá princip federativní sítě, ve které si vývojář na svých zdrojích může nasadit server s repositorií používaných balíčků a připojit ho k celkové distribuované síti, která spojuje do jednoho celku rozptýlené soukromé repozitáře. Entropic předpokládá soužití mnoha repozitářů, jejichž interakce se uskutečňuje v rámci běžného pracovního postupu.

Všechny balíčky jsou rozděleny pomocí namespaces a obsahují informace o hostiteli, na kterém je umístěno jejich primární repository.
Namespace v podstatě představuje jméno vlastníka balíčku nebo skupiny maintainerů, kteří mají oprávnění pro vydávání aktualizací. Celkově má adresa balíčku formát "namespace@repohost.com/pkg-name".
Metadata a informace o závislostech jsou definovány ve formátu TOML.

Pokud je balíček umístěn v místním repozitáři a je spojen se závislostmi z jiných repozitářů, tyto balíčky jsou zrcadleny v místním repozitáři. Tím se místní repozitář stává soběstačným a zahrnuje kopie všech potřebných závislostí. Existuje vrstva pro interakci s klasickým repozitářem NPM, který je zpracováván jako dostupný v režimu pouze pro čtení. Balíčky z NPM lze instalovat také pomocí místně nasazených prostředí Entropic.

K dispozici je nástroj příkazového řádku, který zjednodušuje nasazení repozitářů v místní síti. Entropic nabízí principielně nové souborově orientované API a systém ukládání, který minimalizuje objem dat stahovaných přes síť. Entropic je prezentován jako univerzální systém, který lze použít k vytváření repozitářů pro balíčky v jakémkoli programovacím jazyce, nicméně je Entropic vyvíjen s ohledem na JavaScript a nejlépe se hodí pro projekty v tomto jazyce.

Přehrát video

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster