Topo

Log4j: quando programas gratuitos falham, quem paga o conserto?

Big techs exploram tempo livre dos desenvolvedores ao lucrar sob softwares gratuitos e não retribuírem  - Arif Riyanto/ Unsplash
Big techs exploram tempo livre dos desenvolvedores ao lucrar sob softwares gratuitos e não retribuírem Imagem: Arif Riyanto/ Unsplash

Gabriel Daros

De Tilt, São Paulo

22/12/2021 04h00Atualizada em 23/12/2021 10h42

Sem tempo, irmão

  • Maior desastre de segurança digital da década estava sendo resolvido de graça por nove programadores
  • Empresas dependem de programas de código aberto, mas não pagam os desenvolvedores
  • Voluntários mantém os projetos na esperança de serem notados por big techs

"Mandando abraços para o povo do Log4j. Esta deve estar sendo uma sexta-feira extraordinariamente de merda para eles", tuíta um usuário a Volkan Yazici, no dia 10 deste mês. O desenvolvedor, responsável por uma das ferramentas mais críticas da infraestrutura digital de hoje, está correndo contra o relógio, sem dormir, para resolver uma falha virtual considerada a mais grave da década. E tudo isso sem ganhar um tostão.

Yazici e seus colegas estão resolvendo a famigerada falha do Log4j. O produto, uma biblioteca de software de registro de dados em Java, apresentou uma brecha que permitia a hackers injetarem códigos maliciosos remotamente nos programas que o utilizam. Na prática, isso significa que cibercriminosos com pouquíssima experiencia possam invadir máquinas sem o usuário fazer nada.

Com os primeiros registros datando de 24 de novembro, segundo uma nova análise da Bloomberg. A informação só veio ao público no dia 10 de dezembro. Cibercriminosos, empresas e pesquisadores largaram tudo o que faziam no sábado para encontrar falhas, ou se proteger delas.

A vulnerabilidade do Log4j colocou o mundo da segurança digital em chamas - e Yazici sentia o corpo todo queimar. Num rompante de raiva, desabafou com uma resposta ao tweet recebido:

"A equipe de manutenção do Log4j esteve trabalhando sem dormir em medidas de mitigação; correções, docs, CVE [registro da falha], respostas a questões, etc. Ainda assim nada está impedindo as pessoas de nos criticar, por trabalhos que não somos pagos, por um recurso que todos nós odiamos e ainda assim precisamos manter devido a preocupações com retro compatibilidade."

Quem paga a conta do código grátis?

Até o lançamento do patch de correção 2.16.0, nove pessoas trabalharam incessantemente, em turnos que iam das 4h da manhã até as 6h da manhã do dia seguinte, em um projeto que era para ser só uma forma de passar o tempo livre. O Log4j foi desenvolvido para ser totalmente em "código aberto": com acesso e uso gratuitos, e manutenções feitas pelos próprios programadores. E foi adotado em massa pelas maiores empresas de tecnologia do mundo (e no espaço).

Para as empresas, o Log4j é uma biblioteca em Java que foi vista como uma solução gratuita para um problema muito básico: o logging. Seja para checar o surgimento de bugs, condições da máquina, ou para lembrar quantas vezes o nome de alguém foi pesquisado, os programas precisam registrar os acontecimentos — algo que é custoso, demorado e, sobretudo, tedioso.

"É a tal história do 'inventar a roda'", explica Fábio Assolini, especialista da Kaspersky, em entrevista ao Tilt. "Pra quê que eu vou inventar a roda se alguém já inventou e eu posso adicioná-la ao meu projeto?"

Yazici sabe muito bem disso. No mesmo dia do desabafo, abriu o jogo com outro tweet:

"Quer apoiar o desenvolvimento do Log4j? Além de se envolver na programação, você pode patrocinar seus desenvolvedores," e cita o perfil de um dos colegas que recém havia resolvido uma das falhas.

Na página do suporte da biblioteca Java, os desenvolvedores esclarecem que o único apoio recebido vem da Apache Software Foundation (ASF), empresa responsável pela linguagem de programação Apache. O dinheiro fornecido pela instituição é apenas para manutenção do Log4j no ar.

"Enquanto alguns projetos na ASF têm funcionários que são especificamente pagos para trabalhar no projeto, nenhum dos dedicados a qualquer um dos projetos de Serviços de Logging são diretamente pagos para trabalhar neles", conclui a nota.

Nem sempre é dando que se recebe

A situação levanta um velho problema da internet. Empresas de tecnologia estão habituadas a explorar o modelo open source e defender a produção livre e gratuita de programas — para acabar explorando-as, sem dar nada em troca.

No último trimestre fiscal deste ano, por exemplo, o Google arrendou US$ 4,9 bilhões nos períodos de julho a agosto, na subdivisão de serviços de nuvem. O último relatório financeiro da Apple também aponta que, no período de junho a setembro de 2021, a empresa arrendou US$ 18,27 bilhões no seu segmento de serviços. Ambos os segmentos das duas big techs utilizam o Log4j em seus produtos.

Fillipo Valsorda, um dos programadores e funcionários do Google, explica que este status quo do mercado é insustentável para os profissionais que fazem a manutenção dos serviços open source — normalmente voluntários ou empregados de grandes empresas de tecnologia.

"Eles sentem uma responsabilidade tremenda, mas no fim não podem ser esperados em perseverar diante de um burnout, uma mudança em circunstâncias de vida (como ter um filho ou mudar de emprego), ou mesmo uma mudança de prioridades", comenta o especialista em nota.

O desenvolvedor ainda afirma que os modelos de apoio presentes, como as plataformas de financiamento do Patreon, ou doações pelos canais de apoio de projetos de programação GitHub, passam longe do dinheiro necessário para esta responsabilidade. Mesmo iniciativas consideradas bem-sucedidas do open source recebem um valor muito baixo — cerca de US$ 1 mil por mês. O número passa longe do salário de cargos equivalentes no mercado: um engenheiro de software sênior ganha em média de US$ 150 a 300 mil por ano no mercado internacional.

Divulgação, não diversão

Gabriella Gonzalez, no entanto, acha que o problema vai um pouco mais além do apoio financeiro. Em uma análise, a engenheira de software da Arista Networks comenta que Yazici e os outros responsáveis pelo Log4j tinham ideia de que a falha existia - e não fizeram nada para evitar problemas de compatibilidade. E que mesmo com o apoio financeiro, ele não seria resolvido.

"Os mantenedores do projeto Log4j sabiam que um de seus recursos menos conhecidos era provavelmente problemático (embora talvez eles subestimassem o impacto)", comenta.

Ao alterar as versões da biblioteca por conta própria, grandes empresas poderiam deixar de funcionar corretamente, e acabariam parando de usá-la. Na prática, isso se torna mais uma derrota para os projetos open source: o único sinal de sucesso que possuem é demonstrar quem utiliza seus serviços.

"O incidente é o sintoma de um problema maior: muitas empresas grandes e de capital aberto são exploradoras e abusivas, e projetos open source que 'pagam pau' para estas empresas grandes não estão fazendo favores a si mesmas", lamenta a desenvolvedora.

Como resultado, profissionais que mantém seus projetos em tempo livre, como Yazici, continuam trabalhando em seu tempo livre na esperança de que uma grande empresa os note - e abram suas portas em retribuição. Até lá, suas vidas estarão sujeitas a uma esperança de notoriedade. E até lá, podem ter de pagar um preço alto demais.