“Aquela porcaria de código torna o mundo um lugar pior”; é a opinião do criador do Linux sobre uma modificação na nova versão do kernel

Vamos combinar, ele tinha razão

Não deixe Linus Torvalds bravo / Imagem: Marcos Merino via IA
Sem comentários Facebook Twitter Flipboard E-mail
victor-bianchin

Victor Bianchin

Redator
victor-bianchin

Victor Bianchin

Redator

Victor Bianchin é jornalista.

1051 publicaciones de Victor Bianchin

Espera-se que a versão 6.17 do kernel Linux seja lançada em menos de um mês, o que significa que o prazo para os desenvolvedores enviarem seu código para inclusão (ou, em termos técnicos, fazer um pull request) para a nova versão do kernel já está encerrado.

Mas um deles, que enviou sua contribuição no último minuto, acabou ganhando certa fama na comunidade Linux após receber uma bronca pública do próprio criador do Linux.

Palmer Dabbelt, engenheiro da equipe Android do Google, contribuiu com um código específico para a arquitetura RISC-V que não só foi enviado no último momento, como também incluía modificações em cabeçalhos genéricos do kernel, os quais Linus Torvalds considerou contraproducentes.

O resultado foi uma resposta firme — no seu estilo característico, claro — na qual se recusou a integrar o código nessa versão.

Lembrando que, exatamente um mês antes, Torvalds protagonizou outra polêmica ao eliminar de uma vez 10 anos de trabalho no kernel relacionados a um componente (o sistema de arquivos Bcachefs).

Nesse caso, a gota d’água (porque o problema já vinha de antes) foi outro descumprimento de prazo: lançar um pull request com novas funcionalidades numa fase de desenvolvimento em que só deveriam ser feitas correções de problemas existentes.

O que aconteceu

O código em questão foi enviado na última sexta-feira, praticamente no fechamento da janela de integração, que terminou domingo, com o lançamento da primeira release candidate do Linux 6.17. Torvalds rejeitou o código alegando duas razões. Primeiro, como já mencionamos, porque o envio foi tardio. O segundo: “Enviar um grande pull request no dia anterior ao fechamento da janela na esperança de que eu esteja ocupado demais para me importar não é uma estratégia com futuro”, disse ele.

O problema se agrava porque, dias antes da polêmica, Torvalds já havia avisado vários mantenedores que, devido a uma viagem iminente, agradeceria receber as contribuições até mesmo antes do habitual.

Segundo, porque o patch incorporava “código lixo” em cabeçalhos que não eram exclusivos da arquitetura RISC-V:

“Isso adiciona várias porcarias que não são específicas de RISC-V para arquivos de cabeçalho genéricos. E quando digo ‘porcaria’, falo sério. Isso é algo que ninguém deveria enviar jamais, não importa o quão tarde você chegue na janela de integração. [...] É lixo inútil que torna o código incompreensível para qualquer usuário. [...] A gente gostaria que não houvesse lixo dentro das partes específicas de RISC-V, mas isso é escolha sua. No entanto, não vou deixar que os cabeçalhos genéricos sejam contaminados por essas besteiras.”

No Linux, as modificações relacionadas a uma arquitetura devem se limitar — salvo em casos muito justificados — à árvore de código daquela arquitetura específica. Assim, “contaminar” cabeçalhos comuns teria afetado todo o ecossistema.

Além disso, citando detalhes concretos do código, Torvalds chegou a afirmar que o patch “tornava o mundo um lugar pior para se viver” porque dificultava entender a ordem dos argumentos.

Então... pull request rejeitado, com um recado para a próxima:

“Você está avisado. Nada de pull requests atrasadas, e nada de lixo fora da árvore RISC-V. [...] Pode tentar de novo no 6.18. Na janela de integração. E sem o lixo.”

Dabbelt, por sua vez, optou por responder de forma conciliadora: “Vou parar de enviar atrasado, e espero que isso ajude com os problemas de qualidade”. Também deu a entender que está disposto a ajustar o escopo do código para evitar mexer desnecessariamente em cabeçalhos genéricos.

Imagem | Marcos Merino via IA

Este texto foi traduzido/adaptado do site Xataka Espanha.

Inicio