[Industry News] curl锈化失败
Tofloor
poster avatar
wlly-lzh
deepin
2024-12-25 14:07
Author

curl 放弃对 Hyper Rust HTTP 后端的支持。

“实验结束了。我们努力了,但还是失败了。”

近日,知名开源项目 curl 的创始人 Daniel Stenberg 正式发文宣布,将放弃对基于 Rust 编写的 Hyper HTTP 后端的支持,并彻底移除相关代码

“四年前,我们开始在 curl 中添加对另一种 HTTP 后端的支持。它将使用一个基于 Rust 编写的库,名为 Hyper。我们的想法是引入一种替代的 HTTP 内部实现,让 curl/libcurl 使用它来代替本地实现。”Stenberg 在博客中写道。然而,这场实验在历经四年的努力后,以失败告终。

这一尝试始于 2020 年,由 ISRG(Let’s Encrypt 背后组织)资助。当时的目标是通过 Rust 的内存安全特性,为 curl 用户提供一个更安全的 HTTP 后端实现。Stenberg 在早期的博客中写道。“通过 Hyper,我们能够让更多代码运行在内存安全语言中,而非完全依赖 C。”

尽管实验已经推进了一大半,甚至让 Hyper 后端通过了几乎所有测试用例,但如同 Stenberg 在最新的博文中所述,“我们完成了 95% 的开发工作,然而,最后那‘百分之几’的挑战,还是让我们不得不认输,放弃这个实验。”

目前来看,实验失败的两大关键原因如下:

  • 几乎没人有这需求**:curl 的用户对 Hyper 没有兴趣;Hyper 的用户也不太关心让它兼容 curl。**
  • 缺乏同时精通 C 和 Rust 的开发者来推进:Hyper 是用 Rust 写的,而 libcurl 库(curl 背后的“引擎”)是用 C 写的,需要一个“胶水层”来把它们连接起来。这需要开发者不仅对两种语言精通,还要深入理解它们的架构和协议,但目前没有合适的人去做这件事。

此外,早在 2020 年开始这个实验时,Stenberg 就提到过“Hyper 没有 C API”是一个棘手的挑战。

参考链接:

https://daniel.haxx.se/blog/2024/12/21/dropping-hyper/

https://daniel.haxx.se/blog/2020/10/09/rust-in-curl-with-hyper/

https://curl.se/mail/lib-2024-04/0021.html

Reply Favorite View the author
All Replies
wlly-lzh
deepin
2024-12-25 14:08
#1

沙发自古楼主占

Reply View the author
ypli0629
deepin
2024-12-25 14:22
#2

有需要就绣化,没需要硬上肯定没啥好结果😂

Reply View the author
璀璨星空
deepin
2024-12-25 16:32
#3

不经想起之前凡狂吹它,甚至有种万物都应该基于rust才对

Reply View the author
wlly-lzh
deepin
2024-12-26 08:10
#4
璀璨星空

不经想起之前凡狂吹它,甚至有种万物都应该基于rust才对

Reply View the author
神末shenmo
deepin
Spark-App
2024-12-26 08:19
#5

主要原因还是curl跑的太稳定了以至于没有人有兴趣去替代他

Reply View the author