O Curl, uma das ferramentas mais amplamente usadas para transferência de dados via rede, tomou uma decisão significativa: remover o suporte ao backend Hyper, que vinha sendo experimentado há alguns anos. O Hyper, escrito em Rust, foi introduzido como uma alternativa promissora ao backend nativo, trazendo a segurança de memória oferecida por Rust. No entanto, a falta de interesse entre usuários e desenvolvedores levou ao encerramento dessa iniciativa.
Por que o suporte ao Hyper foi removido?
Desde o início, a proposta do Hyper no Curl era atrativa: oferecer uma implementação HTTP segura e eficiente, utilizando Rust, uma linguagem que prioriza a segurança de memória. Apesar de sua introdução experimental ter sido patrocinada pela ISRG (Internet Security Research Group), a adoção do Hyper permaneceu limitada.
Conforme apontado por Daniel Stenberg, líder do projeto Curl, “não havia usuários pedindo por isso e quase nenhum desenvolvedor disposto ou qualificado para trabalhar nessa integração”. A necessidade de unir dois mundos – o código em C do Curl e o Hyper em Rust – demandava habilidades específicas que poucos desenvolvedores tinham interesse em adquirir.
Além disso, a sobrecarga de manter esse código experimental se tornou inviável diante da ausência de uma base de usuários engajada. A decisão de remover o Hyper reduz a complexidade e aumenta a agilidade no desenvolvimento do Curl.
Como isso impacta o futuro do Curl?
Com a remoção do Hyper, o Curl volta a contar apenas com sua implementação nativa de HTTP/1. Isso não significa que Rust foi completamente descartado. Atualmente, o Curl ainda suporta outros dois backends baseados em Rust:
- Rustls: utilizado para conexões TLS.
- Quiche: para suporte ao HTTP/3 e QUIC.
Ambos continuam experimentais, mas são mais integrados ao Curl do que o Hyper. O projeto mantém a possibilidade de explorar novas implementações baseadas em Rust no futuro, mas com estratégias mais claras e alinhadas às demandas dos usuários.
Aprendizado com a experiência
Apesar do encerramento, o esforço não foi em vão. Durante o processo, o Curl aprimorou sua arquitetura e aderência aos padrões HTTP. A troca de experiências com o Hyper também gerou melhorias para ambos os projetos, beneficiando usuários de Rust e do Curl.
Stenberg mencionou que a tentativa de integrar o Hyper foi válida, mas os desafios práticos acabaram superando os benefícios esperados. Ele também reforçou a abertura para revisitar ideias semelhantes no futuro, caso as circunstâncias mudem.
Conclusão
A remoção do backend Hyper marca uma mudança estratégica para o Curl. Enquanto a busca por segurança de memória em Rust continua sendo relevante, a decisão reflete a necessidade de equilibrar inovação e viabilidade técnica. A partir da versão 8.12, esperada para fevereiro de 2025, o código do Hyper será oficialmente retirado do Curl, sinalizando o fim de uma jornada experimental.
Se você usa Curl e deseja explorar novos recursos, fique atento às futuras atualizações e à evolução do projeto. Enquanto isso, a equipe continua comprometida em oferecer um produto confiável, eficiente e seguro.