- O trabalho de integração do Rust no kernel Linux concluiu a fase experimental e passou a ser reconhecido como um componente oficial
- No Maintainers Summit anual, os desenvolvedores concordaram em adotar o suporte a Rust como um recurso permanente
- Com isso, a tag “experimental” será removida do código relacionado a Rust no kernel
- Um editor da LWN afirmou que “o experimento acabou, e foi um sucesso”, mencionando as conquistas da equipe Rust for Linux
- Isso é avaliado como um importante ponto de virada na expansão das linguagens usadas no desenvolvimento do kernel, com foco em segurança e modernização
Encerramento do experimento com Rust no kernel e adoção oficial
- No Maintainers Summit anual, foi discutido o suporte a Rust no kernel, e os desenvolvedores presentes concordaram que Rust não é mais um recurso experimental
- Rust agora passa a fazer parte central do kernel
- Com isso, a marcação “experimental” será removida do código relacionado
- Em uma publicação, um editor da LWN declarou explicitamente: “o experimento acabou, e foi um sucesso”
- Ele também enviou uma mensagem de parabéns pelo trabalho da equipe Rust for Linux
Reação da comunidade
- O título da publicação causou confusão momentânea, e alguns leitores pensaram, por engano, que Rust estava sendo removido
- Em vários comentários, surgiram reações como “caí nessa por um instante” e “foi uma montanha-russa emocional”
- Alguns usuários reagiram com humor ao mencionar o estilo de manchetes do Phoronix
- Também foi apontado que as atividades de benchmark e atualizações do ecossistema open source do Phoronix são úteis
- Outros comentários mencionaram que a Microsoft também está introduzindo Rust no kernel do Windows
- Segundo essas opiniões, alguns componentes já foram escritos em Rust e incluídos na etapa de distribuição
O significado da adoção do Rust
- Com o suporte a Rust no kernel se tornando um recurso oficial e contínuo, o reforço da segurança de memória e a adoção de uma linguagem moderna passam a se firmar como parte do desenvolvimento do kernel
- Com Rust sendo adotado tanto no kernel Linux quanto no Windows, fica mais visível a mudança geracional nas linguagens de programação de sistemas
- A comunidade vê essa decisão como a conclusão bem-sucedida de um experimento, e o clima é de expectativa por uma futura expansão dos módulos de kernel baseados em Rust
3 comentários
Mesmo assim, não foi o caso de vários mantenedores abandonarem o projeto?
Há apenas um livro relacionado ao Hangul publicado, mas, infelizmente, como a forma de usar Rust no kernel Linux passou por várias breaking changes, ele não é totalmente compatível com os kernels atuais. Seria muito bom se isso pudesse ser complementado por meio do GitHub e afins.
Opiniões do Hacker News
O suporte a Rust avançou muito nos últimos 2 anos
agora já está num ponto em que dá para escrever módulos do kernel quase sem boilerplate
Acho que a remoção da tag “experimental” é um grande marco
Daqui para frente, o dia em que as distribuições passarem a lançar kernels com suporte a Rust ativado por padrão deve ser um verdadeiro ponto de virada
Por exemplo, NixOS e Arch ativam a tela de pânico do kernel com QR code escrita em Rust
Acho que o Fedora provavelmente também oferece suporte
CONFIG_RUST=yNão é que o kernel esteja dando suporte a espaço de usuário em Rust, e sim que parte do código do kernel é compilada com
rustcDepois de tanta resistência, é emocionante ver Rust ser adotado oficialmente no kernel Linux
Palmas para a equipe do Rust for Linux
Fico me perguntando se aquele caso foi o primeiro dominó do projeto
Alex Gaynor, que era co-mantenedor do Rust for Linux, deixou oficialmente o cargo
Agora Miguel Ojeda continua como único mantenedor oficial, com vários revisores de código
Fico curioso se a remoção da tag “experimental” significa que todos os mantenedores passam a ser obrigados a não quebrar código Rust
É uma indicação de estabilidade para que desenvolvedores possam investir em drivers baseados em Rust
As regras continuam as mesmas, e código que quebra a build Rust não pode ser enviado ao Linus
Ou seja, mesmo que um mantenedor quebre código Rust interno, isso não constitui violação das regras
Fico curioso se as arquiteturas que o Rust não suporta agora vão ser abandonadas
As partes centrais do kernel ainda precisam ser escritas em C
Disseram que o título do artigo foi alterado para “The (successful) end of the kernel Rust experiment”
por causa do feedback da comunidade de que o título original era exagerado
Segundo as diretrizes do Hacker News,
“o título original só deve ser alterado quando for enganoso”
porque experimentos fracassados não chegam ao fim
À pergunta “isso é importante?”,
Se os drivers do kernel Linux estiverem caminhando para Rust, fico curioso se os BSDs, como o FreeBSD, também vão passar pela mesma oxidação (oxidation)
ou se haverá resistência e divisão
Sou favorável a novas tentativas
Acho que, por causa da segurança de memória e da expressividade do Rust, vale a pena enfrentar essa dificuldade
Fico curioso sobre quais partes do kernel atualmente são escritas em Rust
Veja o artigo da Phoronix
Fico curioso sobre quanto unsafe existe no código Rust do kernel
antigamente havia muita reclamação de que unsafe era incômodo demais
Desenvolvedores de drivers quase não precisam usar unsafe
A maior parte do código é escrita em Rust seguro
Por exemplo, pwm_th1520.rs
contém apenas uma linha de unsafe para dar suporte a
SendeSync