CJ Silverio, que va deixar el seu càrrec de CTO de NPM Inc a finals de l'any passat, nou dipòsit de paquets , que s'està desenvolupant com una alternativa distribuïda a NPM, no controlada per una empresa concreta. El codi d'Entropic està escrit en JavaScript i amb llicència d'Apache 2.0. El projecte només porta un mes en desenvolupament i es troba en l'etapa inicial del prototip, però ja admet operacions bàsiques com connectar, publicar i instal·lar paquets.
El motiu de la creació d'Entropic és la dependència total de l'ecosistema JavaScript/Node.js de NPM Inc, que controla el desenvolupament del gestor de paquets i el manteniment del repositori NPM. Aquí és on una empresa amb ànim de lucre té el control exclusiu d'un sistema del qual depenen milions de desenvolupadors i aplicacions de JavaScript i que processa milers de milions de descàrregues de paquets per setmana.
Una recent sèrie d'acomiadaments d'empleats, canvis de gestió i el coqueteig de NPM Inc amb els inversors han creat una sensació d'incertesa sobre el futur de NPM i una falta de confiança que l'empresa defensarà els interessos de la comunitat en lloc dels inversors. Segons Silverio, no es pot confiar en el negoci de NPM Inc perquè la comunitat no té la capacitat de fer-la responsable de les seves accions. A més, l'enfocament a obtenir beneficis impedeix la implementació d'oportunitats que són primàries des del punt de vista de la comunitat, però que no aporten diners i requereixen recursos addicionals, com ara suport per a la verificació de signatura digital.
Silverio també dubta que NPM Inc estigui interessada a optimitzar les interaccions amb el seu backend, ja que això comportarà una disminució dels fluxos de dades potencialment interessants des del punt de vista de la monetització. Cada vegada que executeu l'ordre "» el contingut del fitxer s'envia externament , que inclou molta informació interessant sobre el que fa el desenvolupador. Com a resposta, diversos membres destacats de la comunitat JavaScript/Node.js van començar a desenvolupar una alternativa que no estava controlada per empreses individuals.
El sistema Entropic utilitza el principi d'una xarxa federada, en la qual un desenvolupador, utilitzant els seus propis recursos, pot desplegar un servidor amb un repositori de paquets que utilitza i connectar-lo a una xarxa distribuïda comuna que uneix repositoris privats dispars en un sol tot. Entropic implica la coexistència de molts repositoris, interactuant amb ells com a part d'un flux de treball normal.
Tots els paquets es separen mitjançant espais de noms i inclouen informació sobre l'amfitrió que allotja el seu dipòsit principal.
Un espai de noms és essencialment el nom del propietari del paquet o del grup de mantenidors que tenen permís per publicar actualitzacions. En general, una adreça de paquet té aquest aspecte: "espai de noms@repohost.com/nom-del-pkg".
Les metadades i la informació de dependència es defineixen en el format .
Si un paquet es col·loca en un dipòsit local que està enllaçat per dependències d'altres dipòsits, aquests paquets es reflecteixen al dipòsit local. Això fa que el dipòsit local sigui autònom i inclou còpies de totes les dependències necessàries. Hi ha una capa per interactuar amb el repositori NPM clàssic, que es tracta com un arxiu de només lectura. També podeu instal·lar paquets des de NPM mitjançant entorns Entropic desplegats localment.
Per a la gestió, es proporcionen eines de línia d'ordres que simplifiquen el desplegament dels dipòsits a la vostra xarxa local. Entropic ofereix completament nou i un sistema d'emmagatzematge que minimitza la quantitat de dades descarregades a la xarxa. Entropic es presenta com un sistema universal que es pot utilitzar per crear repositoris per a paquets en qualsevol llenguatge de programació, però Entropic es desenvolupa tenint en compte JavaScript i és el més adequat per a projectes en aquest llenguatge.

Font: opennet.ru
