Tidligere NPM CTO udvikler distribueret pakkelager Entropic

CJ Silverio, der forlod sin stilling som CTO for NPM Inc i slutningen af ​​sidste år, fremlagde nyt pakkelager Entropisk, som udvikles som et distribueret alternativ til NPM, ikke kontrolleret af en bestemt virksomhed. Entropics kode er skrevet i JavaScript og distribueret af licenseret under Apache 2.0. Projektet har kun været under udvikling i en måned og er på det indledende prototypestadium, men understøtter allerede grundlæggende operationer såsom tilslutning, publicering og installation af pakker.

Årsagen til oprettelsen af ​​Entropic er JavaScript/Node.js-økosystemets fuldstændige afhængighed af NPM Inc, som styrer udviklingen af ​​pakkehåndteringen og vedligeholdelsen af ​​NPM-lageret. Det er her en profitsøgende virksomhed har enekontrol over et system, som millioner af JavaScript-udviklere og -applikationer er afhængige af, og som behandler milliarder af pakkedownloads om ugen.

En nylig række af afskedigelser, ledelsesændringer og NPM Inc's flirt med investorer har skabt en følelse af usikkerhed om NPM's fremtid og en mangel på tillid til, at virksomheden vil forsvare samfundets interesser frem for investorer. Ifølge Silverio kan man ikke stole på NPM Inc.-virksomheden, fordi fællesskabet ikke har løftestangen til at holde det ansvarligt for dets handlinger. Desuden forhindrer fokus på at skabe overskud implementering af muligheder, der er primære fra fællesskabets synspunkt, men som ikke giver penge og kræver yderligere ressourcer, såsom understøttelse af verifikation af digital signatur.

Silverio tvivler også på, at NPM Inc er interesseret i at optimere interaktioner med sin backend, da dette vil føre til et fald i datastrømme, der er potentielt interessante fra et monetiseringssynspunkt. Hver gang du kører kommandoen "npm revision» indholdet af filen sendes eksternt pakkelås, som indeholder en masse interessant information om, hvad udvikleren gør. Som svar begyndte flere prominente medlemmer af JavaScript/Node.js-fællesskabet at udvikle et alternativ, der ikke var kontrolleret af individuelle virksomheder.

Entropic-systemet bruger princippet om et fødereret netværk, hvor en udvikler, ved hjælp af sine egne ressourcer, kan installere en server med et lager af pakker, han bruger, og forbinde det til et fælles distribueret netværk, der forener forskellige private arkiver til en enkelt helhed. Entropic involverer sameksistensen af ​​mange depoter, der interagerer med dem som en del af en normal arbejdsgang.

Alle pakker adskilles ved hjælp af navneområder og indeholder oplysninger om værten, der er vært for deres primære lager.
Et navneområde er i bund og grund navnet på pakkeejeren eller gruppen af ​​vedligeholdere, som har ret til at frigive opdateringer. Generelt ser pakkeadressen ud som "[e-mail beskyttet]/pakke-navn".
Metadata og afhængighedsoplysninger er defineret i formatet TOML.

Hvis en pakke placeres i et lokalt lager, der er forbundet med afhængigheder fra andre lagre, spejles disse pakker i det lokale lager. Dette gør det lokale lager selvstændigt og inkluderer kopier af alle nødvendige afhængigheder. Der er et lag til at interagere med det klassiske NPM-lager, som behandles som et skrivebeskyttet arkiv. Du kan også installere pakker fra NPM ved hjælp af lokalt installerede Entropic-miljøer.

Til administration leveres kommandolinjeværktøjer, der forenkler udrulningen af ​​arkiver på dit lokale netværk. Entropic tilbyder helt nye filorienteret API og et lagersystem, der minimerer mængden af ​​data, der downloades over netværket. Entropic er udråbt som et universelt system, der kan bruges til at skabe repositories til pakker i ethvert programmeringssprog, men Entropic er ikke desto mindre udviklet med JavaScript i tankerne og er bedst egnet til projekter på det sprog.

Kilde: opennet.ru

Tilføj en kommentar