Por que a observabilidade foi fundamental para a transição nativa da nuvem do Citigroup
19 de abril de 2024Criando um cluster EKS sem codificação manual
19 de abril de 2024O criador do SEATTLE – Linux, Linus Torvalds, sentou-se na quarta-feira para uma “entrevista principal” no Open Source Summit North America da Linux Foundation em Seattle. Torvalds foi entrevistado por Dirk Hohndel, um dos primeiros contribuidores do Linux (e atualmente chefe do escritório do programa Open Source da Verizon) – no que foi classificado como um “bate-papo ao lado da lareira”.
Mas o que veio à tona claramente foi o amor de Torvalds pelo desenvolvimento de código aberto – e como isso tem acontecido no mundo real, repleto de problemas de segurança upstream, IA exagerada e bugs de hardware de outras pessoas.
Embora a conversa deles tenha começado com uma troca humorística…
Hohdel: Todos nós sabemos que o desenvolvimento do kernel inclui muito drama e muitas discussões de alto risco… Por exemplo, um tópico realmente importante que mais uma vez apareceu é tabulações versus espaços.
Torvalds: Ah, Cristo…
Problemas além do seu controle
Hohndel disse que os sites de notícias de tecnologia que cobrem a inserção de guias de Torvalds (para detectar ferramentas de análise que não conseguem convertê-las adequadamente em espaços em branco) são uma espécie de triunfo para o projeto de código aberto – um “sinal da maturidade e da saúde do Linux, que um pequeno comentário poderia gerar artigos de notícias.
Mas então Hohndel passou ao tópico de “problemas que estão fora do seu controle, com os quais você acaba lidando de qualquer maneira” – e especificamente, “mais uma rodada de bugs de hardware”. Torvalds concordou que coisas como o recém-descoberto exploit Spectre v2 eram frustrantes – mas não pelo motivo óbvio.
“Comecei a fazer kernels porque estou interessado no hardware”, destacou Torvalds. Mas ele também adora o desenvolvimento de código aberto, e “O que é muito, muito frustrante é que você tem esses problemas tecnicamente interessantes, mas eles são transformados em uma experiência horrível por causa de todo o sigilo…”
“Meu medo é que o RISC-V cometa os mesmos erros que todos os outros cometeram antes deles.” – Linus Torvalds
E Torvalds disse que é frustrante para os desenvolvedores de software de reação rápida enfrentarem o ritmo mais lento de desenvolvimento de hardware. (“Ah, temos cinco gerações de hardware que não podemos consertar depois do fato, e levará mais alguns anos até que o novo hardware real que possa ajudá-lo a solucionar o problema seja lançado.”) “Isso acaba sendo muito frustrante – com todo o lado adicional de todas as relações públicas que acompanham quaisquer questões de segurança.”
Hohndel perguntou se as coisas melhorariam com hardware de código aberto – especialmente após cinco anos de desenvolvimento do RISC-V. Mas Torvalds não está convencido. “Meu medo é que o RISC-V cometa os mesmos erros que todos os outros cometeram antes deles… Quando o RISC-V se tornar uma plataforma grande e amplamente implantada, eles terão os mesmos problemas que tivemos no Lado ARM, e que o x86 tinha antes deles. E levará algumas gerações para que eles digam: ‘Ah, não pensamos nisso’ – porque eles têm novas pessoas envolvidas.”
Mas se o hardware for desenvolvido abertamente, isso não tornará mais fácil para os desenvolvedores de software alertá-los contra a repetição de erros do passado?
“Há um abismo bastante grande entre o Verilog (a linguagem padrão de descrição de hardware) e até mesmo o kernel”, respondeu Torvalds, “muito menos no topo da pilha, onde você está trabalhando tão longe do hardware, que você realmente não tem ideia de como o hardware funciona. Portanto, é realmente difícil trabalhar nesse abismo tão grande de coisas.”
Hohndel fez então uma observação interessante. Dez anos atrás, era difícil até mesmo migrar do x86 para uma nova plataforma, mas “Hoje, a maioria das pessoas nem sabe quando está executando um Graviton (AWS)… ou um chip AMD ou Intel. Na nuvem, tudo parece exatamente igual, com as mesmas especificações de software. Apenas o preço é diferente.”
E Torvalds diz: “Essa foi uma das promessas do código aberto. E as pessoas diziam que isso era verdade há 10 anos.
“E não era verdade há 10 anos. Mas certamente está chegando a esse ponto agora.”
Confiando na confiança
Mas recentemente a comunidade de código aberto enfrentou um forte lembrete de que os problemas de segurança também podem vir de outra direção – da comunidade de mantenedores. Quando questionado sobre a recente exploração do xz Util, Torvalds compartilhou sua própria perspectiva – começando por enfatizar que mesmo o software proprietário depende da confiança. “(Os usuários) dependem da confiança na empresa. Mas também dentro da empresa você depende da confiança – nos seus funcionários. E essa confiança pode ser violada.”
“E como descobrir quando está sendo violado é um problema em aberto.”
Torvalds falou com décadas de experiência. Mesmo um projeto de código aberto de longa data como o Linux “já viu isso antes”, disse Torvalds, lembrando um incidente de 2021 em que pesquisadores da Universidade de Minnesota testaram como seria fácil fazer upload de patches de kernel ruins. (“Na verdade, é um estudo interessante. Eles simplesmente não o fizeram muito bem. Eles não contaram isso a terceiros e apenas nos enviaram patches ruins.”) Mas agora o ecossistema de código aberto viu um verdadeiro ataque malicioso. tentativa de upstream código incorreto – e em um mundo onde, como diz Torvalds, “ninguém realmente tinha portas explícitas para tentar capturar isso”.
No entanto, Torvalds também vê um sinal de esperança. Quer seja xz ou aqueles patches ruins que os alunos tentaram enviar para o kernel em 2021, “Em ambos os casos, eles foram detectados muito rapidamente”. E esse fato “parece implicar uma quantidade bastante forte de estabilidade – e que essas coisas são detectadas”.
Mesmo com isso, Torvalds reconhece que “é claramente um alerta – não há dúvida sobre isso… Acho que veremos muito trabalho sendo colocado em algum tipo de modelo de confiança, onde as pessoas vejam, ‘ Ah, esta é uma nova pessoa’, ou ‘Esta é uma pessoa que está agindo de forma diferente de antes.’
Hohndel destacou que dentro da comunidade de desenvolvedores Linux, os requisitos de assinatura incluem uma reunião presencial – e um documento de identidade emitido pelo governo. E Torvalds concordou com a ideia de Hohndel de que a melhor defesa é uma comunidade saudável.
Hohndel prosseguiu observando que “O kernel do Linux tem uma comunidade incrivelmente grande, mas também incrivelmente profundamente entrelaçada e conectada, onde existem relacionamentos de vários anos e de várias décadas no centro de tudo isso.”
Mas isso provocou um lembrete de Torvalds – que o kernel do Linux é um projeto de código aberto atípico. “Muitos projetos de código aberto, mesmo os mais centrais, são basicamente executados por uma, duas ou três pessoas…”
IA para código aberto?
A certa altura, Hohndel introduziu o tema da IA, notando previsões sombrias de que um dia eliminará programadores, autores, criadores de filmes e empregos. “Então você será substituído por um modelo de IA.”
“Finalmente!” Torvalds brincou.
Respondendo com mais seriedade, Torvalds acrescentou: “Não… eu odeio o exagero… Minha opinião pessoal é, vamos esperar 10 anos e ver onde isso realmente vai antes de fazermos todos esses anúncios malucos de ‘Seu emprego acabará em cinco anos’. .”
Mas e quanto à IA nas ferramentas de codificação? Torvalds admitiu que estava “otimista” em relação à IA e “ansioso pelas ferramentas para realmente encontrar bugs”. Com os desenvolvedores de kernel (e outros projetos) já usando religiosamente as ferramentas que possuem, “tornar as ferramentas mais inteligentes não é uma coisa ruim”.
Ele chamou as ferramentas mais inteligentes de “apenas o próximo passo inevitável… Mas não acho que seja necessariamente a tristeza e a desgraça que algumas pessoas dizem que é, e definitivamente não acho que seja o mundo prometido que as pessoas que estão tendo a mão em busca de dinheiro, diga que sim.”
Houve uma troca engraçada quando Torvalds alertou seu público: “Você precisa ser um pouco cínico sobre todo esse ciclo de hype na indústria de tecnologia… Antes da IA era criptografia, antes da criptografia, era o que quer que fosse”.
“Nativo da nuvem”, sugeriu Hohndel. (Acrescentando mais tarde que ouviu “Isso não é exagero!” de uma “voz alta na frente”.)
Mas Torvalds reiterou o seu apelo para avaliar as notícias com cuidado. “Quero dizer, o hype? Há sempre um grão de realidade por trás disso. Mas você precisa ter cuidado com todas as besteiras em torno desse grão.”
O ponto do código aberto
Ao longo da entrevista de meia hora, houve vislumbres do que motiva Torvalds pessoalmente, após mais de 30 anos de desenvolvimento do kernel Linux. Quando Hohndel disse que Dados Abertos eram quase a questão mais interessante, Torvalds respondeu reflexivamente “Não, não é”, antes de acrescentar “Não para mim”. Mas a Linux Foundation tem projetos de Dados Abertos, e “para outras pessoas é mais interessante. E isso é, eu acho, o todo – para mim, o objetivo do Open Source é que pessoas diferentes estão interessadas em coisas diferentes… Eu sempre estive interessado nos detalhes de baixo nível de como a CPU realmente funciona. É por isso que ainda estou trabalhando no kernel.”
Perto do final, Torvalds disse que não planejava iniciar nenhum novo projeto. “O Linux para mim resolveu todos os problemas que tive, em 92, talvez em 93. E se não fosse pelo fato de que outros vieram e disseram ‘Ei, eu preciso disso’, eu não teria continuado.”
As coisas que mantêm os projetos em andamento são “o fato de que ‘Ei, isso é realmente útil para outras pessoas’”. Porque se for apenas algo para mim, não será realmente interessante no longo prazo.”
A postagem Linus Torvalds sobre segurança, IA, código aberto e confiança apareceu pela primeira vez em The New Stack.