A comunidade de desenvolvimento do kernel Linux tomou uma decisão final: Rust veio para ficar. Após anos de testes, debates acalorados e desenvolvimento paralelo, o recente Cúpula de Mantenedores A conferência realizada em Tóquio, no Japão, marcou o fim da fase de avaliação.
Neste evento exclusivo, apenas para convidados, onde se reuniram os principais líderes e mantenedores do projeto, chegou-se a um consenso de que o suporte ao Rust no kernel não deveria mais ser considerado "experimental", mas sim parte integrante e permanente do sistema operacional de código aberto mais importante do mundo.
Para formalizar essa mudança de status, Miguel Ojeda, chefe do projeto Rust-for-Linux, enviou um patch formal que remove os avisos sobre a natureza experimental da linguagem da documentação oficial do kernel. Ojeda confirmou que, após um longo período de experimentação destinado a avaliar se as compensações técnicas, processuais e sociais valiam a pena, a conclusão é clara:
"O experimento terminou, o que significa que Rust permanece."
Android 16 e a realidade na produção
Embora a alteração da etiqueta na documentação seja uma formalidade importante, Na realidade técnica, o Rust já está em operação em ambientes de produção críticos.Ojeda revelou uma informação durante a cúpula: os dispositivos que executarão o Android 16, baseado no kernel Linux 6.12, Eles serão enviados junto com o alocador de memória. Ashmen (o subsistema de memória compartilhada anônima) Completamente reescrito em Rust.
Isso implica que, longe de ser uma prova de conceito em laboratórios, existe milhões de dispositivos de consumo que já dependem de código Rust dentro do kernel para funcionar. Embora Ojeda tenha alertado que "isso não significa que tudo funcionará para todas as configurações de kernel, arquiteturas ou cadeias de ferramentas", e Ele reconheceu que ainda há muito trabalho a ser feito.A implementação no Android valida a estabilidade da linguagem no mundo real.
Além disso, o ecossistema de abstração amadureceu rapidamente, possibilitando o desenvolvimento de controladores complexos. Atualmente, projetos de grande visibilidade dependem dessa infraestrutura:
- Drivers gráficos (GPU): Nova (para hardware NVIDIA), Asahi (para Apple Silicon) e Tyr (para ARM Mali).
- Sistemas de arquivos: O driver rust_ext2.
- IPC: Uma implementação nativa do mecanismo Binder, fundamental para a arquitetura do Android.
O fim da letra C para novos drivers gráficos: uma mudança de paradigma
Uma das declarações mais contundentes na cúpula veio de Dave Airlie, responsável pela manutenção do subsistema DRM (Gerenciador de Renderização Direta), uma peça fundamental da pilha gráfica do Linux. Airlie afirmou que o projeto DRM está a aproximadamente um ano de exigir Rust. e proibir o uso da linguagem C para novos controladores.
Essa postura radical Isso reforça a confiança que os responsáveis pela manutenção de subsistemas críticos depositam na linguagem.Greg Kroah-Hartman, um dos mantenedores do kernel estável, corroborou essa visão durante a discussão, afirmando que os drivers escritos em Rust estão se mostrando objetivamente mais seguros do que suas contrapartes em C. Surpreendentemente, Kroah-Hartman observou que os problemas técnicos decorrentes da interação entre o novo código Rust e o kernel C existente foram muito menores do que se temia inicialmente.
Segurança versus desempenho: o eterno debate
O principal argumento para essa mudança drástica é, sem dúvida, a segurança da memória. De acordo com dados do Comprehensive Vulnerabilities Dictionary (CVE), aproximadamente 15,9% das vulnerabilidades de segurança do kernel nos últimos 20 anos estão relacionadas a problemas que o Rust resolve por meio de sua concepção, como estouros de buffer e acesso após liberação de memória (use-after-free). Empresas como a AWS e especialistas em segurança argumentam que o Rust elimina classes inteiras de erros lógicos, permitindo que os revisores se concentrem na arquitetura em vez de procurar manualmente por vazamentos de memória.
No entanto, essa visão não é universal e enfrenta resistência da "velha guarda", além de preocupações com o desempenho:
Crítica de Brian Kernighan: O lendário cientista da computação Brian Kernighan, coautor do livro "A Linguagem de Programação C", expressou recentemente seu ceticismo após experimentar a linguagem. Kernighan descreveu sua experiência com Rust como "dolorosa", criticando a imensa complexidade do ecossistema, os tempos de compilação lentos e a dificuldade em compreender os mecanismos de segurança de memória em programas onde o gerenciamento de memória sequer era uma questão crítica. Para muitos veteranos, a curva de aprendizado e a complexidade do compilador são barreiras difíceis de justificar.
O caminho a seguir: GCCRS e Debian
Para consolidar a adoção, lA comunidade está trabalhando para eliminar a dependência exclusiva do compilador LLVM/Clang. Um projeto fundamental é o gccrs, uma implementação de Rust no GCC (GNU Compiler Collection).
O objetivo final é garantir que seja sempre possível compilar o kernel com a versão do Rust incluída na versão estável mais recente do Debian. De fato, o projeto Debian já declarou que incorporará "requisitos rigorosos para o Rust" em seu gerenciador de pacotes APT a partir de maio de 2026, o que obrigará administradores de sistema e desenvolvedores a terem a versão necessária do Rust. toolchain Preparado para o Rust em seus ambientes de construção.
Apesar dos desafios que ainda persistem (como o suporte para arquiteturas de baixa utilização (IBM s390) e a falta de uma especificação completa da linguagem formal), a indústria parece ter respondido positivamente.