查看原文
其他

cURL,一个传输了25年的开源软件

21CTO 21CTO 2023-10-21

导读:开源软件作者 Daniel Stenberg 隆重庆祝了 curl 开源项目 25 周年,并同时发布了 curl 8.0.0,这个命令行工具是第 215 次发布,所有创作者举行了一次远程庆祝活动。

Daniel Stenberg 是著名抓取与通信开源软件curl 的作者。

Daniel Stenberg 本尊

curl 这个名字最初的拼写呈现为“cURL”,以强调其功能,代表着 “URL 客户端”或“客户端 URL 请求库”或者递归形式的“curl URL 请求库”。

为了标题的美观,我也采用了cURL的拼写方式。

curl 是一个命令行工具和库,用于透过 URL 传输数据。当它安装在具有命令行访问权限的机器上时,curl就能通过文本式命令,使用多种网络协议向服务器发送数据,当然,它也可以从服务器获取数据。

任何编写过网络交互程序的开发人员都会使用过 curl,或者经常使用。

curl 已经包含在多个编程语言中。目前,已经有数十亿设备依赖于 curl ——包括汽车、手机、机顶盒、路由器和其他类似产品的内部数据传输。

Daniel Stenberg 说:

“curl 项目开始时非常低调,它只是一个重新命名的小型 URL 传输工具,在最初的几年,几乎没有人知道它”。

curl 的第一个版本在 1998 年 3 月 20 日首次亮相。它有 2,200 行代码,其改编自名为 httpget 和 urlget 的项目。

Stenberg 回想并解释说,curl 4.0 仅仅支持3种协议:HTTP、GOPHER 和 FTP,还有 支持 24 个命令行选项。

而现在的 8.0.0 版可以处理 28 个协议和支持 249 个命令行选项。

“curl 的第一个版本并不是什么特别的事件。因为我发布 httpget 和 urlget 版本已经一年多了,虽然用的是一个新名称,但它相当于‘另外一个版本’,因为我已经做过很多次了”。

很快,curl 便开始支持 HTTPS 和 TELNET。

根据 Stenberg 的说法,curl 最初依据通用公共许可证 (GPL) 发布,到 1998 年底改换在 Mozilla 公共许可证 (MPL) 之下。2001 年,curl 又添加了一个与 MIT 许可证接近但不完全相同的新许可证。在2002 年,它取消了 MPL 许可证。

该项目已成为一个主流软件。Stenberg 说他的目标只是随着时间推移不断改进。在他和其它贡献者努力的这些年中,curl 不断壮大,在 2010 年达到了数亿次安装。

如今,保守估计,curl 已安装超过 100 亿次。

截至 2023 年初,curl 包含 155,100 行代码。它已经包含来自 2,800多人的贡献,以及 1,100 多名提交作者,他们创建了超过 30,000 次提交。

另外,curl 代码修复的错误赏金总计超过 48,000 美元。

在庆祝 curl 25 周年之际,Stenberg收到了该软件的各种用户的感谢信。可是在两年前,他也收到了一位不满意的用户的死亡威胁。(相关阅读:cURL作者遭死亡恐吓

Stenberg 在瑞典生活和工作,他在25 周年纪念帖子中表达了对用户的感谢,因为它,他能够在全球的支持下专心致志地开发。

最开始,curl 只是定位一个业余爱好。之后他于 2019 年被 WolfSSL 高薪聘用,并专注于curl。同时,他还感谢许多使该项目继续发展的贡献者。

虽然已经过了 25 年,对于未来, Stenberg 说他尽量避免做出预测。他仍旧低调地表示:“我希望这个项目保持活跃,继续从事客户端网络传输,只要它有趣并实用,并且人们仍想使用我的工作成果。”

是的,curl 可能永远无法到达最终版本。在 curl 8.0.0 首次发布仅仅7小时后,Stenberg 就又推出了8.0.1 来修复了一些小小错误。

艺无止境,迭代优化始终是现在时。

作者:洛逸
相关阅读:

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存