為什麼開源?cURL作者:讓世界變得更美好
cURL 是一個利用 URL 語法在命令列下工作的資料傳輸工具。
它於 1998 年首次釋出,支援的協議包括 DICT、FILE、FTP、FTPS、Gopher、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、POP3、POP3S、RTMP、RTSP、SCP、SFTP、SMB、SMBS、SMTP、SMTPS、Telnet 和 TFTP。
它還用於汽車,電視機,路由器,印表機,音訊裝置,行動電話,平板電腦,機頂盒,媒體播放器,是每天影響數十億人的數千種軟體應用的網際網路傳輸主幹。
cURL作者其人
cURL 的作者是 Daniel Stenberg,目前是 cURL 的核心開發者,同時也是 IETF HTTPbis 工作組的資深成員。
Daniel Stenberg近照
Daniel Stenberg本人是瑞典人,他獲得了2019年的波爾姆(Polhems)獎,其中包括一枚金牌和250,000瑞朗(約合31,000美元),用來獎勵他建立cURL,這是一個在當今互聯世界中不可或缺的開源專案。
波爾姆(Polhems)獎,每年只頒發一次,用來獎勵“高階技術創新或技術問題的巧妙解決方案。 ”
該獎項以科學家和發明家克里斯托弗·波爾姆(Christopher Polhem,1661-1751)命名,波爾姆被稱為瑞典工程之父。該獎項成立於1876年,比諾貝爾獎早成立近20年,1878年頒發一等獎。做為瑞典歷史最悠久,最負盛名的技術創新獎,以及眾多獲獎者名單的評選,包括並不限於授予瑞典國民這一榮譽。
1997年首次釋出.cURL目前釋出於7.56.0版本。cCURL在GitHub上,任何人都可以加入它的開源社群。
Daniel Stenberg在他的部落格daniel.haxxe.se中這樣寫道:
我是Daniel Stenberg,是cURL的首席開發人員,受僱於Mozilla。我很高興獲得獎項,一個脾氣有些暴燥的人。
在瑞典國王卡爾·古斯塔夫十六世將向他頒發這一獎項,他承認在收到有關新聞時的反應感到震驚:
我?獎品?他們怎麼找到我或弄清楚我做什麼了?
他接著解釋了為什麼事實上獲得了人們最大的認可:
我因為長時間開發cURL而獲得此獎項,通過其為全世界提供了具有重要價值的網際網路基礎設施。我沒有賣掉它,也沒有從這個愛好中獲得大量的商業收入,但我的程式碼現在幫助世界上數不清的裝置,機器和其他連線的東西提供動力。
我不習慣被人注意或獲得獎勵。我習慣於獨立處理錯誤,合併補丁和回覆使用者郵件。我不希望外人注意我做了多少事情,我很難向朋友和“凡人”解釋我實際上正在做什麼。
我接受這個獎項,不是作為一個單一的發明者或任何事物的聰明人,而是像一艘船的船長,有著大量不同身份的船員。如果沒有他們,我將永遠不會達到這個目標。我很興奮,被提名找到了我和我們快樂的專案,我的夥伴心胸開闊,足以看到並意識到開源專案的價值和地位,這個專案幾乎無處不在。我感到非常榮幸。
我認為一個開源專案獲得這種關注和認可,這非常酷。
cURL會一直開源免費嗎?
近日在瀏覽 StackOverflow 的時候,有開發者發表了一個這樣的問題 —— “What is the incentive for curl to release the library for free?”。
大意是想知道 cURL作者為什麼會選擇將其開源並且免費提供。

這名開發者表示最近開始在自己的 VC++ 專案中使用 libcurl,並且瞭解到 curl 和 libcurl 不但開源,而且完全免費。他好奇作者這樣做純粹是為了幫助開發者嗎?
沒想到 Daniel Stenberg 親自現身回答,他詳細解答了這位開發者的疑問。以下內容編譯自 Daniel 在問題下的回答。
Daniel 在 1998 年建立並編寫了最初版本,並建立了 libcurl 庫。到目前為止,程式碼倉庫包括的 24000 次 commit 中有超過一半是 Daniel 本人提交的,他依然是專案的核心開發者。Daniel 表示將 cURL 當作自己的孩子一樣。
Daniel 在完成 cURL的第一版後就將其開源,之所以選擇開源,是因為他使用過很多開源軟體,並從中獲益甚多,而回饋開源世界的最好方式當然還是「開源」,而且他也想跟其他開源作者一樣 cool。
因為開源,來自全球各地的成千上萬開發者參與進來一起幫助改進 curl,包括專案本身、文件、網站以及其他的周邊細節。Daniel 認為,如果當初沒有選擇開源,cURL 和 libcurl 絕對不會有今天的成就。現在的貢獻者名單已超過 1900 個名字,並且每年保持幾百個名字的速度新增中。
正因為開源和不受限制的使用許可,cURL和 libcurl 推出後就被許多產品採用,並被迅速整合到無處不在的作業系統和 Linux 發行版上,最終覆蓋的範圍超乎想象。
最後也正因為 cURL的這種“無處不在”,它被全球各地的人們使用 —— 從而成為了一個事實上的標準「傳輸庫」。Daniel 表示不會為 curl 選擇一個“合適”的許可證進而向用戶收取費用,過去不會,未來也不會這樣的計劃。
為什麼現在仍參與到 curl 的開發中
Daniel 解釋了自己仍繼續參與開發 cURL並免費提供給大家使用的原因(Daniel 表示他不能代表其他的 cURL開發成員,每個人都有自己參與到其中的原因,所以下面只是他的個人觀點):
我認為這仍然是一件值得去做的事。我為自己所取得的成就感到驕傲,我也真心想讓世界變得更美好,但我覺得 cURL在這方面做得很少。
還要修復 bug 和增加新功能!
雖然 curl 是免費的工具,但我的時間不是,我有一份收入不錯的工作來保證生活。curl 獲得的捐贈足以維持它的發展,並保證它足夠自由和中立而不被任何人和機構所控制。
curl 作為我的業餘時間專案已有二十年,而投身到 curl 讓我認識到了更多的朋友、改變了我的生活,還把我帶到了我曾以為不會去的地方。
如果能重來,我還是會這樣做。
雖然 cURL已有矚目的成就,但 Daniel 依舊在不斷改進它,修復錯誤、增加功能等,希望能為開發者提供最優秀的檔案傳輸解決方案。
二十年來,一如既往地堅持一個專案會累嗎?Daniel 表示這是當然的,偶爾會感到疲倦,畢竟這不是一項輕鬆的工作,而且有時候問題會很困難,而外界的聲音有時也不是那麼友好。但 cURL作為他生命的一部分,經歷了困難時刻後,大部分的時光都是很美好的 —— 可以和優秀的人共事,而獎勵也不一般:自己編寫的這些程式碼參與到了推動網際網路革命發展的程序中。
會有結束的那一天嗎?Daniel 表示 cURL永遠不會結束,他認為,到目前為止,開發 cURL是他能想象到的最有趣的工作。即使這項工作已經持續了二十年,他仍然這樣認為,並計劃堅持下去。
編譯:文龍