A korábbi NPM CTO fejleszti az Entropic elosztott csomagtárolót

CJ Silverio, aki tavaly év végén távozott az NPM Inc. műszaki igazgatói posztjáról, bemutatott új csomagtároló Entropikus, amelyet az NPM elosztott alternatívájaként fejlesztenek, és amelyet nem egy adott vállalat irányít. Az Entropic kódja JavaScript és forgalmazza Apache 2.0 licenc alatt. A projekt még csak egy hónapja van fejlesztés alatt, és a kezdeti prototípus stádiumban van, de már támogatja az olyan alapvető műveleteket, mint a csatlakozás, a közzététel és a csomagok telepítése.

Az Entropic létrehozásának oka a JavaScript/Node.js ökoszisztéma teljes függése az NPM Inc-től, amely a csomagkezelő fejlesztését és az NPM-tár karbantartását irányítja. Itt egy profitra törekvő cég kizárólagos irányítása alatt áll egy olyan rendszer felett, amelytől JavaScript-fejlesztők és alkalmazások milliói függenek, és amely hetente több milliárd csomagletöltést dolgoz fel.

A közelmúltban bekövetkezett elbocsátások, vezetői változások és az NPM Inc. befektetőkkel való flörtölése bizonytalanságot keltett az NPM jövőjével kapcsolatban, és nem bízik abban, hogy a vállalat nem a befektetők, hanem a közösség érdekeit fogja képviselni. Silverio szerint az NPM Inc üzletágban nem lehet megbízni, mert a közösségnek nincs meg a befolyása ahhoz, hogy felelősségre vonja tetteit. Sőt, a profitorientáltság megakadályozza a közösség szempontjából elsődleges, de nem hozó, plusz erőforrást igénylő lehetőségek megvalósítását, mint például a digitális aláírás ellenőrzésének támogatása.

Silverio kétségbe vonja azt is, hogy az NPM Inc érdekelt a háttérrendszerével folytatott interakciók optimalizálása iránt, mivel ez a bevételszerzés szempontjából potenciálisan érdekes adatfolyamok csökkenéséhez vezet. Minden alkalommal, amikor kiadja a parancsot "npm audit» a fájl tartalma külsőleg kerül elküldésre csomag-zár, amely sok érdekes információt tartalmaz a fejlesztő tevékenységéről. Válaszul a JavaScript/Node.js közösség több prominens tagja elkezdett olyan alternatívát fejleszteni, amelyet nem az egyes vállalatok ellenőriztek.

Az Entropic rendszer az egyesített hálózat elvét használja, amelyben a fejlesztő saját erőforrásait felhasználva telepíthet egy szervert az általa használt csomagok tárházával, és csatlakoztathatja azt egy közös elosztott hálózathoz, amely egyetlen egésszé egyesíti a különböző privát tárolókat. Az Entropic számos adattár együttélését foglalja magában, amelyek a normál munkafolyamat részeként kölcsönhatásba lépnek velük.

Minden csomag névterekkel van elválasztva, és információkat tartalmaz az elsődleges tárhelyet üzemeltető gazdagépről.
A névtér lényegében a csomag tulajdonosának vagy karbantartók csoportjának a neve, akik jogosultak frissítéseket kiadni. Általában a csomagcím így néz ki:[e-mail védett]/pkg-name".
A metaadatok és a függőségi információk a formátumban vannak meghatározva TOML.

Ha egy csomagot olyan helyi lerakatba helyeznek el, amelyhez más lerakatokból származó függőségek kapcsolódnak, ezek a csomagok tükröződnek a helyi lerakatban. Ez a helyi adattárat önállóvá teszi, és tartalmazza az összes szükséges függőség másolatait. Van egy réteg a klasszikus NPM-tárral való interakcióhoz, amelyet írásvédett archívumként kezelünk. Csomagokat telepíthet az NPM-ből helyileg telepített Entropic környezetekkel is.

A kezeléshez olyan parancssori eszközök állnak rendelkezésre, amelyek leegyszerűsítik a lerakatok telepítését a helyi hálózaton. Az Entropic teljesen újat kínál fájlorientált API és egy tárolórendszer, amely minimalizálja a hálózaton keresztül letöltött adatok mennyiségét. Az Entropic univerzális rendszer, amely bármilyen programozási nyelven használható csomagok tárházának létrehozására, de az Entropic ennek ellenére a JavaScriptet szem előtt tartva lett kifejlesztve, és a legalkalmasabb az adott nyelvű projektekhez.

Forrás: opennet.ru

Hozzászólás