Entinen NPM CTO kehittää hajautettua pakettivarastoa Entropic

CJ Silverio, joka jätti tehtävänsä NPM Inc:n teknologiajohtajana viime vuoden lopussa, esitetty uusi pakettivarasto Entropinen, jota kehitetään hajautetuksi vaihtoehdoksi NPM:lle, joka ei ole tietyn yrityksen määräysvallassa. Entropicin koodi on kirjoitettu JavaScriptillä ja jakelija lisensoitu Apache 2.0:lla. Projektia on kehitetty vasta kuukauden ja se on alkuprototyyppivaiheessa, mutta tukee jo perustoimintoja, kuten pakettien yhdistämistä, julkaisua ja asennusta.

Syy Entropicin luomiseen on JavaScript/Node.js-ekosysteemin täydellinen riippuvuus NPM Inc:stä, joka ohjaa paketinhallinnan kehitystä ja NPM-arkiston ylläpitoa. Tässä voittoa tavoittelevalla yrityksellä on yksinoikeus järjestelmään, josta miljoonat JavaScript-kehittäjät ja -sovellukset ovat riippuvaisia ​​ja joka käsittelee miljardeja pakettien latauksia viikossa.

Äskettäiset irtisanomiset, johdon muutokset ja NPM Inc:n flirttailu sijoittajien kanssa ovat luoneet epävarmuuden tunteen NPM:n tulevaisuudesta ja luottamuksen puutteen siihen, että yritys ajaa yhteisön etuja sijoittajien sijaan. Silverion mukaan NPM Inc:n liiketoimintaan ei voi luottaa, koska yhteisöllä ei ole vipuvaikutusta pitää sitä vastuussa teoistaan. Lisäksi voiton tavoittelu estää sellaisten mahdollisuuksien toteuttamista, jotka ovat yhteisön kannalta ensisijaisia, mutta eivät tuo rahaa ja vaativat lisäresursseja, kuten tuki digitaalisen allekirjoituksen varmennukselle.

Silverio epäilee myös, onko NPM Inc kiinnostunut optimoimaan vuorovaikutusta taustajärjestelmänsä kanssa, koska tämä johtaa kaupallistamisen kannalta mahdollisesti kiinnostavien tietovirtojen vähenemiseen. Joka kerta kun suoritat komennon "npm tarkastus» tiedoston sisältö lähetetään ulkoisesti paketti-lukko, joka sisältää paljon mielenkiintoista tietoa siitä, mitä kehittäjä tekee. Vastauksena useat JavaScript/Node.js-yhteisön merkittävät jäsenet alkoivat kehittää vaihtoehtoa, joka ei ollut yksittäisten yritysten hallinnassa.

Entropic-järjestelmässä käytetään hajautetun verkon periaatetta, jossa kehittäjä voi omilla resursseillaan ottaa käyttöön palvelimen, jossa on käyttämänsä pakettivarasto, ja liittää sen yhteiseen hajautettuun verkkoon, joka yhdistää erilaiset yksityiset tietovarastot yhdeksi kokonaisuudeksi. Entropic sisältää useiden tietovarastojen rinnakkaiselon, jotka ovat vuorovaikutuksessa niiden kanssa osana normaalia työnkulkua.

Kaikki paketit erotetaan nimiavaruuksilla ja sisältävät tietoja isännästä, joka isännöi niiden ensisijaista arkistoa.
Nimiavaruus on olennaisesti paketin omistajan tai ylläpitäjäryhmän nimi, jolla on oikeus julkaista päivityksiä. Yleensä paketin osoite näyttää tältä "[sähköposti suojattu]/pkg-nimi".
Metatiedot ja riippuvuustiedot määritellään muodossa TOML.

Jos paketti sijoitetaan paikalliseen tietovarastoon, johon on linkitetty riippuvuuksia muista tietovarastoista, nämä paketit peilataan paikallisessa arkistoon. Tämä tekee paikallisesta arkistosta itsenäisen ja sisältää kopiot kaikista tarvittavista riippuvuuksista. Klassisen NPM-arkiston kanssa vuorovaikutusta varten on kerros, jota käsitellään vain luku -arkistona. Voit myös asentaa paketteja NPM:stä käyttämällä paikallisesti käyttöön otettuja Entropic-ympäristöjä.

Hallintaa varten tarjotaan komentorivityökaluja, jotka yksinkertaistavat tietovarastojen käyttöönottoa paikallisessa verkossa. Entropic tarjoaa täysin uusia tiedostosuuntautunut API ja tallennusjärjestelmä, joka minimoi verkon kautta ladattavan tiedon määrän. Entropicia mainostetaan yleismaailmallisena järjestelmänä, jonka avulla voidaan luoda arkistot paketeille millä tahansa ohjelmointikielellä, mutta Entropic on kuitenkin kehitetty JavaScriptiä ajatellen ja sopii parhaiten kyseisen kielen projekteihin.

Lähde: opennet.ru

Lisää kommentti