
【CSDN 編者按】歷經 197 次版本更新,原始碼從 1996 年的 300 行到如今的 172,000 行,月下載量高達 15,600 GB,支持 26 種傳輸協議……cURL 作者 Daniel Stenberg 在個人網站回顧了該專案歷史,
作者 | Daniel Stenberg
譯者 | 彎月
出品 | CSDN(ID:CSDNnews)
以下為譯文:
cURL 于 1998 年 3 月 20 日正式發布,就在那一天,我發布了一款名叫 cURL 的工具源代碼,我給這款工具取名叫做 cURL 4.0,因為我保留了以前使用過的版本號,或者更確切地說,我將版本號從 3.12(之前叫做 urlget)升級到了最新版本 4.0,
當然,cURL 并不是在那一天一蹴而就的,cURL 的誕生可以追溯到一年多以前:1996 年 11 月 11 日,一款名叫 httpget 的工具發布了,由 Rafael Sagula 開發,我找到了這個專案,并開始向其貢獻代碼,httpget 0.1 只有一個 C 檔案,代碼不足 300 行,
當初,我參加這個專案,是因為我想擁有一個小工具,定期從網站上下載貨幣匯率,并將下載到的資料提供給我的 IRC 機器人,
當時,這只是一個很不起眼的決定,卻沒想到對我接下來的生活產生了這么大的影響,從那以后,cURL 就成為了我最喜愛的業余專案之一,幾年后,又成了我的全職作業,
Wget 第一版(1.4.0)也發布于 1996 年 11 月的這一天,這個專案之前發布的時候采用了另一個名稱,但我當時并不知道這個工具,因此我采用了 httpget,也有可能我知道這個工具,但因為大小的問題放棄了它,Wget 1.4.0 壓縮包為 171KB,
不久之后,我成為了 httpget 的維護人員,并進一步擴展了它的功能,后來,我又添加了對 Gopher 和 FTP 的支持,并將它重命名為 urlget,1998 年春天,我還添加了 FTP 上傳的支持,該工具的名稱再次引起了誤解,因此我需要再想一個名字,
起名字太難了,我想找一個簡短的、經典 Unix 風格的單詞,沒過多久,我就想到了一個有趣的單詞,這個工具適用于 URL,并且是互聯網客戶端的工具,“ c ”代表客戶端,再加上“ URL ”,所以就組成了“ cURL ”,這個名字看起來很貼切,很有意思,而且簡短,非常 Unix 風,
后來,我想讓 cURL 遵循 Unix 的傳統,支持管道和 stdout 等,我希望 cURL 能夠像 cat 命令一樣使用,只不過處理物件是URL,因此可以默認將 URL 發送到終端中的 stdout,就像 cat 一樣,然后,我們就可以查看(“ see ”)URL 的內容了,字母 C 的發音與“ see ”相同,所以“ cURL ”也就是“ see URL ”,一語雙關,(只不過發音還是“ kurl ”!)
我打包好了 cURL 4.0,并發布到了全世界,當時代碼為 2200 行,幾個月后,我完成了 cURL 4.8 版,這要感謝另外 7 位開發人員做出的貢獻,后來,又經過了將近 7 年的時間,cURL 的開發人員終于到了 100 位,如今,我們的開發人員已經超過了 2300 名,而且每年都有數百名新增人數,cURL 并不是一個單人專案!

沒有大起大落
cURL 沒有經歷過大起大落,在第一版發布 14 天后,我上傳了 4.1 版,其中包含一些錯誤修復程式,之后便延續了數十年的傳統:繼續發布新功能和錯誤修復程式,“快速頻繁的發布”是我們一直堅持的口號,
1998 年晚些時候,我們已經完成了 15 次發布,并在網站上發表了以下宣告:


300 次下載!
我從來沒幻想過這個專案和工具能夠征服全世界,我只希望它能夠快速可靠地完成互聯網傳輸,而這也是我努力實作的目標,
為了向全世界提供更好的互聯網傳輸,我們引入了 libcurl 庫,該庫于 2000 年夏季首次交付使用,而這也讓我們的專案達到了更高的水平,如今,libcurl 已發展成為互聯網傳輸的標準 API ,
現在 cURL 已經 23 歲了,cURL 的作業重點以及我的主要任務始終沒有變,我相信,隨著時間一天天過去,如果 cURL 能取得一定的成功,那一定是因為 cURL 的一個特殊的品質,用一個詞概括就是:堅持!
我們一直在堅持,我們堅忍不拔,一直在努力,經過了兩年的時間,cURL 才獲得了 300 次下載,又經過了 10年 的時間,才真正得到了廣泛使用,
2008 年,cURL 網站每月提供的下載資料量大約為 100 GB,而本月它的下載服務資料已經超過了 15,600GB,在過去的 156 個月中,cURL 的資料量增加了156 倍!但是實際上,大多數用戶都不會從我們的網站下載任何內容,他們的url 是從發行版或作業系統提供商那里獲得的,
1998 年末,cURL 被紅帽 Linux 采用,1999 年 5 月發展成為了 Debian 軟體包,并于 2001 年 8 月在 Mac OS X 10.1 中發布,如今,Windows 10、iOS 和 Android 設備中也默認采用了 cURL,還有各種游戲機,任天堂的Switch、Xbox 和索尼的 PS5 等等,
有趣的是,盡管兩大主流移動作業系統都使用了libcurl,但是它們并沒有提供API,因此許多應用(包括許多超大容量應用)都捆綁了自己的 libcurl 構建:YouTube、Skype、Instagram、Spotify、Google Photos、Netflix 等,這意味著大多數智能手機用戶的手機中都單獨安裝了很多次curl,
此外,一些熱門的計算機游戲也使用了 libcurl:俠盜獵車手 V 、堡壘之夜、絕地求生、荒野大鏢客 2 等等,
libcurl 還為十億五千萬臺電視的媒體播放器和機頂盒(如 Roku,蘋果 TV )提供了支持,
幾乎每一臺互聯網服務器中都用到了 curl 和 libcurl,而且 PHP 的默認傳輸引擎也是 cURL和 cURL,全世界有將近 20 億個網站,其中 80% 都可以找到 cURL 和 libcurl 的身影,
如今,汽車也進入了互聯網時代,而幾乎每輛現代汽車都使用 libcurl 在車輛之間來回傳輸資料,
除此之外,還有媒體播放器、家電、醫療設備、列印機和智能手表等許許多多的“智能”物聯網設備,凡是通過互聯網傳輸資料的設備都運行了 curl,
我沒有夸大其詞,全球 cURL的安裝次數超過了一百億,

