- O kernel Linux não é um projeto anti-IA, e a IA é uma ferramenta útil, como qualquer outra ferramenta
- Existem pessoas com rejeição a LLMs, mas, sobre esse assunto, ele adota uma posição firme como maintainer principal
- A utilidade da IA em si já não é mais tema de debate, e ele aponta que quem duvida disso na prática não a utilizou
- A solução é fazer com que as ferramentas de LLM ajudem os maintainers, em vez de lhes causar sofrimento; não vai obrigar ninguém a usar, mas vai ignorar argumentos que tentem impedir seu uso
- O projeto do kernel toma decisões com base em vantagens técnicas e reafirma que é um projeto centrado em tecnologia, não movido por medo de novas ferramentas
Contexto da controvérsia
- Cita um argumento anterior de Roman Gushchin: uma posição anti-LLM tornaria impossível alcançar o objetivo do sashiko, que é dar suporte aos maintainers
- Se a ideia central é não usar LLMs de modo geral, a proposta é discutir essa questão em si, em vez de complicar cada caso de uso individual
- Menciona que determinada posição parece, de forma geral, bastante anti-LLM
- Em resposta, reconhece com um "Yes" que essa posição é anti-LLM, mas deixa claro que essa não é a posição do kernel Linux
Posição sobre IA
- O Linux não é um dos projetos anti-IA, e quem tiver problema com isso pode fazer um fork ou ir embora, como é comum no open source
- A IA é uma ferramenta como as outras que usamos, e claramente é útil
- Há 1 ano isso talvez não fosse tão "claro", mas hoje já não há mais dúvida
- Ainda restam outras perguntas, como qual será no fim a viabilidade econômica da IA, mas "é útil?" já não faz mais parte dessas perguntas
- Quem duvida disso, na prática, não usou IA
A dupla face das ferramentas de IA e a solução
- Reconhece que a IA pode ser uma ferramenta um tanto dolorosa
- Pelo lado da carga de trabalho dos maintainers
- Pelo fato de que ela "continua encontrando bugs constrangedores"
- A solução não é enfiar a cabeça na areia e gritar "La La La, não estou ouvindo"
- A solução é fazer com que as ferramentas de LLM ajudem os maintainers, em vez de lhes causar dor
- Ele não vai obrigar ninguém a usar, mas vai ignorar de forma bastante pública quem discutir para impedir que outros usem
Visão sobre a imperfeição da IA
- Reconhece que a IA não é perfeita
- Mas quem aponta problemas na IA ao mesmo tempo deveria apontar para si mesmo no espelho
- A inteligência natural (natural intelligence) também nem sempre é excelente
A natureza fundamental do projeto do kernel
- O projeto do kernel sempre foi e continuará sendo sobre tecnologia
- O aspecto social do trabalho em open source é importante e motivador, mas é apenas um benefício secundário, não o objetivo do projeto
- Este projeto não é um tipo de projeto "social warrior", nunca foi e nunca será
- O motivo de a comunidade do kernel fazer open source não é religioso, mas porque isso leva a uma tecnologia melhor
- Portanto, as decisões são tomadas com base em vantagens técnicas, e não no medo de novas ferramentas
2 comentários
Comentários no Lobste.rs
A comunidade do kernel diz fazer open source em busca de tecnologia melhor, mas essas ferramentas de IA são quase o oposto do open source. Também é questionável se uma assinatura da Anthropic pode mesmo ser chamada de “ferramenta”.
Depois de décadas criticando a “viralidade” da GPL, agora ninguém pisca quando a IA generativa toma conta de toda a indústria de software.
Até desenvolvedores que querem trabalhar no kernel estão sendo forçados a escolher entre sair, fazer um fork ou virar objeto de experimentos da OpenAI, Anthropic, Google, Meta, X etc.
É interessante que ele tenha usado esse exemplo ao criticar a FSF e a postura de brandir ética como arma. A questão ainda não está encerrada, porque podemos estar vivendo em uma linha do tempo em que a FSF conclui que “também é possível aplicar e fazer cumprir a GPL sobre produtos generativos de baixa qualidade” e a GNU recomenda vibe coding aos seus fiéis. Também há contexto relacionado neste e-mail.
O ponto central de Linus parece ser menos que ele discorda da FSF em um caso específico e mais que, de modo geral, ele não é do mesmo tipo de grupo que a FSF. Ainda assim, é estranho ver mantenedores de FLOSS aceitarem com tanta facilidade uma caixa-preta que eles não conseguem ajustar, inspecionar ou corrigir, exceto implorando em Markdown. É ainda mais irônico por se tratar de alguém que criou diretamente o kernel, um sistema de controle de versões e até um editor, embora talvez Linus, pessoalmente, não tenha grande motivo para se importar.
No anúncio inicial do Git, ele também deixou claro que considera open source a forma correta de criar software, mas que, ao usar software, quer a ferramenta mais adequada para o trabalho.
A inteligência natural não incendeia o planeta, nem exige financiar um sistema de exploração e sofrimento para ser usada.
A cultura varia muito entre projetos open source, e o quanto uma comunidade é priorizada parece prever muito bem a atitude em relação ao uso de LLMs. Não surpreende que projetos que valorizam muito mais a comunidade sejam mais negativos em relação à IA.
O argumento a favor dos humanos é mais ou menos que esse custo já foi pago, então convém aproveitá-lo; no fim, também pesa bastante o fato de gostarmos de nós mesmos.
Em vez de explodir emocionalmente porque o mundo não se move como se deseja, é mais razoável reconhecer a escolha individual. Não porque o individualismo seja maravilhoso, mas porque as alternativas são piores; por isso esse debate sempre acabou voltando ao individualismo.
Ghostty, Godot, Zig e curl trataram esse debate sobre “escolha individual” de forma muito mais razoável, embora não estivessem no contexto de uma mailing list.
Vendo o Open Slopware de alguns meses atrás, o Lisp against the (LL)Machine de ontem e agora isto, parece impossível evitar código gerado por LLM na computação cotidiana, a menos que a pessoa fique deliberadamente presa a um ambiente de computação retrô e congele o tempo.
A Torre de Babel vai desabar de forma bagunçada, mas, para participar da sociedade, não há opção a não ser subir junto. O que dá para fazer é não contribuir para isso e preservar sistemas antigos para depois do colapso. Já é difícil até fazer um fork do Emacs; imaginar um fork do Linux é complicado.
Talvez agora seja a hora de migrar totalmente para o NetBSD.
https://www.netbsd.org/developers/commit-guidelines.html
O NetBSD considera código gerado por LLMs como GitHub/Microsoft Copilot, OpenAI ChatGPT e Facebook/Meta Code Llama como código contaminado, e não permite commits sem aprovação prévia por escrito da equipe central.
Já havia montanhas de software ruim escrito por humanos. Pelo menos agora um engenheiro bem-intencionado e solidamente competente pode subir a corrente com a ajuda de um modelo local.
Dizer “se há um problema, faça um fork” é como se um fork fosse uma tarefa absolutamente trivial.
Na prática, há pouco espaço aqui para um compromisso significativo.
O mantenedor do projeto considera que revisão de código baseada em agentes é útil, tem valor independente e não cria problemas éticos. Por outro lado, se alguém acredita que não deve ler esse resultado, está pedindo ao mantenedor que escolha entre adotar o que considera melhor para o projeto ou seguir uma visão ética que eles não compartilham.
Se for uma ferramenta usada apenas no computador pessoal, é possível coexistir. Não estou dizendo que projetos que rejeitam IA, como Zig, devam usar LLMs, mas em projetos que permitem IA, usuários e não usuários podem conviver.
Porém, em infraestrutura compartilhada e revisão de código, é necessário algum grau de consenso. Se você faz review com um bot em um projeto que rejeita reviews de IA, estará quebrando as normas do projeto, então dificilmente será bem-vindo.
Se houver gente suficiente contra, o mantenedor pode abrir mão da ferramenta para não perder pessoas, ou pode ser persuadido pelas preocupações éticas. Caso contrário, quem se opõe precisa engolir a objeção e ficar, ou sair como preço por manter seus princípios.
Com o tempo, espero que os projetos continuem se dividindo entre os que excluem revisão de código por IA e os que a tornam obrigatória. Esse deveria ser um reconhecimento da realidade que apoiadores e opositores da IA podem compartilhar.
Escolher entre vim e Emacs não afeta diretamente os colegas desenvolvedores, então não é motivo para sair de um projeto. Já o uso ou a recusa de LLMs geralmente afeta todos os membros.
No começo achei que Linus estava um tanto confuso, mas, depois de ler também o texto da outra pessoa, o lado de Linus parece mais sensato.
Mas Linus interpretou isso erroneamente como uma exigência de impor essa ética a toda a comunidade, e respondeu que não usar IA é apenas uma escolha pessoal que não deve afetar os outros, e que a ética deve ficar restrita à vida pessoal.
Em seguida, comparou Laurent a alguém que tenta obrigar todo mundo a ser vegetariano, mas o que Laurent pediu foi não ser obrigado a comer carne.
Bem ao estilo Linus: apresenta um ponto sutil e, ao mesmo tempo, insulta todo mundo ao alcance da voz.
A inteligência natural não está incendiando a Terra, nem é preciso financiar um sistema de exploração e sofrimento para usá-la.
Acho que não é bem assim...