為什麼開源?curl作者:讓世界變得更美好
本文轉自 | OSC
筆者今日在瀏覽 Stack Overflow 的時候,看到有開發者發表了一個這樣的問題 —— “What is the incentive for curl to release the library for free?”,大意是想知道 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 的原作者是 Daniel Stenberg (目前是 cURL 的核心開發者),同時也是 IETF HTTPbis 工作組的資深成員。
這名開發者表示最近開始在自己的 VC++ 專案中使用 libcurl,並且瞭解到 curl 和 libcurl 不但開源,而且完全免費。他好奇作者這樣做純粹是為了幫助開發者嗎?
沒想到 curl 作者本尊 Daniel Stenberg 親自現身回答,他詳細解答了這位開發者的疑問。以下內容編譯自 Daniel 在問題下的回答。
Daniel 在 1998 年建立了 curl 專案,他編寫了最初的 curl 版本,並建立了 libcurl 庫。到目前為止,程式碼倉庫包括的 24000 次 commit 有超過一半是 Daniel 本人提交的,他依然是專案的核心開發者。Daniel 表示已將 curl 視為自己的孩子。
Daniel 在完成 curl 的第一版開發後就將其開源了,和許多開源作者一樣,Daniel 表示之所以選擇開源 curl,是因為他使用過很多開源軟體,並從中獲益甚多,而回饋開源世界的最好方式當然就是「開源」,而且他也想跟其他開源作者一樣 cool。
因為開源,來自全球各地的成千上萬開發者參與進來一起幫助改進 curl,包括專案本身、文件、網站以及其他的周邊細節。Daniel 認為,如果當初沒有選擇開源,curl 和 libcurl 絕對不會有今天的成就。現在的貢獻者名單已超過 1900 個名字,並且每年保持新增幾百個名字的速度。
正因為開源和不受限制的使用許可,curl 和 libcurl 推出後就被許多產品採用,並被迅速整合到無處不在的作業系統和 Linux 發行版上,最終覆蓋的範圍超乎想象。
最後也正因為 curl 的這種“無處不在”,它被全球各地的所有人使用 —— 從而成為了一個事實上的標準「傳輸庫」。
據統計,curl 在全球擁有大約 60 億的安裝量,它執行在數十億部行動電話、Windows 10 裝置、遊戲機和電視機上,毫無疑問 curl 是世界上使用最廣泛的網路傳輸庫。而這離不開最初建立它的人選擇將它開源。
Daniel 表示不會為 curl 選擇一個“合適”的許可證進而向使用者收取費用,過去不會,未來也不會這樣的計劃。
▍為什麼現在仍參與到 curl 的開發中?
Daniel 解釋了自己仍繼續參與開發 curl 並免費提供給大家使用的原因(Daniel 表示他不能代表其他的 curl 開發成員,每個人都有自己參與到其中的原因,所以下面只是他的個人觀點):
我認為這仍然是一件值得去做的事。我為自己所取得的成就感到驕傲,我也真心想讓世界變得更美好,但我覺得 curl 在這方面做得很少。
還要修復 bug 和增加新功能!
雖然 curl 是免費的工具,但我的時間不是,我有一份收入不錯的工作來保證生活。curl 獲得的捐贈足以維持它的發展,並保證它足夠自由和中立而不被任何人和機構所控制。
curl 作為我的業餘時間專案已有二十年,而投身到 curl 讓我認識到了更多的朋友、改變了我的生活,還把我帶到了我曾以為不會去的地方。
如果能重來,我還是會這樣做。
雖然 curl 已有矚目的成就,但 Daniel 依舊在不斷改進它,修復錯誤、增加功能等,希望能為開發者提供最優秀的檔案傳輸解決方案。
二十年來,一如既往地堅持一個專案會累嗎?Daniel 表示這是當然的,偶爾會感到疲倦,畢竟這不是一項輕鬆的工作,而且有時候問題會很困難,而外界的聲音有時也不是那麼友好。但 curl 作為他生命的一部分,經歷了困難時刻後,大部分的時光都是很美好的 —— 可以和優秀的人共事,而獎勵也不一般:自己編寫的這些程式碼參與到了推動網際網路革命發展的程式中。
會有結束的那一天嗎?Daniel 表示 curl 永遠不會結束,他認為,到目前為止,開發 curl 是他能想象到的最有趣的工作。即使這項工作已經持續了二十年,他仍然這樣認為,並計劃堅持下去。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31545808/viewspace-2643282/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 為什麼有些遊戲上了NS之後,就變得更“好玩”了?遊戲
- SVG-讓世界變得柔軟SVG
- “奧爾良計劃”專案開源:微軟想讓開發工作變得更簡便微軟
- LEARUN快速開發平臺,讓開發變得更簡單
- 作者親述:開源軟體給作者帶來什麼?
- 為什麼軟體開發方法論讓你覺得糟糕
- 為什麼我變成了開源主義者
- 沒有 Linux 和開源軟體的世界會變得怎麼樣Linux
- 分析:Google讓我們變得更愚蠢嗎Go
- 如何讓 Emacs 俄羅斯方塊變得更難Mac
- Smartour——讓網頁導覽變得更簡單網頁
- 讓動畫變得更簡單之FLIP技術動畫
- WPF自定義Panel:讓拖拽變得更簡單
- 面對“失業焦慮”我們可以做些什麼?讓 AI 幫助自己變得更強大!AI
- 淺析--為什麼軟體開發方法論讓你覺得糟糕?
- 直擊JDD | 共建智慧新城 京東雲讓城市生活變得簡單美好
- 為什麼開源資料庫改變許可證?資料庫
- CUPS讓Linux列印變得更輕鬆(轉)Linux
- 軟體工程--為什麼軟體開發方法論讓你覺得糟糕軟體工程
- 作為一個開源軟體的作者是一種什麼樣的感受?
- curl 作者 Daniel Stenberg 計劃:將為 curl 新增原生支援 JSONJSON
- 為什麼這個世界對開源與免費無動於衷?
- 2022 開源之夏 | Serverless Devs 陪你“變得更強”Serverdev
- RubyMine 2023: 讓Ruby開發變得更簡單 mac/win版Mac
- 是誰讓基於開源技術的雲變得“魔幻化”?
- 如何讓遊戲世界變得更加真實?“自由”就夠了遊戲
- 是什麼讓資料分析師變得優秀?- Cassie Kozyrkov
- 為什麼要貢獻開源
- 我能為開源做些什麼?
- 為什麼寫程式碼讓人家覺得你很厲害?
- 如何讓開發變得敏捷起來?敏捷
- [樂譯 第11期] 為什麼軟體開發方法論讓你覺得糟糕?
- 認知增強技術,讓人類變得更聰明
- 為什麼軟體最終會變得複雜 - Alex Gaynor
- Google 開源主管解釋為什麼開源“殘酷”Go
- 如何用Serverless讓SaaS獲得更靈活的租戶隔離和更優的資源開銷Server
- 與網易、騰訊雲合作, 這家公司想讓遊戲開發變得更簡單遊戲開發
- API開發 – 讓異常變得優雅API