CJ Silverio, e cila u largua nga posti i drejtorit teknik të NPM Inc në fund të vitit të kaluar, repo i ri paketash , që po zhvillohet si një alternativë e shpërndarë ndaj NPM, e cila nuk është nën kontrollin e ndonjë kompanie të caktuar. Kodi i Entropic është shkruar në JavaScript dhe është nën licencën Apache 2.0. Projekti është vetëm një muaj në zhvillim dhe ndodhet në fazën e prototipit fillestar, por tashmë mbështet operacione bazike si lidhja, publikimi dhe instalimi i paketave.
Arsyeja për krijimin e Entropic është varësia totale e ekosistemit JavaScript/Node.js nga NPM Inc, e cila kontrollon zhvillimin e menaxherit të paketave dhe mbajtjen e repo-s NPM. Ka një situatë ku një kompani që fokusohet në fitim kontrollon në mënyrë ekskluzive një sistem nga i cili varen miliona zhvillues dhe aplikacione në JavaScript, dhe që trajton miliarda shkarkimesh paketash në javë.
Një seri e fundit shkarkimesh të punonjësve, ndërrimi i udhëheqjes dhe afërsia e NPM Inc me investitorët kanë krijuar një ndjenjë pasigurie në lidhje me fatin e ardhshëm të NPM dhe mosbesim se kompania do të mbrojë interesat e komunitetit, dhe jo ato të investitorëve. Sipas Silverio, biznesit të NPM Inc nuk mund t'i besohet pasi komuniteti nuk ka mekanizma për ta mbajtur atë përgjegjës për veprimet e tij. Për më tepër, orientimi në fitim pengon realizimin e mundësive që janë të rëndësishme për komunitetin, por nuk sjellin të ardhura dhe kërkojnë resurse shtesë, si mbështetje për vërtetimin me nënshkrim dixhital.
Silverio gjithashtu dyshon se NPM Inc është e interesuar të optimizojë ndërveprimin me backend-in e saj, pasi kjo do të çonte në një ulje të flukseve të dhënash, të cilat janë potencialisht tërheqëse nga perspektiva e monetizimit. Me çdo ekzekutim të komandës "", përmbajtja e skedarit , që përfshin shumë të dhëna interesante në lidhje me atë që bën zhvilluesi, jepet në jashtë. Si reagim, disa figura të shquara të komunitetit JavaScript/Node.js kanë filluar zhvillimin e një alternative që nuk kontrollohet nga kompanitë e veçanta.
Sistemi Entropic përdor parimin e një rrjeti federativ, ku zhvilluesi mund të vendosë një server me repo të paketave që ai përdor dhe ta lidhë atë me një rrjet të shpërndarë të përbashkët, që bashkon repo të ndara private. Entropic nënkupton bashkëjetesën e shumë repo-ve, ndërveprimi me të cilat ndodh brenda kuadrit të një procesi të zakonshëm të punës.
Të gjitha paketat shpërndahen duke përdorur hapësira emrash dhe përfshijnë informacione mbi hostin ku ndodhet repo fillestar i tyre.
Hapësira e emrit përbën në thelb emrin e pronarit të paketës ose grupit të mbështetësve që kanë të drejtë të lëshojnë përditësime. Në formën e saj të përgjithshme, adresa e paketës duket si "namespace@repohost.com/pkg-name".
Metadatate dhe informacionet mbi varësitë përcaktohen në formatin .
Në rastin e vendosjes në repo lokale të një pakete që është e lidhur me varësi nga repo të tjera, këto paketa mbahen në repo lokale. Kështu, repo lokale bëhet vetë-mjaftues dhe përfshin kopje të të gjitha varësive të nevojshme. Ka një shtresë për ndërveprimin me repo-n klasike të NPM, e cila trajtohet si një arkiv i disponueshëm vetëm në mënyrë leximi. Po ashtu, mund të instaloni paketa nga NPM duke përdorur ambientet e vendosura lokalshëm nga Entropic.
Për menaxhimin e gjithçkaje, ofrohet një mjet i linjës së komandës që thjeshtëson vendosjen e repo-ve në rrjetin tuaj lokal. Entropic ofron një dhe një sistem ruajtjeje, që minimizon sasinë e të dhënave të shkarkuara përmes rrjetit. Entropic paraqitet si një sistem universalisht të aplikueshëm për krijimin e repo-ve për paketa në çdo gjuhë programimi, por megjithatë, Entropic po zhvillohet me një fokus në JavaScript dhe është më së miri i përshtatshëm për projekte në këtë gjuhë.

Burimi: opennet.ru
