Tidigare NPM CTO utvecklar distribuerat paketförråd Entropic

CJ Silverio, som lämnade sin post som CTO för NPM Inc i slutet av förra året, представила nytt paketförråd Entropisk, som utvecklas som ett distribuerat alternativ till NPM, som inte kontrolleras av ett specifikt företag. Entropics kod är skriven i JavaScript och levererad av licensierad under Apache 2.0. Projektet har bara varit under utveckling i en månad och är i det inledande prototypstadiet, men stöder redan grundläggande operationer som att ansluta, publicera och installera paket.

Anledningen till skapandet av Entropic är JavaScript/Node.js-ekosystemets fullständiga beroende av NPM Inc, som styr utvecklingen av pakethanteraren och underhållet av NPM-förvaret. Det är här ett vinstsökande företag har ensam kontroll över ett system som miljontals JavaScript-utvecklare och applikationer är beroende av och som bearbetar miljarder paketnedladdningar per vecka.

En ny rad av uppsägningar av anställda, förändringar i ledningen och NPM Inc:s flirt med investerare har skapat en känsla av osäkerhet om NPM:s framtid och en brist på förtroende för att företaget kommer att kämpa för samhällets intressen snarare än investerarna. Enligt Silverio kan man inte lita på NPM Inc:s verksamhet eftersom samhället inte har hävstångseffekten att hålla den ansvarig för sina handlingar. Dessutom förhindrar fokus på att göra vinst genomförandet av möjligheter som är primära ur samhällssynpunkt, men som inte ger pengar och kräver ytterligare resurser, såsom stöd för verifiering av digital signatur.

Silverio tvivlar också på att NPM Inc är intresserade av att optimera interaktioner med sin backend, eftersom detta kommer att leda till en minskning av dataflöden som är potentiellt intressanta ur intäktsgenereringssynpunkt. Varje gång du kör kommandot "npm revision» innehållet i filen skickas externt paketlås, som innehåller mycket intressant information om vad utvecklaren gör. Som svar började flera framstående medlemmar av JavaScript/Node.js-communityt utveckla ett alternativ som inte kontrollerades av enskilda företag.

Entropic-systemet använder principen om ett federerat nätverk, där en utvecklare, med sina egna resurser, kan distribuera en server med ett förråd av paket som han använder och ansluta det till ett gemensamt distribuerat nätverk som förenar olika privata arkiv till en enda helhet. Entropic innebär samexistens av många förråd, interagerar med dem som en del av ett normalt arbetsflöde.

Alla paket separeras med hjälp av namnutrymmen och innehåller information om värden som är värd för deras primära arkiv.
Ett namnområde är i huvudsak namnet på paketägaren eller gruppen av underhållare som har tillstånd att släppa uppdateringar. I allmänhet ser paketadressen ut som "[e-postskyddad]/pkg-namn".
Metadata och beroendeinformation definieras i formatet TOML.

Om ett paket placeras i ett lokalt arkiv som är länkat av beroenden från andra arkiv, speglas dessa paket i det lokala arkivet. Detta gör det lokala arkivet självständigt och inkluderar kopior av alla nödvändiga beroenden. Det finns ett lager för att interagera med det klassiska NPM-förvaret, som behandlas som ett skrivskyddat arkiv. Du kan också installera paket från NPM med hjälp av lokalt distribuerade Entropic-miljöer.

För hantering tillhandahålls kommandoradsverktyg som förenklar distributionen av arkiv på ditt lokala nätverk. Entropic erbjuder helt nya filorienterat API och ett lagringssystem som minimerar mängden data som laddas ner över nätverket. Entropic utses som ett universellt system som kan användas för att skapa repositories för paket i vilket programmeringsspråk som helst, men Entropic är ändå utvecklat med JavaScript i åtanke och lämpar sig bäst för projekt på det språket.

Källa: opennet.ru

Lägg en kommentar