Bývalý technický riaditeľ NPM vyvíja distribuované úložisko balíkov Entropic

CJ Silverio, ktorá koncom minulého roka opustila svoju funkciu CTO spoločnosti NPM Inc. представила nové úložisko balíkov entropickej, ktorá je vyvíjaná ako distribuovaná alternatíva k NPM, nekontrolovaná konkrétnou spoločnosťou. Kód Entropic je napísaný v jazyku JavaScript a distribuovaný licencovaný pod Apache 2.0. Projekt je vo vývoji len mesiac a je v počiatočnom štádiu prototypu, no už podporuje základné operácie, ako je pripojenie, publikovanie a inštalácia balíkov.

Dôvodom vytvorenia Entropicu je úplná závislosť ekosystému JavaScript/Node.js na NPM Inc, ktorý riadi vývoj správcu balíkov a údržbu úložiska NPM. Toto je miesto, kde má spoločnosť zameraná na zisk výlučnú kontrolu nad systémom, od ktorého závisia milióny vývojárov a aplikácií JavaScriptu a ktorý spracúva miliardy stiahnutí balíkov týždenne.

Nedávny reťazec prepúšťania zamestnancov, zmeny manažmentu a flirtovanie NPM Inc s investormi vytvorili pocit neistoty ohľadom budúcnosti NPM a nedostatok dôvery, že spoločnosť bude presadzovať záujmy komunity a nie investorov. Podľa Silveria sa biznisu NPM Inc nedá dôverovať, pretože komunita nemá páky na to, aby bola zodpovedná za svoje činy. Zameranie na dosahovanie zisku navyše bráni implementácii príležitostí, ktoré sú z pohľadu komunity primárne, ale neprinášajú peniaze a vyžadujú si dodatočné zdroje, ako je podpora overovania digitálnych podpisov.

Silverio tiež pochybuje, že NPM Inc má záujem optimalizovať interakcie so svojim backendom, pretože to povedie k zníženiu dátových tokov, ktoré sú potenciálne zaujímavé z pohľadu monetizácie. Zakaždým, keď spustíte príkaz "audit npm» obsah súboru sa odošle externe balíkový zámok, ktorá obsahuje množstvo zaujímavých informácií o tom, čo vývojár robí. V reakcii na to niekoľko prominentných členov komunity JavaScript/Node.js začalo vyvíjať alternatívu, ktorá nebola kontrolovaná jednotlivými spoločnosťami.

Systém Entropic využíva princíp federatívnej siete, v ktorej môže vývojár pomocou vlastných zdrojov nasadiť server s úložiskom balíkov, ktoré používa, a pripojiť ho k spoločnej distribuovanej sieti, ktorá spája nesúrodé súkromné ​​úložiská do jedného celku. Entropic zahŕňa koexistenciu mnohých úložísk a interakciu s nimi ako súčasť bežného pracovného postupu.

Všetky balíčky sú oddelené pomocou menných priestorov a obsahujú informácie o hostiteľovi, ktorý je hostiteľom ich primárneho úložiska.
Menný priestor je v podstate meno vlastníka balíka alebo skupiny správcov, ktorí majú právo vydávať aktualizácie. Vo všeobecnosti adresa paketu vyzerá takto „[chránené e-mailom]/názov-balíka".
Metaúdaje a informácie o závislostiach sú definované vo formáte TOML.

Ak je balík umiestnený v lokálnom úložisku a má závislosti od iných archívov, tieto balíky sa zrkadlia v lokálnom úložisku. Vďaka tomu je miestne úložisko samostatné a obsahuje kópie všetkých potrebných závislostí. K dispozícii je vrstva na interakciu s klasickým úložiskom NPM, s ktorým sa zaobchádza ako s archívom iba na čítanie. Balíky môžete nainštalovať aj z NPM pomocou lokálne nasadených prostredí Entropic.

Na správu sú k dispozícii nástroje príkazového riadka, ktoré zjednodušujú nasadenie úložísk vo vašej lokálnej sieti. Entropic ponúka úplne nové súborovo orientované API a úložný systém, ktorý minimalizuje množstvo dát sťahovaných cez sieť. Entropic je ponúkaný ako univerzálny systém, ktorý možno použiť na vytváranie repozitárov pre balíčky v akomkoľvek programovacom jazyku, ale Entropic je napriek tomu vyvinutý s ohľadom na JavaScript a je najvhodnejší pre projekty v tomto jazyku.

Zdroj: opennet.ru

Pridať komentár