CJ Silverio, que deixou o cargo de CTO da NPM Inc no final do ano passado,
O motivo da criação do Entropic é a total dependência do ecossistema JavaScript/Node.js da NPM Inc, que controla o desenvolvimento do gerenciador de pacotes e manutenção do repositório NPM. É aqui que uma empresa com fins lucrativos tem o controle exclusivo de um sistema do qual dependem milhões de desenvolvedores e aplicativos JavaScript e que processa bilhões de downloads de pacotes por semana.
Uma recente série de demissões de funcionários, mudanças de gestão e o flerte da NPM Inc com investidores criaram uma sensação de incerteza sobre o futuro da NPM e uma falta de confiança de que a empresa defenderá os interesses da comunidade e não dos investidores. De acordo com Silverio, os negócios da NPM Inc não são confiáveis porque a comunidade não tem condições de responsabilizá-la por suas ações. Além disso, o foco na obtenção de lucro impede a implementação de oportunidades que são primárias do ponto de vista comunitário, mas que não geram dinheiro e requerem recursos adicionais, como o apoio à verificação de assinaturas digitais.
Silverio também duvida que a NPM Inc esteja interessada em otimizar as interações com o 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 "
O sistema Entropic usa o princípio de uma rede federada, na qual um desenvolvedor, usando seus próprios recursos, pode implantar um servidor com um repositório de pacotes que ele usa e conectá-lo a uma rede distribuída comum que une repositórios privados díspares em um único todo. Entrópico envolve a coexistência de muitos repositórios, interagindo com eles como parte de um fluxo de trabalho normal.
Todos os pacotes são separados por namespaces e incluem informações sobre o host que hospeda seu repositório primário.
Um namespace é essencialmente o nome do proprietário do pacote ou grupo de mantenedores que têm o direito de lançar atualizações. Em geral, o endereço do pacote se parece com “[email protegido]/nome-do-pacote".
Metadados e informações de dependência são definidos no formato
Se um pacote for colocado em um repositório local e tiver dependências de outros repositórios, esses pacotes serão espelhados no repositório local. Isso torna o repositório local independente e inclui cópias de todas as dependências necessárias. Existe uma camada para interagir com o repositório NPM clássico, que é tratado como um arquivo somente leitura. Você também pode instalar pacotes do NPM usando ambientes Entrópicos implantados localmente.
Para gerenciamento, são fornecidas ferramentas de linha de comando que simplificam a implantação de repositórios em sua rede local. Entropic oferece soluções completamente novas
Fonte: opennet.ru