Bivši NPM CTO razvija distribuirani repozitorij paketa Entropic

CJ Silverio, koja je krajem prošle godine napustila mjesto tehničke direktorice NPM Inc. predstavio novi repozitorij paketa Entropijski, koji se razvija kao distribuirana alternativa NPM-u, koju ne kontrolira određena tvrtka. Entropicov kod napisan je u JavaScriptu i distribuira licenciran pod Apache 2.0. Projekt je u razvoju tek mjesec dana iu početnoj je fazi prototipa, ali već podržava osnovne operacije kao što su povezivanje, objavljivanje i instaliranje paketa.

Razlog nastanka Entropica je potpuna ovisnost JavaScript/Node.js ekosustava o NPM Inc., koji kontrolira razvoj paket managera i održavanje NPM repozitorija. Ovdje tvrtka koja teži profitu ima isključivu kontrolu nad sustavom o kojem ovise milijuni JavaScript programera i aplikacija i koji obrađuje milijarde preuzimanja paketa tjedno.

Nedavni niz otpuštanja zaposlenika, promjena u menadžmentu i koketiranje NPM Inc s investitorima stvorili su osjećaj neizvjesnosti o budućnosti NPM-a i nedostatak povjerenja da će tvrtka braniti interese zajednice, a ne investitora. Prema Silveriju, poslovanju NPM Inc se ne može vjerovati jer zajednica nema utjecaj da ga pozove na odgovornost za svoje postupke. Štoviše, fokus na ostvarivanje profita onemogućuje implementaciju mogućnosti koje su sa stajališta zajednice primarne, ali ne donose novac i zahtijevaju dodatne resurse, poput podrške za provjeru digitalnog potpisa.

Silverio također sumnja da je NPM Inc zainteresiran za optimizaciju interakcija sa svojim backendom, jer će to dovesti do smanjenja protoka podataka koji su potencijalno zanimljivi sa stajališta monetizacije. Svaki put kada pokrenete naredbu "npm revizija» sadržaj datoteke šalje se van paket-brava, koji uključuje mnogo zanimljivih informacija o tome što programer radi. Kao odgovor, nekoliko istaknutih članova JavaScript/Node.js zajednice počelo je razvijati alternativu koja nije bila pod kontrolom pojedinačnih tvrtki.

Sustav Entropic koristi princip federativne mreže, u kojoj programer, koristeći vlastite resurse, može postaviti poslužitelj s repozitorijem paketa koje koristi i povezati ga na zajedničku distribuiranu mrežu koja spaja različite privatne repozitorije u jedinstvenu cjelinu. Entropic uključuje koegzistenciju mnogih repozitorija, interakciju s njima kao dio normalnog tijeka rada.

Svi paketi su odvojeni pomoću prostora imena i uključuju informacije o hostu koji ugošćuje njihov primarni repozitorij.
Imenski prostor je u biti ime vlasnika paketa ili grupe održavatelja koji imaju pravo izdavati ažuriranja. Općenito, adresa paketa izgleda ovako "[e-pošta zaštićena]/naziv-paketa".
Metapodaci i informacije o zavisnosti definirani su u formatu TOML.

Ako je paket smješten u lokalno spremište koje je povezano ovisnostima iz drugih spremišta, ti se paketi zrcale u lokalnom spremištu. Ovo čini lokalno spremište samostalnim i uključuje kopije svih potrebnih ovisnosti. Postoji sloj za interakciju s klasičnim NPM repozitorijem, koji se tretira kao arhiva samo za čitanje. Također možete instalirati pakete iz NPM-a koristeći lokalno postavljena Entropic okruženja.

Za upravljanje su dostupni alati naredbenog retka koji pojednostavljuju postavljanje spremišta na vašoj lokalnoj mreži. Entropic nudi potpuno novo API orijentiran na datoteke i sustav pohrane koji smanjuje količinu podataka preuzetih preko mreže. Entropic se reklamira kao univerzalni sustav koji se može koristiti za stvaranje repozitorija za pakete u bilo kojem programskom jeziku, no Entropic je ipak razvijen s JavaScriptom na umu i najprikladniji je za projekte u tom jeziku.

Izvor: opennet.ru

Dodajte komentar