孤獨而堅強
多年以來,我曾嘗試過幾次讓 cURL 加入某個上層組織,但是沒有人接受我們,也許這就是最好的安排,我們完全獨立,不依賴于任何組織或公司,我們可以按照自己的意愿行事,不必遵循任何規則,在過去的幾年中,我們拿到的贊助和捐贈大幅增加,因此能夠支付大額的漏洞賞金等,
我和 wolfSSL 提供了 cURL 的商業支持,為的只是讓 cURL 更加強大,我相信:我可以花費更多時間來開發 cURL ,隨著 cURL 的發展壯大,越來越多的公司都會感覺越來越安全,最終 cURL 可以讓我們每個人都變得更好,
截止到 2021 年 3 月,當年的那 300 行代碼已經增長到了 172,000 行,

未來
對我們來說,最重要的作業是確保穩定性,我希望打造最可靠的互聯網傳輸庫,同時支持更多平臺,
但是,為了保持吸引力,我們還需要與時俱進,適應新的協議和習慣,支持新的協議版本,提供更好的處理方式,在棄用一些功能的時候,本著為用戶負責的心態,謹慎為之,避免傷害用戶,
短期內,我認為我們需要努力確保 HTTP/3 正常作業,打造出色的 Hyper 后端,并決定 rustls 后端的去向,
經過了 23 年的發展,我們仍然沒有宏偉的目標可以為我們提供指導,我們會緊跟互聯網和用戶的腳步,勇往直前!

23 個 curl 的統計數字
在 23 周年之際,我統計出了如下 23 個有關 curl 的數字:
-
1998 年 3 月,cURL 只有 2200 行代碼,但到了 2021 年,經過了 23 年的發展,cURL 的代碼行數已經增長到了 170,000 行,
-
經過了 23 年的發展,cURL 支持的 TSL 庫多達 14 種,
-
在這 23 年間,共計 2,348 位貢獻者為 cURL 提供了幫助,
-
在這 23 年間,cURL 一共經歷了 197 次發布,
-
在這 23 年間,cURL 一共修復了 6,787 個 bug,
-
23 歲的 cURL 在全球范圍內的安裝次數超過了一百億,
-
在 cURL 專案發展的 23 年間,我們一共收到了來自 871 位貢獻者提交的代碼,
-
在這 23 年間,cURL 的官方 docker 鏡像一共收到了 9.35 億次拉取(每秒 83 次拉取),
-
在這 23 年間,至少 22 個汽車品牌使用了 cURL ,
-
在這 23 年間,cURL 專案每次收到提交和請求都將運行 100 個 CI 作業,
-
在這 23 年間,我在 cURL 專案上總共付出了 15,000 多個小時,
-
經過了 23 年的發展,兩大主流移動作業系統及其設備都采用了 cURL,
-
在這 23 年間,已知已有 86 種不同的作業系統運行了 cURL,
-
在這 23 年間,共計 2.5 億臺電視機運行了 cURL,
-
23 歲的 cURL 可以支持 26 種傳輸協議,
-
在使用 cURL 的時候,有 36 個不同的第三方庫可供選擇安裝,
-
在這 23 年間,已有 22 種不同 CPU 架構運行了 cURL ,
-
在這 23 年間,我們為漏洞賞金共支付了 4400 美元,
-
23 歲的 cURL 共有 240 個命令列選項,
-
經過了 23 年的發展,如今 cURL 網站每月下載量高達 15,600 GB,
-
經過了 23 年的發展,如今的 libcurl 一共有 60 個系結,程式員可以通過任何語言輕松地傳輸資料,
-
在這 23 年間,cURL 的操作所涉及的相關 RFC 協議的總字數為 1,327,449 字,
-
在 23 周年之際,cURL 擁有一名創始人兼首席開發,
原文鏈接:https://daniel.haxx.se/blog/2021/03/20/curl-is-23-years-old-today/
宣告:本文由CSDN翻譯,轉載請注明來源,
<hr>
CSDN協同行業大佬,攜手打造13長熱門知識圖譜及IT成長路線,助力千萬IT人成長,快速實作職場進階!

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/272165.html
標籤:AI
