CJ Silverio, kes lahkus möödunud aastal NPM Inc. tehnilise direktori kohalt, uus paketireposiit , mis areneb välja jaotatud alternatiivina NPM-ile, mis ei kuulu konkreetse ettevõtte kontrolli alla. Entropic kood on kirjutatud JavaScriptis ja licentsiga Apache 2.0. Projekt on kestnud vaid kuu ja on algse prototüüpimise etapis, kuid toetab juba põhifunktsioone, nagu ühendamine, avaldamine ja pakettide installimine.
Entropic'i loomise põhjuseks on JavaScripti/Node.js ökosüsteemi täielik sõltuvus ettevõttest NPM Inc., mis kontrollib pakettide haldurite arendust ja NPM repo säilitamist. Oleme sattunud olukorda, kus ühiselt kasumit teeniv ettevõte kontrollib ainuisikuliselt süsteemi, millelt sõltuvad miljonid arendajad ja JavaScripti rakendused ning mis töötab nädalas miljardite pakettide allalaadimistega.
Viimased töötajate koondamised, juhtkonna vahetus ja NPM Inc-i flirtimine investoritega on tekitanud ebakindluse tunde seoses NPM tulevikuga ning usaldamatuse, et ettevõte kaitseb kogukonna huve, mitte investoreid. Silverio arvates ei saa NPM Inc-ile usaldada, kuna kogukonnal puuduvad võimalused seda vastutusele võtta. Veel enam, kasumile orienteeritus takistab põhiliste, kogukonna seisukohalt tähtsate, kuid rahaliselt tulusate ja lisaressursse nõudvate võimaluste, nagu digitaalallkirja kinnitamise toetamine, elluviimist.
Silverio kahtleb ka, et NPM Inc on huvitatud oma tagaplaneerimise koostöö optimeerimisest, kuna see viib andmevoogude vähenemiseni, mis võivad olla moniteerimise seisukohalt huvitavad. Igal korral, kui käivitatakse käsk „” väljastatakse faili sisu , sealhulgas palju huvitavaid fakte arendaja tegevusest. Vastusena alustasid mitmed tuntud JavaScripti/Node.js kogukonna liikmed alternatiivi arendamist, mis ei kuuluks üksikutele ettevõtetele.
Süsteem Entropic kasutab föderatiivse võrgustiku põhimõtet, kus arendaja oma ressursside abil võib luua serveri koos oma kasutatavaid pakette sisaldava hoidla ja ühendada selle üldise jaotatud võrguga, mis koondab kokku eraldi isiklikud hoidlad. Entropic võimaldab paljude hoidlate kooselu, millega suhtlemine toimub tavapärase töövoo raames.
Kõik paketid jagatakse nimedega ja sisaldavad teavet hosti kohta, kus asub nende esmane hoidla.
Nimi esindab tegelikult paketi omaniku või haldajate rühma, kellel on õigus värskendusi välja anda. Üldine paketi aadress näeb välja nagu „namespace@repohost.com/pkg-name”.
Metandmed ja sõltuvuste teave määratakse kujul .
Kui pakett, mis on seotud teiste hoidlate sõltuvustega, paigutatakse kohalikku hoidlasse, peegelduvad need paketid kohalikus hoidlas. Seeläbi muutub kohalik hoidla iseseisvaks ja sisaldab koopiaid kõigist vajalikest sõltuvustest. On olemas kiht, mis võimaldab suhtlemist klassikalise NPM hoidla kaudu, mis töötab ainult lugemisrežiimis arhiivina. Samuti on võimalik installida pakette NPM-ist, kasutades kohalikult seatud Entropic keskkondi.
Haldamiseks pakutakse käsurea tööriistu, mis lihtsustavad hoidlate käivitamist teie kohaliku võrgu sees. Entropic pakub põhimõtteliselt uusi ja salvestussüsteemi, mis minimeerib võrgu kaudu allalaaditavate andmete hulga. Entropic esitatakse kui universaalne süsteem, mida saab kasutada pakettide hoidlate loomiseks mis tahes programmeerimiskeele jaoks, kuid siiski arendatakse Entropic'i silmas pidades JavaScripti ja see sobib kõige paremini selle keele projektide jaoks.

Allikas: opennet.ru
