Após 8 anos no Clear Linux, desenvolvedor quer corrigir um dos maiores problemas da distribuição
Notícias

Após 8 anos no Clear Linux, desenvolvedor quer corrigir um dos maiores problemas da distribuição

Acesse nossos conteúdos exclusivos!

Auke Kok passou oito anos trabalhando no Clear Linux OS, uma distribuição criada pela Intel com foco em desempenho, otimizações para hardware moderno e uma infraestrutura bastante diferente da encontrada em projetos tradicionais. Agora, depois de a Intel encerrar o desenvolvimento do sistema, o desenvolvedor decidiu transformar parte do que aprendeu nesse período em um novo projeto independente.

Batizado de The Ur Project, o projeto começou como um experimento pessoal e não possui apoio corporativo. A ideia, porém, é bastante ambiciosa: criar uma infraestrutura capaz de permitir que pessoas, empresas e organizações construam suas próprias distribuições Linux, compartilhem componentes e até mantenham repositórios próprios.

Para Kok, um dos principais problemas do Clear Linux não estava necessariamente na tecnologia, mas na dificuldade de participação. Segundo ele, o projeto tornou-se complicado demais para pessoas de fora da Intel contribuírem com código e pacotes.

O problema que o Ur Project quer resolver

A experiência acumulada durante os anos no Clear Linux levou Kok a uma conclusão: uma distribuição Linux precisa facilitar a participação da comunidade desde a própria infraestrutura de desenvolvimento.

No Clear Linux, tarefas que deveriam ser relativamente simples, como testar alterações em pacotes ou fazer pequenas contribuições incrementais, acabavam encontrando barreiras. O resultado foi uma quantidade muito pequena de contribuições externas para o conteúdo dos pacotes.

O Ur Project nasce justamente com a proposta oposta. A intenção é tornar simples criar um pacote, publicar um repositório e aproveitar o trabalho desenvolvido por outras pessoas, sem abrir mão de mecanismos de segurança e rastreabilidade.

Isso significa que o projeto não pretende necessariamente criar mais uma distribuição para disputar espaço com Fedora, Ubuntu ou Arch Linux. A própria distribuição criada por Kok servirá inicialmente como uma espécie de demonstração da infraestrutura.

Um sistema de construção escrito em Rust

Grande parte da proposta está no sistema de construção. O Ur Project é desenvolvido em Rust, tanto no lado responsável pela produção dos pacotes quanto nas ferramentas utilizadas para consumi-los. Um dos conceitos centrais são as chamadas recipes, arquivos declarativos escritos em TOML que descrevem um pacote, suas fontes, dependências e algumas exceções necessárias para a compilação.

A diferença está no que não aparece nesses arquivos. Em vez de reproduzir longos scripts explicando passo a passo como compilar cada software, o sistema utiliza probes para identificar automaticamente como determinado projeto deve ser construído.

Uma receita pode informar que determinado pacote vem de uma URL, apresentar seu checksum e indicar algumas particularidades. O restante fica a cargo do sistema de construção.

Kok compara a abordagem a uma receita de cozinha: ela lista os ingredientes e algumas informações importantes, mas não precisa explicar cada movimento necessário para preparar o prato.

Repositórios, segurança e reprodutibilidade

Outra parte importante da arquitetura é a separação entre recipes, pacotes e repositórios. As receitas ficam em árvores Git e podem ser compartilhadas. O sistema de construção monitora esse conteúdo e cria os pacotes necessários automaticamente. Depois, os resultados são publicados em repositórios que armazenam tanto os arquivos quanto seus metadados.

O projeto também utiliza armazenamento endereçado por conteúdo, baseado em hashes SHA-256. Isso permite deduplicar arquivos e evitar que diferentes pacotes armazenem múltiplas cópias idênticas do mesmo conteúdo.

Há ainda espaço para informações de proveniência, licenciamento e reprodução das compilações. A intenção é que seja possível descobrir de onde um pacote veio, como ele foi construído e reproduzir o processo posteriormente.

Essa preocupação também se estende à segurança. O objetivo declarado do projeto inclui registros de origem, verificação de licenças, análise de vulnerabilidades e outras ferramentas capazes de oferecer uma visão mais completa sobre aquilo que entra em uma distribuição.

Uma infraestrutura para diferentes tipos de sistemas

Talvez uma das características mais interessantes seja o fato de o Ur Project não estar preso a um único modelo de distribuição.

A mesma infraestrutura deve ser capaz de produzir containers OCI, imagens para a nuvem, sistemas Live USB e instalações tradicionais. Também não existe uma obrigação de adotar um modelo imutável ou atualizações atômicas.

Essa separação entre conteúdo e composição permite que diferentes usuários utilizem a mesma base para objetivos completamente distintos. Uma empresa poderia montar seu próprio sistema, enquanto um desenvolvedor poderia criar uma distribuição desktop ou uma imagem especializada para dispositivos embarcados.

A arquitetura também prevê cenários sem conexão com a internet. Sistemas isolados podem gerar um manifesto de seu estado, que posteriormente é levado para uma máquina conectada. A ferramenta pode então preparar um pacote de atualização específico para retornar ao ambiente offline.

E a inteligência artificial?

Kok também admite que há IA envolvida no desenvolvimento, mas de maneira bastante delimitada.

Modelos de linguagem podem ajudar na criação de testes e definições de build para determinados tipos de pacotes. O sistema de construção, entretanto, não depende de um agente de IA para funcionar.

Essa distinção é importante porque a proposta do Ur Project depende justamente de previsibilidade e reprodutibilidade. A compilação precisa produzir resultados verificáveis, independentemente de haver ou não uma IA participando da criação inicial de uma receita.

Ainda é cedo para dizer até onde ele vai

O Ur Project ainda está em uma fase inicial. Por enquanto, o projeto conta principalmente com seu site, documentação e código em desenvolvimento. Kok trabalha na infraestrutura necessária para disponibilizar publicamente imagens e repositórios, além de finalizar os testes de usabilidade.

A promessa é que imagens inicializáveis para nuvem e Live USB sejam disponibilizadas em breve.

O Ur Project representa uma tentativa de repensar como distribuições são construídas e compartilhadas. Depois de oito anos trabalhando no Clear Linux, Auke Kok parece estar tentando resolver justamente aquilo que considera uma das maiores falhas daquela experiência: criar uma infraestrutura em que participar do projeto seja tão importante quanto a tecnologia usada para construí-lo.

Fique por dentro das principais novidades da semana sobre tecnologia e Linux: receba nossa newsletter semanal!

Diolinux Ofertas - Aproveite os melhores descontos em diversos produtos!