Entropic un repositorio de paquetes desarrollado por el ex director técnico de NPM
CJ Silverio ex director técnico de NPM Inc., presentó un nuevo repositorio de paquetes llamado Entropic, que se está desarrollando como una alternativa distribuida a NPM, no controlada por una compañía específica.
El código Entropic se escribe en JavaScript y se distribuye bajo la licencia Apache 2.0. El proyecto se está desarrollando solo durante un mes y se encuentra en la etapa inicial del prototipo, pero ya admite operaciones básicas, como la conexión, publicación e instalación de paquetes.
Sobre Entropic
El motivo de la creación de Entropic es la dependencia completa del ecosistema JavaScript / Node.js de NPM Inc, que controla el desarrollo del gestor de paquetes y el mantenimiento del repositorio de NPM.
Esto por su parte se derivo de la reciente sucesión de despidos y cambios en la administración en NPM Inc y sus preferencias con los inversores que generó una sensación de incertidumbre respecto del futuro de NPM y la falta de confianza en que la empresa defenderá los intereses de la comunidad, en lugar de los inversores.
Según Silverio, no se puede confiar en los negocios de NPM Inc., ya que la comunidad no tiene ni voz ni voto que se tomen en cuenta para acciones tomadas.
Y teme que las acciones de la compañía no estén alineadas con los intereses de la comunidad de JavaScript porque tiene que enfocarse primero en la rentabilidad.
Las características tan buscadas como la firma de paquetes probablemente no se desarrollen porque no ganarán dinero, dijo.
Además, duda que la compañía muestre algún interés en reducir las interacciones del cliente con su backend porque cada interacción de red genera datos potencialmente valiosos.
Silverio también duda que NPM Inc esté interesado en optimizar la interacción con su backend, ya que esto llevará a una disminución en los flujos de datos que son potencialmente interesantes desde el punto de vista de la monetización.
Cada vez que ejecutas el comando “npm audit”, el contenido del archivo de bloqueo de paquete que incluye mucha información interesante sobre lo que hace el desarrollador, se entrega al exterior.
En respuesta, varios miembros prominentes de la comunidad JavaScript / Node.js han comenzado a desarrollar alternativas que no están controladas por compañías individuales.
¿Como funciona Entropic ?
El sistema Entropic utiliza el principio de una red federada, en la que un desarrollador puede implementar un servidor con un repositorio de los paquetes utilizados por él y conectarlo a una red distribuida común que une depósitos privados aislados.
Entropic implica la coexistencia de muchos repositorios, interacción con la que se lleva a cabo en el marco del flujo de trabajo normal.
Todos los paquetes se separan utilizando espacios de nombres e incluyen información sobre el host en el que se encuentra su repositorio principal.
El espacio de nombres es esencialmente el nombre del propietario de un paquete o un grupo de mantenedores que son elegibles para emitir actualizaciones.
En general, la dirección del paquete se ve como “namespace@repohost.com/pkg-name”. Los metadatos y la información de dependencia se definen en el formato TOML .
En caso de colocar en el repositorio local un paquete vinculado por dependencias de otros repositorios, estos paquetes se duplican en el repositorio local.
Por lo tanto, el repositorio local se vuelve autosuficiente e incluye copias de todas las dependencias necesarias.
Hay una capa intermedia para interactuar con el repositorio NPM clásico, que se trata como un archivo accesible solo. Esto incluye la instalación de paquetes desde NPM utilizando el entorno Entropic implementado localmente.
Para la administración, se proporciona un kit de herramientas de línea de comandos que simplifica la implementación de repositorios en su red local.
Entropic ofrece un nuevo sistema de almacenamiento y API orientado a archivos que minimiza la cantidad de datos descargados a través de la red.
Entropic se presenta como un sistema universal que se puede usar para crear repositorios para paquetes en cualquier lenguaje de programación, pero, sin embargo, Entropic está diseñado con un ojo en JavaScript y es el más adecuado para proyectos en este lenguaje.
El artículo Entropic un repositorio de paquetes desarrollado por el ex director técnico de NPM aparece primero en Entropic un repositorio de paquetes desarrollado por el ex director técnico de NPM.