Entropic, um repositório de pacotes desenvolvido pelo ex-diretor técnico do NPM

CJ Silvério ex-diretor técnico da NPM Inc., introduziu um novo repositório de pacotes chamado Entropic, que está sendo desenvolvida como uma alternativa distribuída à NPM, não controlada por uma empresa específica.

O código entrópico Ele é escrito em JavaScript e é distribuído sob a licença Apache 2.0. O projeto está apenas um mês em desenvolvimento e está no estágio inicial de protótipo, mas já oferece suporte a operações básicas, como conexão, publicação e instalação de pacotes.

Sobre Entrópico

O motivo para a criação do Entropic é a dependência completa do ecossistema JavaScript / Node.js da NPM Inc, que controla o desenvolvimento do gerenciador de pacotes e manutenção do repositório NPM.

Isso por sua parte resultou da recente sucessão de demissões e mudanças na gestão da NPM Inc e suas preferências com investidores que criaram um sentimento de incerteza em relação ao futuro da NPM e uma falta de confiança de que a empresa defenderá os interesses da comunidade, ao invés dos investidores.

Segundo Silverio, o negócio da NPM In não é confiável.c., visto que a comunidade não tem voz nem voto levado em consideração para as ações tomadas.

E ele teme que as ações da empresa estejam desalinhadas com os interesses da comunidade JavaScript porque ela precisa se concentrar primeiro na lucratividade.

Recursos muito procurados, como assinatura de pacote, provavelmente não serão desenvolvidos porque não geram receita, disse ele.

Além disso, duvida que a empresa demonstre interesse em reduzir as interações do cliente com seu back-end porque toda interação de rede gera dados potencialmente valiosos.

Silverio também duvida que a NPM Inc esteja interessada em otimizar a interação com seu backend, pois isso levará a uma diminuição nos fluxos de dados que são potencialmente interessantes do ponto de vista da monetização.

Cada vez que você executa o comando "npm audit", o conteúdo do arquivo de bloqueio do pacote, que inclui muitas informações interessantes sobre o que o desenvolvedor faz, é enviado para o exterior.

Em resposta, vários membros proeminentes da comunidade JavaScript / Node.js começaram a desenvolver alternativas que não são controladas por empresas individuais.

Como funciona o Entropic?

O sistema entrópico usa o princípio de uma rede federada, onde um desenvolvedor pode implantar um servidor com um repositório dos pacotes usados ​​por ele e conectá-lo a uma rede distribuída comum conectando repositórios privados isolados.

Entropic implica a coexistência de muitos repositórios, interação com a qual é realizada dentro da estrutura do fluxo de trabalho normal.

Todos os pacotes são separados usando namespaces e incluem informações sobre o host onde seu repositório principal está localizado.

O namespace é essencialmente o nome do proprietário de um pacote ou um grupo de mantenedores que estão qualificados para lançar atualizações.

Em geral, o endereço do pacote se parece com "namespace@repohost.com/pkg-name". Os metadados e as informações de dependência são definidos no formato TOML.

Se um pacote vinculado por dependências de outros repositórios for colocado no repositório local, esses pacotes serão duplicados no repositório local.

Portanto, o repositório local se torna autossuficiente e inclui cópias de todas as dependências necessárias.

Existe uma camada intermediária para interagir com o repositório NPM clássico, que é tratado como um único arquivo acessível. Isso inclui a instalação de pacotes do NPM usando o ambiente Entropic implantado localmente.

Para administração, um kit de ferramentas de linha de comando é fornecido o que simplifica a implantação de repositórios em sua rede local.

Entropic oferece uma nova API orientada a arquivos e sistema de armazenamento que minimiza a quantidade de dados baixados pela rede.

Entropic é apresentado como um sistema universal que pode ser usado para criar repositórios para pacotes em qualquer linguagem de programação, mas, no entanto, Entropic é projetado com um olho em JavaScript e é mais adequado para projetos nesta linguagem.

Link para Entropic