L-eks CTO tal-NPM jiżviluppa repożitorju ta' pakketti distribwiti Entropic

CJ Silverio, li ħalliet il-kariga tagħha bħala CTO ta' NPM Inc fl-aħħar tas-sena li għaddiet, ippreżentata repożitorju ġdid tal-pakketti Entropiku, li qed tiġi żviluppata bħala alternattiva distribwita għall-NPM, mhux ikkontrollata minn kumpanija speċifika. Il-kodiċi ta' Entropic huwa miktub f'JavaScript u imqassma minn liċenzjat taħt Apache 2.0. Il-proġett ilu biss fl-iżvilupp għal xahar u jinsab fl-istadju inizjali tal-prototip, iżda diġà jappoġġja operazzjonijiet bażiċi bħall-konnessjoni, il-pubblikazzjoni u l-installazzjoni ta 'pakketti.

Ir-raġuni għall-ħolqien ta 'Entropic hija d-dipendenza sħiħa tal-ekosistema JavaScript/Node.js fuq NPM Inc, li tikkontrolla l-iżvilupp tal-maniġer tal-pakketti u l-manutenzjoni tar-repożitorju tal-NPM. Dan huwa fejn kumpanija li tfittex il-profitt għandha kontroll uniku ta 'sistema li fuqha jiddependu miljuni ta' żviluppaturi u applikazzjonijiet JavaScript, u ​​li tipproċessa biljuni ta 'tniżżil ta' pakketti fil-ġimgħa.

Sekwenza riċenti ta' sensji ta' impjegati, bidliet fil-maniġment u flirt ta' NPM Inc ma' investituri ħolqu sens ta' inċertezza dwar il-futur ta' NPM u nuqqas ta' fiduċja li l-kumpanija se tmexxi l-interessi tal-komunità aktar milli l-investituri. Skont Silverio, in-negozju tal-NPM Inc ma jistax jiġi fdat minħabba li l-komunità m'għandhiex l-ingranaġġ biex iżżommha responsabbli għall-azzjonijiet tagħha. Barra minn hekk, l-enfasi fuq li jsir profitt jipprevjeni l-implimentazzjoni ta 'opportunitajiet li huma primarji mill-perspettiva tal-komunità, iżda ma jġibux flus u jeħtieġu riżorsi addizzjonali, bħall-appoġġ għall-verifika tal-firma diġitali.

Silverio jiddubita wkoll li NPM Inc hija interessata li tottimizza l-interazzjonijiet mal-backend tagħha, peress li dan iwassal għal tnaqqis fil-flussi tad-dejta li huma potenzjalment interessanti mil-lat ta 'monetizzazzjoni. Kull darba li tmexxi l-kmand "verifika npm» il-kontenut tal-fajl jintbagħat esternament pakkett-lock, li jinkludi ħafna informazzjoni interessanti dwar dak li jagħmel l-iżviluppatur. Bi tweġiba, diversi membri prominenti tal-komunità JavaScript/Node.js bdew jiżviluppaw alternattiva li ma kinitx ikkontrollata minn kumpaniji individwali.

Is-sistema Entropika tuża l-prinċipju ta 'netwerk federat, li fih żviluppatur, billi juża r-riżorsi tiegħu stess, jista' juża server b'repożitorju ta 'pakketti li juża u jgħaqqadha ma' netwerk distribwit komuni li jgħaqqad repożitorji privati ​​differenti f'sħiħ wieħed. Entropic jinvolvi l-koeżistenza ta 'ħafna repożitorji, li jinteraġixxu magħhom bħala parti minn fluss tax-xogħol normali.

Il-pakketti kollha huma separati bl-użu ta' namespaces u jinkludu informazzjoni dwar il-host li jospita r-repożitorju primarju tagħhom.
Spazju tal-isem huwa essenzjalment l-isem tas-sid tal-pakkett jew grupp ta 'manutenzjoni li għandhom id-dritt li jirrilaxxaw aġġornamenti. B'mod ġenerali, l-indirizz tal-pakkett jidher bħal "[protett bl-email]/pkg-name".
Metadata u informazzjoni tad-dipendenza huma definiti fil-format TOML.

Jekk pakkett jitqiegħed f'repożitorju lokali li huwa marbut b'dipendenzi minn repożitorji oħra, dawn il-pakketti huma riflessi fir-repożitorju lokali. Dan jagħmel ir-repożitorju lokali awtonomu u jinkludi kopji tad-dipendenzi kollha meħtieġa. Hemm saff għall-interazzjoni mar-repożitorju klassiku tal-NPM, li huwa ttrattat bħala arkivju li jinqara biss. Tista 'wkoll tinstalla pakketti minn NPM billi tuża ambjenti Entropiċi skjerati lokalment.

Għall-ġestjoni, huma pprovduti għodod tal-linja tal-kmand li jissimplifikaw l-iskjerament tar-repożitorji fuq in-netwerk lokali tiegħek. Entropic joffri kompletament ġdid API orjentat lejn il-fajl u sistema ta 'ħażna li timminimizza l-ammont ta' dejta mniżżla fuq in-netwerk. Entropic huwa touted bħala sistema universali li tista 'tintuża biex jinħolqu repożitorji għal pakketti fi kwalunkwe lingwa ta' programmar, iżda Entropic huwa madankollu żviluppat b'JavaScript f'moħħu u huwa l-aktar adattat għal proġetti f'dik il-lingwa.

Sors: opennet.ru

Żid kumment