El exdirector técnico de NPM desarrolla el repositorio de paquetes distribuido Entropic

CJ Silverio, quien dejó el cargo de directora técnica de NPM Inc a finales del año pasado, ha presentado nuevo repositorio de paquetes Entropic, que se desarrolla como una alternativa distribuida a NPM, no controlada por una empresa específica. El código de Entropic está escrito en JavaScript y se distribuye bajo la licencia Apache 2.0. El proyecto lleva apenas un mes en desarrollo y se encuentra en una etapa de prototipo inicial, pero ya soporta operaciones básicas, como la conexión, publicación e instalación de paquetes.

Como razón para la creación de Entropic se menciona la completa dependencia del ecosistema de JavaScript/Node.js de NPM Inc, que controla el desarrollo del gestor de paquetes y el mantenimiento del repositorio NPM. Se ha dado una situación en la que una empresa centrada en obtener ganancias controla de manera unilateral un sistema del cual dependen millones de desarrolladores y aplicaciones en JavaScript, y que maneja miles de millones de descargas de paquetes cada semana.

Una reciente serie de despidos, el cambio en la dirección y la coqueteo de NPM Inc con los inversores han creado una sensación de incertidumbre respecto al futuro de NPM y desconfianza sobre si la empresa defenderá los intereses de la comunidad, y no de los inversores. Según Silverio, no se puede confiar en el negocio de NPM Inc, dado que la comunidad no tiene apalancamiento para responsabilizar a la empresa por sus acciones. Además, la orientación hacia la obtención de beneficios dificulta la implementación de oportunidades primordiales desde el punto de vista de la comunidad, pero que no generan ingresos y requieren recursos adicionales, tales como el soporte para la verificación mediante firmas digitales.

Silverio también duda de que NPM Inc esté interesada en optimizar la interacción con su backend, ya que esto llevaría a una disminución de los flujos de datos, potencialmente atractivos desde una perspectiva de monetización. Con cada ejecución del comando «npm audit» se expone el contenido del archivo package-lock, que incluye mucha información interesante sobre lo que hace el desarrollador. Como respuesta, varios miembros destacados de la comunidad de JavaScript/Node.js han comenzado a desarrollar una alternativa que no esté controlada por empresas específicas.

El sistema Entropic utiliza el principio de una red federativa, donde el desarrollador puede desplegar un servidor con un repositorio de los paquetes que utiliza en sus propias instalaciones y conectarlo a una red distribuida común que une repositorios privados dispares en un todo integrado. Entropic implica la coexistencia de múltiples repositorios, con los cuales se interactúa dentro del marco de un flujo de trabajo habitual.

Todos los paquetes se organizan utilizando espacios de nombres e incluyen información sobre el host donde se aloja su repositorio primario.
El espacio de nombres representa esencialmente el nombre del propietario del paquete o de un grupo de mantenedores que tienen derecho a realizar actualizaciones. En términos generales, la dirección de un paquete se ve como «namespace@repohost.com/pkg-name».
Los metadatos y la información sobre dependencias se definen en el formato TOML.

En caso de alojar en un repositorio local un paquete que tenga dependencias de otros repositorios, esos paquetes se reflejan en el repositorio local. De este modo, el repositorio local se vuelve autosuficiente e incluye copias de todas las dependencias necesarias. Hay una capa para interactuar con el repositorio clásico de NPM, que se procesa como un archivo accesible en modo solo lectura. También se pueden instalar paquetes desde NPM utilizando entornos desplegados localmente de Entropic.

Se proporciona una herramienta de línea de comandos que simplifica el despliegue de repositorios en su red local. Entropic ofrece un API orientado a archivos y un sistema de almacenamiento que minimiza la cantidad de datos descargados a través de la red. Entropic se presenta como un sistema universal que se puede utilizar para crear repositorios para paquetes en cualquier lenguaje de programación, pero, no obstante, Entropic se desarrolla con un enfoque en JavaScript y se adapta mejor para proyectos en este lenguaje.

Reproducir video

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster