Endine NPM CTO arendab hajutatud pakettide hoidlat Entropic

CJ Silverio, kes lahkus eelmise aasta lõpus NPM Inci tehnikajuhi kohalt, esitatakse uus pakettide hoidla Entroopiline, mida arendatakse hajutatud alternatiivina NPM-ile, mida konkreetne ettevõte ei kontrolli. Entropicu kood on kirjutatud JavaScriptis ja jaotatud litsentsitud Apache 2.0 alusel. Projekti on arendatud vaid kuu aega ja see on prototüübi algstaadiumis, kuid toetab juba põhitoiminguid, nagu pakettide ühendamine, avaldamine ja installimine.

Entropicu loomise põhjuseks on JavaScript/Node.js ökosüsteemi täielik sõltuvus ettevõttest NPM Inc, mis kontrollib paketihalduri arendamist ja NPM-i hoidla hooldust. Siin on kasumit otsival ettevõttel ainukontroll süsteemi üle, millest sõltuvad miljonid JavaScripti arendajad ja rakendused ning mis töötleb nädalas miljardeid pakette allalaadimisi.

Hiljutised töötajate koondamised, juhtkonna muudatused ja NPM Inci flirt investoritega on tekitanud ebakindluse NPM-i tuleviku suhtes ja usalduse puudumise, et ettevõte kaitseb pigem kogukonna kui investorite huve. Silverio sõnul ei saa NPM Inc äri usaldada, kuna kogukonnal pole hoobasid, et seda oma tegude eest vastutada. Veelgi enam, kasumi teenimisele keskendumine takistab võimaluste elluviimist, mis on kogukonna seisukohalt esmased, kuid ei too raha juurde ja nõuavad lisaressursse, nagu näiteks digiallkirja kontrollimise tugi.

Silverio kahtleb ka selles, et NPM Inc on huvitatud oma taustaprogrammiga interaktsioonide optimeerimisest, kuna see toob kaasa monetiseerimise seisukohast potentsiaalselt huvitavate andmevoogude vähenemise. Iga kord, kui käivitate käsu "npm audit» faili sisu saadetakse väljapoole pakett-lukk, mis sisaldab palju huvitavat teavet selle kohta, mida arendaja teeb. Vastuseks hakkasid JavaScript/Node.js kogukonna mitmed silmapaistvad liikmed välja töötama alternatiivi, mida üksikud ettevõtted ei kontrollinud.

Entropic süsteem kasutab liitvõrgu põhimõtet, kus arendaja saab oma ressursse kasutades juurutada serveri koos enda kasutatavate pakettide hoidlaga ja ühendada selle ühise hajutatud võrguga, mis ühendab erinevad privaathoidlad ühtseks tervikuks. Entropic hõlmab paljude hoidlate kooseksisteerimist, nendega suhtlemist tavalise töövoo osana.

Kõik paketid eraldatakse nimeruumide abil ja sisaldavad teavet nende esmase hoidla hostiva hosti kohta.
Nimeruum on sisuliselt paketi omaniku või hooldajate rühma nimi, kellel on õigus värskendusi välja anda. Üldiselt näeb paketi aadress välja selline[meiliga kaitstud]/pkg-nimi".
Metaandmed ja sõltuvusteave on määratletud vormingus TOML.

Kui pakett paigutatakse kohalikku hoidlasse, mis on lingitud teistest hoidlatest pärinevate sõltuvustega, peegeldatakse neid pakette kohalikus hoidlas. See muudab kohaliku hoidla iseseisvaks ja sisaldab kõigi vajalike sõltuvuste koopiaid. Klassikalise NPM-i hoidlaga suhtlemiseks on olemas kiht, mida käsitletakse kirjutuskaitstud arhiivina. Samuti saate installida pakette NPM-ist, kasutades kohapeal juurutatud Entropic keskkondi.

Haldamiseks on ette nähtud käsurea tööriistad, mis lihtsustavad hoidlate juurutamist teie kohalikus võrgus. Entropic pakub täiesti uusi failile orienteeritud API ja salvestussüsteem, mis minimeerib võrgu kaudu allalaaditavate andmete hulka. Entropicut reklaamitakse kui universaalset süsteemi, mida saab kasutada mis tahes programmeerimiskeeles pakettide hoidlate loomiseks, kuid Entropic on sellegipoolest välja töötatud JavaScripti silmas pidades ja sobib kõige paremini selles keeles projektide jaoks.

Allikas: opennet.ru

Lisa kommentaar