Linus Torvalds deve aceitar linguagem Rust no Linux, mesmo que haja resistência
Pai do Linux teria falado sobre o assunto com um dos principais desenvolvedores do kernel. Comunidade tem debatido uso da linguagem Rust no lugar do C para alguns elementos.
Linus Torvalds, o "pai do Linux" (imagem: TED/Flickr)
Resumo
O desenvolvedor Christoph Hellwig afirmou que Linus Torvalds aceitará código em Rust no kernel Linux, mesmo com as atuais objeções de mantenedores.
Hellwig se opõe ao uso de Rust, especialmente em componentes de DMA, por temer uma maior complexidade na manutenção.
O uso de Rust no Linux foi aprovado em 2021, mas apenas para componentes específicos, sem substituir o código em C.
Há desenvolvedores defendendo o uso da linguagem de programação Rust no Linux, do mesmo modo que há aqueles que preferem que a linguagem C seja mantida. No meio dessa disputa, todo mundo olha para o “pai do Linux”. Ele já sinalizou: Linus Torvalds não vai se opor ao uso de código em Rust no kernel.
É o que relata Christoph Hellwig, um dos principais desenvolvedores do kernel. Ele se dedica principalmente a tarefas que envolvem abstrações de DMA (acesso direto à memória), um assunto bastante complexo.
De fato, Christoph Hellwig se opõe ao uso de Rust no Linux, pelo menos com relação a componentes de DMA. Basicamente, ele teme que a troca de linguagem torne o desenvolvimento do kernel mais complexo, prejudicando a sua manutenção no longo prazo.
Mas o próprio Hellwig relata que, em uma conversa privada, Linus Torvalds declarou a ele que definitivamente aceitará código Rust no Linux, mesmo se houver objeções dos mantenedores do kernel.
Mas, veja, Torvalds ainda não fez nenhum pronunciamento sobre isso na lista de discussão oficial do Linux. Provavelmente, só confirmaremos a postura de Linus nos próximos meses, caso ele aprove a implementação de elementos em Rust no kernel.
Apesar de Linus Torvalds supostamente sinalizar para a aceitação da linguagem Rust, Christoph Hellwig ainda se mostra resistente à ideia. Em um extenso e-mail recente sobre o assunto, ele comentou:
“Isso [o uso de Rust] transforma o Linux em um projeto escrito em várias linguagens sem que haja diretrizes claras sobre qual linguagem deve ser usada e para qual motivo.
(…) Gostaria de entender qual é o objetivo deste “experimento” com Rust: se quisermos corrigir problemas existentes com a segurança da memória, precisamos fazer isso para o código já existente e descobrir modos de adaptá-lo. Muito trabalho foi feito nisso recentemente e precisamos de muito mais.”
– Christoph Hellwig, desenvolvedor do kernel Linux
Tux no Ubuntu Linux (imagem ilustrativa: Emerson Alecrim/Tecnoblog)
Por que há quem defenda Rust no Linux?
Porque a linguagem Rust é considerada mais moderna e segura do que a linguagem C, a base do Linux. O Rust permite que desenvolvedores escrevam códigos que lidam com componentes críticos com menor risco de haver problemas com gerenciamento de memória.
Outras vantagens incluem confiabilidade, integração relativamente fácil com outras linguagens (a exemplo do próprio C), depuração (debugging) rápida, reutilização de código facilitada, ampla documentação e comunidade engajada.
Não por acaso, Linus Torvalds aprovou o uso da linguagem Rust no Linux no final de 2021. Isso não quer dizer que o Rust vai substituir todo código em C no kernel: a linguagem Rust seria usada apenas em componentes específicos, pelo menos na fase inicial.
O Linux chegou ao estado de confiabilidade atual por ter passado por numerosas etapas de aprimoramento e incorporação de recursos no decorrer de mais de 30 anos. Todo esse trabalho foi feito em C, logo, trocar tudo por Rust não só exigiria um trabalho monumental como poderia afetar aspectos como desempenho do sistema e eficiência de manutenção.
Por outro lado, há quem entenda que o uso de múltiplas linguagens em um projeto complexo como o Linux possa ter efeitos negativos no longo prazo. É o caso de Christoph Hellwig, como já sabemos. Contudo, há desenvolvedores que acreditam que as objeções ao Rust são sinais de resistência ao novo.
Pelo jeito, esse é um assunto que ainda vai render muitas discussões.
Emerson Alecrim cobre tecnologia desde 2001 e entrou para o Tecnoblog em 2013, se especializando na cobertura de temas como hardware, sistemas operacionais e negócios. Formado em ciência da computação, seguiu carreira em comunicação, sempre mantendo a tecnologia como base. Em 2022, foi reconhecido no Prêmio ESET de Segurança em Informação. Foi reconhecido nas edições 2023 e 2024 do Prêmio Especialistas, em eletroeletrônicos. Participa do Tecnocast, já passou pelo TechTudo e mantém o site Infowester.