Bivši NPM CTO razvija distribuirano spremište paketa Entropic

CJ Silverio, koja je napustila svoju poziciju CTO-a NPM Inc krajem prošle godine, predstavljen novo spremište paketa Entropijski, koji se razvija kao distribuirana alternativa NPM-u, a nije pod kontrolom određene kompanije. Entropicov kod je napisan u JavaScript-u i distribuira licenciran pod Apache 2.0. Projekat je u razvoju tek mjesec dana i u početnoj je fazi prototipa, ali već podržava osnovne operacije poput povezivanja, objavljivanja i instaliranja paketa.

Razlog za kreiranje Entropica je potpuna zavisnost JavaScript/Node.js ekosistema od NPM Inc, koji kontroliše razvoj menadžera paketa i održavanje NPM repozitorija. Ovo je mjesto gdje kompanija koja traži profit ima isključivu kontrolu nad sistemom o kojem zavise milioni JavaScript programera i aplikacija i koji obrađuje milijarde preuzimanja paketa sedmično.

Nedavni niz otpuštanja zaposlenih, promjene u menadžmentu i flertovanje NPM Inc sa investitorima stvorili su osjećaj neizvjesnosti oko budućnosti NPM-a i nedostatak povjerenja da će kompanija zastupati interese zajednice, a ne investitora. Prema Silveriou, poslu NPM Inc-a se ne može vjerovati jer zajednica nema polugu da ga smatra odgovornim za svoje postupke. Štaviše, fokus na ostvarivanju profita onemogućava implementaciju mogućnosti koje su primarne sa stanovišta zajednice, ali ne donose novac i zahtijevaju dodatne resurse, kao što je podrška za verifikaciju digitalnog potpisa.

Silverio također sumnja da je NPM Inc zainteresiran za optimizaciju interakcije sa svojim backend-om, jer će to dovesti do smanjenja tokova podataka koji su potencijalno interesantni sa stanovišta monetizacije. Svaki put kada pokrenete naredbu "npm audit» sadržaj datoteke se šalje eksterno paket-zaključavanje, koji uključuje mnogo zanimljivih informacija o tome šta programer radi. Kao odgovor, nekoliko istaknutih članova JavaScript/Node.js zajednice počelo je razvijati alternativu koju nisu kontrolisale pojedinačne kompanije.

Entropic sistem koristi princip federalne mreže, u kojoj programer, koristeći svoje vlastite resurse, može postaviti server sa spremištem paketa koje koristi i povezati ga na zajedničku distribuiranu mrežu koja ujedinjuje različita privatna spremišta u jedinstvenu cjelinu. Entropic uključuje koegzistenciju mnogih spremišta, interakciju s njima kao dio normalnog toka posla.

Svi paketi su odvojeni korištenjem prostora imena i uključuju informacije o hostu koji hostuje njihovo primarno spremište.
Imenski prostor je u suštini ime vlasnika paketa ili grupe održavalaca koji imaju pravo objavljivanja ažuriranja. Generalno, adresa paketa izgleda ovako “[email zaštićen]/pkg-name".
Metapodaci i informacije o zavisnosti su definisane u formatu TOML.

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

Za upravljanje su obezbeđeni alati komandne linije koji pojednostavljuju postavljanje spremišta na vašu lokalnu mrežu. Entropic nudi potpuno novo fajl orijentisani API i sistem skladištenja koji minimizira količinu podataka preuzetih preko mreže. Entropic se reklamira kao univerzalni sistem koji se može koristiti za kreiranje spremišta za pakete u bilo kojem programskom jeziku, ali Entropic je ipak razvijen imajući na umu JavaScript i najprikladniji je za projekte na tom jeziku.

izvor: opennet.ru

Dodajte komentar