CJ Silverio, aki tavaly év végén távozott az NPM Inc. technikai igazgatói posztjáról, új csomagok tárolója , amely elosztott alternatívaként fejlődik az NPM-hez képest, és nem egy konkrét cég irányítása alatt áll. Az Entropic kódja JavaScript nyelven íródott és Apache 2.0 licenc alatt áll. A projekt mindössze egy hónapja fejlődik, és kezdeti prototípus állapotban van, de már támogatja az alapvető műveleteket, mint a csatlakozás, a közzététel és a csomagok telepítése.
Az Entropic létrehozásának okaként a JavaScript/Node.js ökoszisztéma teljes NPM Inc.-től való függőségét nevezik meg, amely irányítja a csomagkezelő fejlesztését és az NPM-tároló karbantartását. Olyan helyzet alakult ki, amikor egy nyereségorientált cég egyedül irányítja azt a rendszert, amelytől milliók fejlesztője és alkalmazása függ, és amely heti milliárdnyi csomagletöltést kezel.
Az utóbbi időszakban bekövetkezett elbocsátások, a vezetőség váltása és az NPM Inc. befektetőkkel való flörtölése bizonytalanságot teremtett az NPM jövőbeli sorsával kapcsolatban, és bizalmatlanságot váltott ki abban, hogy a cég védeni fogja a közösség érdekeit, nem pedig a befektetőkét. Silverio véleménye szerint az NPM Inc. üzletét nem lehet megbízni, mivel a közösségnek nincsenek eszközei annak vonzására, hogy a cég elszámoltatható legyen a cselekedeteiért. Továbbá a profitra való fókuszálás hátráltatja az olyan közösségi szempontból elsődleges, de nem jövedelmező és további erőforrásokat igénylő lehetőségek megvalósítását, mint a digitális aláírás ellenőrzésének támogatása.
Silverio kételkedik abban is, hogy az NPM Inc. érdekelt a háttér optimalizálásában, mivel ez csökkentené az adatfolyamokat, amelyek potenciálisan érdekesek a monetizálás szempontjából. Minden alkalommal, amikor az „„ parancsot futtatják, a fájl tartalma, amely sok érdekes információt tartalmaz a fejlesztő tevékenységeiről, kiszivárog. Reakcióként néhány neves JavaScript/Node.js közösségi tag alternatíva fejlesztésébe kezdett, amely nem egyes cégek irányítása alatt áll.
Az Entropic rendszer a szövetségi hálózat elvét használja, amelyben a fejlesztő saját erőforrásain elhelyezheti a szervert a használt csomagokat tartalmazó tárolóval, és csatlakoztathatja azt a közös elosztott hálózathoz, amely egyesíti a különálló magántárolókat. Az Entropic lehetővé teszi számos tároló egyidejű használatát, amelyeket a megszokott munkafolyamat keretében érhetünk el.
Minden csomag névterek használatával van elkülönítve, és tartalmazza a gazdagépről szóló információt, ahol az elsődleges tároló található.
A névtér lényegében a csomag tulajdonosának vagy a frissítések kiadására jogosult karbantartó csoport nevének tekinthető. A csomag címkéje általánosan így néz ki: «namespace@repohost.com/pkg-name».
A metainformációkat és a függőségeket a következő formátumban határozzák meg .
Ha egy helyi tárolóban helyeznek el csomagokat, amelyek más tárolóktól származó függőségekkel kapcsolatosak, azok a csomagok tükröződnek a helyi tárolóban. Így a helyi tároló önfenntartóvá válik, és tartalmaz minden szükséges függőség másolatát. Van egy réteg a klasszikus NPM tárolóval való interakcióra, amelyet csak olvasási módban elérhető archívumként kezelnek. Emellett NPM csomagok telepítése is lehetséges a helyben telepített Entropic környezeteken keresztül.
A telepítések egyszerűsítésére rendelkezésre áll egy parancssori eszközkészlet a tárolók helyi hálózaton való telepítéséhez. Az Entropic radikálisan új és tárolási rendszert kínál, amelyek minimalizálják a hálózaton keresztül letöltendő adatok mennyiségét. Az Entropic egy univerzális rendszerként van bemutatva, amely bármilyen programozási nyelv csomagjainak tárolók létrehozására alkalmazható, de ennek ellenére az Entropic fejlesztése a JavaScript figyelembevételével történik, és legjobban ezen a nyelven futó projektekhez illeszkedik.

Forrás: opennet.ru
