CJ Silverio, která na konci loňského roku opustila post technického ředitele společnosti NPM Inc, nový repozitář balíčků , který se vyvíjí jako distribuovaná alternativa NPM, nekontrolovaná konkrétní společností. Kód Entropic je napsán v JavaScriptu a 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 „“ se ven dostává obsah souboru , 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 .
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é 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.

Zdroj: opennet.ru
