HeadlinesBriefing favicon HeadlinesBriefing.com

Explicação das Construções Bootstrappable na FOSSY

Hacker News •
×

Após três anos em Portland, Oregon, a conferência anual de Software Livre e Código Aberto (FOSSY) mudou para a Universidade da Colúmbia Britânica em Vancouver, Canadá. Na trilha "Toolchains e Outras Ferramentas de Desenvolvimento", Timothy Sample apresentou sobre construções bootstrappable, um conceito menos conhecido do que as construções reproduzíveis. Uma construção bootstrappable começa com um programa pequeno que constrói progressivamente programas maiores até construir um espaço de usuário Linux moderno a partir de uma pequena semente, resultando em código com uma origem totalmente compreendida.

Sample observou a surpreendente familiaridade do público com o tema. Ele começou a explorar construções bootstrappable há quase dez anos usando o GNU Guix, um gerenciador de pacotes funcional inspirado no Nix. Ambos os sistemas representam o software em um "grafo de derivação" que mapeia centenas de dependências de construção. Sample ilustrou a complexidade usando um programa Python que requer um compilador C, que por sua vez requer outro compilador, e assim por diante, infinitamente. Tradicionalmente, sistemas como o Debian param em um binário de compilador C pré-carregado, enquanto o Guix originalmente parava em um blob estaticamente ligado de 250 MB de programas de espaço de usuário do GNU.

O objetivo central é construir um sistema sem depender de artefatos pré-construídos. Sample comparou a compilação padrão à fabricação de iogurte que requer uma cultura inicial, ou ao uso da "cultura inicial de Dennis Ritchie trazida dos Laboratórios Bell". Esse desafio se aplica à maioria das linguagens auto-hospedadas. As construções bootstrappable visam eliminar essas sementes binárias opacas, garantindo uma cadeia de suprimentos de software verificável do zero a um sistema moderno.

Entidades-Chave: Empresas: GNU, Nix, Debian, LWN | Pessoas: Timothy Sample, Dennis Ritchie | Locais: Universidade da Colúmbia Britânica, Vancouver, Canadá, Portland, Oregon, Bell Labs

Perguntas Frequentes: Qual é a diferença entre construções reproduzíveis e construções bootstrappable?

As construções reproduzíveis garantem que o mesmo código fonte produza artefatos binários idênticos, enquanto as construções bootstrappable vão além, eliminando a necessidade de sementes binárias pré-existentes, construindo toda a cadeia de ferramentas a partir de uma fonte mínima e auditável.