cURL abandona el soporte para Hyper, el backend HTTP en Rust, por falta de demanda

El proyecto cURL, ampliamente utilizado por desarrolladores y administradores de sistemas, ha eliminado oficialmente el soporte para su experimental backend HTTP basado en Rust, Hyper. Tras varios años de desarrollo y pruebas, la decisión refleja la falta de interés tanto de los usuarios como de los desarrolladores para mantener esta integración.

Antecedentes del backend Hyper

El backend Hyper, presentado como una característica experimental, tenía como objetivo aprovechar las capacidades de seguridad de memoria de Rust para mejorar la implementación HTTP de cURL. La iniciativa, patrocinada inicialmente por el Internet Security Research Group (ISRG), conocido por su trabajo en Let’s Encrypt, buscaba integrar las robustas características de Rust con la base de código existente en C de cURL.

Los objetivos del backend Hyper incluían:

  • Proporcionar una alternativa más segura en términos de memoria a la implementación nativa de HTTP en cURL.
  • Ofrecer una arquitectura modular que pudiera ampliarse con el tiempo.
  • Responder al creciente interés de la industria en Rust como lenguaje de programación seguro.

A pesar de estas ambiciones, el backend experimental no logró captar la atención de los usuarios ni atraer el interés de los desarrolladores.

Los desafíos del experimento

Daniel Stenberg, desarrollador principal de cURL, explicó los motivos de la decisión en un artículo de su blog:

«Esperábamos que los usuarios adoptaran la seguridad de memoria proporcionada por Rust y que contribuyeran a completar el trabajo. Pero no hubo usuarios pidiéndolo, ni desarrolladores con las habilidades necesarias en Rust y C dispuestos a continuar el esfuerzo.»

La complejidad de integrar dos lenguajes tan diferentes supuso un reto significativo. Mientras que cURL está escrito en C, Hyper es una biblioteca en Rust, lo que requería una capa intermedia de enlace para unir ambos. Esto hizo que el mantenimiento y desarrollo del backend fuera extremadamente complicado y demandante de recursos.

Stenberg destacó que, aunque el 95% del trabajo estaba completado, el 5% restante requería un esfuerzo considerable. Sin una demanda activa de los usuarios ni interés de los desarrolladores, el equipo de cURL decidió eliminar el código para simplificar el proyecto y reducir las cargas de mantenimiento.

Lecciones aprendidas y mejoras realizadas

A pesar de que el experimento fue finalmente abandonado, el equipo de cURL destacó varios resultados positivos:

  • Mejora en el manejo de HTTP: El esfuerzo por integrar Hyper llevó al equipo a reevaluar y perfeccionar el comportamiento de cURL con HTTP, resultando en un manejo más estricto y preciso.
  • Beneficios para Hyper: La colaboración aportó comentarios útiles que ayudaron a mejorar la biblioteca Hyper, beneficiando a su comunidad de usuarios.
  • Arquitectura interna mejorada: La experiencia fortaleció la arquitectura interna de cURL, lo que podría facilitar futuras integraciones con otros backends.

Estado actual y posibles perspectivas futuras

Con la eliminación del backend Hyper, cURL vuelve a contar con una única implementación nativa de HTTP/1. Sin embargo, el proyecto sigue soportando backends basados en Rust para TLS (rustls) y HTTP/3 (quiche), ambos marcados como experimentales pero mejor integrados en la arquitectura de cURL.

Stenberg expresó su disposición a retomar la idea de otros backends HTTP en el futuro, destacando que el proyecto ahora tiene una base más sólida para intentarlo.

¿Cuándo tendrán efecto los cambios?

El código del backend Hyper fue eliminado oficialmente del repositorio de Git de cURL el 21 de diciembre de 2024. La próxima versión, cURL 8.12.0, programada para febrero de 2025, ya no incluirá ningún rastro de este código experimental.

Agradecimientos y reflexiones finales

Stenberg agradeció a Sean McArthur, desarrollador principal de Hyper, y a todos los que colaboraron en la integración:

«Aunque el experimento no tuvo los resultados esperados, nos ayudó a mejorar y avanzar. Estamos agradecidos con todos los que participaron en este camino.»

Esta decisión pone de manifiesto los desafíos de equilibrar la innovación con la practicidad en proyectos de código abierto. Aunque el backend Hyper ya no estará disponible, el compromiso de cURL con la mejora y la evolución sigue siendo inquebrantable.

vía: Daniel Haxx

Suscríbete al boletín SysAdmin

Este es tu recurso para las últimas noticias y consejos sobre administración de sistemas, Linux, Windows, cloud computing, seguridad de la nube, etc. Lo enviamos 2 días a la semana.

¡Apúntate a nuestro newsletter!


– patrocinadores –

Noticias destacadas

– patrocinadores –

¡SUSCRÍBETE AL BOLETÍN
DE LOS SYSADMINS!

Scroll al inicio
×