Movimento 0deps: Dependências Locais e Contratos Imutáveis

Desenvolvedores de software frequentemente instalam centenas de bibliotecas externas em cada projeto. Frameworks modernos dependem de milhares de dependências transitivas. Isso significa que sua aplicação executa código de centenas de colaboradores desconhecidos.

Essa velocidade cria um risco massivo para sua cadeia de suprimentos de software.

O movimento 0deps faz uma pergunta simples: E se sua aplicação executasse apenas o código que você realmente controla?

Cada dependência aumenta sua superfície de ataque. Ela pode introduzir brechas de segurança, ser abandonada ou quebrar seu código com uma nova atualização. Você perde o controle sobre o código que está sendo executado em seu ambiente de produção.

No modelo 0deps, você traz todas as dependências diretamente para o repositório do seu projeto. Você não as baixa dinamicamente durante a instalação. Tudo o que é necessário para construir e executar seu app já está lá.

Esta abordagem oferece diversos benefícios:

  • Builds reproduzíveis
  • Menor dependência de registros de pacotes externos
  • Auditorias de segurança centralizadas
  • Melhor previsibilidade
  • Menor risco na cadeia de suprimentos

O princípio central não é impedir que o código mude. Algoritmos e correções de segurança devem evoluir. O que permanece estável é o contrato público.

Cada biblioteca expõe uma interface cuidadosamente projetada.

  • authenticate()
  • createSession()
  • verifyPasskey()

Essas funções definem um contrato. Esse contrato nunca muda. Você pode reescrever o código subjacente ou substituir a biblioteca inteira. O restante da sua aplicação permanece o mesmo porque ela se comunica apenas com o contrato.

Quando uma vulnerabilidade aparece, você a corrige internamente. Você atualiza a implementação por trás da interface. A API pública permanece idêntica. Sua aplicação continua funcionando sem alterações no código.

Esta estrutura utiliza um adaptador interno para isolar o código externo: Aplicação ↓ Interface Pública ↓ Adaptador ↓ Implementação

Se uma biblioteca externa desaparecer, você apenas atualiza o adaptador. Nenhuma outra parte do seu app quebra.

O movimento 0deps não combate o open source. Ele muda a forma como você o utiliza. As bibliotecas tornam-se componentes integrados que você mesmo audita e versiona.

Isso cria softwares que duram décadas. As implementações mudam, mas seus contratos permanecem. Essa estabilidade torna seu software previsível e resiliente.

Fonte: https://dev.to/fullagenticstack/mouvement-0deps-dependances-locales-contrats-immuables-et-securite-par-conception-24c2