CJ Silverio, quien dejó su puesto como CTO de NPM Inc a fines del año pasado,
El motivo de la creación de Entropic es la completa dependencia del ecosistema JavaScript/Node.js de NPM Inc, que controla el desarrollo del administrador de paquetes y el mantenimiento del repositorio de NPM. Aquí es donde una empresa con fines de lucro tiene el control exclusivo de un sistema del que dependen millones de desarrolladores y aplicaciones de JavaScript, y que procesa miles de millones de descargas de paquetes por semana.
Una reciente serie de despidos de empleados, cambios de gestión y el coqueteo de NPM Inc con los inversores han creado una sensación de incertidumbre sobre el futuro de NPM y una falta de confianza en que la empresa defenderá los intereses de la comunidad en lugar de los de los inversores. Según Silverio, no se puede confiar en el negocio de NPM Inc porque la comunidad no tiene la influencia para responsabilizarlo por sus acciones. Además, el enfoque en obtener ganancias impide la implementación de oportunidades que son primarias desde el punto de vista de la comunidad, pero que no generan dinero y requieren recursos adicionales, como el soporte para la verificación de firmas digitales.
Silverio también duda de que NPM Inc esté interesado en optimizar las interacciones con su backend, ya que esto conducirá 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 "
El sistema Entropic utiliza el principio de una red federada, en la que un desarrollador, utilizando sus propios recursos, puede implementar un servidor con un repositorio de paquetes que usa y conectarlo a una red distribuida común que une repositorios privados dispares en un solo todo. Entropic implica la coexistencia de muchos repositorios, interactuando con ellos como parte de un flujo de trabajo normal.
Todos los paquetes están separados mediante espacios de nombres e incluyen información sobre el host que aloja su repositorio principal.
Un espacio de nombres es esencialmente el nombre del propietario del paquete o del grupo de mantenedores que tienen derecho a publicar actualizaciones. En general, la dirección del paquete se parece a "[email protected]/nombre-paquete".
Los metadatos y la información de dependencia se definen en el formato
Si un paquete se coloca en un repositorio local que está vinculado por dependencias de otros repositorios, estos paquetes se reflejan en el repositorio local. Esto hace que el repositorio local sea autónomo e incluya copias de todas las dependencias necesarias. Hay una capa para interactuar con el repositorio NPM clásico, que se trata como un archivo de solo lectura. También puede instalar paquetes desde NPM utilizando entornos entrópicos implementados localmente.
Para la administración, se proporcionan herramientas de línea de comandos que simplifican la implementación de repositorios en su red local. Entropic ofrece algo completamente nuevo
Fuente: opennet.ru