1
2022年7月,瑞典程序員丹尼爾·斯坦伯格收到了一封姍姍來遲的郵件, 郵件來自微軟,通知他的開源項目cURL獲得了微軟自由和開源軟體(FOSS)基金會的大獎。
FOSS每個月會選取一個項目進行資助,獎金是一萬美元,分十個月支付,cURL是今年1月份的贏家。
一萬美元的獎金對一個開源項目來說看起來不少,但是如果你了解cURL的話,就知道這和他的地位實在太不相稱了。
cURL提供了一個庫(liburl)和一個命令行工具,讓大家可以輕松地來傳輸數據。
它支持幾乎所有的傳輸協議,除了最知名的HTTP、HTTPS之外,還支持 FTP, FTPS, Gopher IMAP, Kerberos, LDAP, MQTT, POP3, RTSP, SCP, SMTP, SMB。
可以說,在數據傳輸領域,只有你想不到,沒有它做不到。
正是由于這個特點,它被廣泛地安裝在這些設備和軟體中:
Linux、Windows、iOS、Android、MacOS 等主流操作系統。
Nintendo Switch, Xbox and Sony PS5等游戲機。
Roku、Apple TV 等媒體播放器和機頂盒。
幾乎所有現有的物聯網設備如智能廚房和醫療設備、打印機、智能手表、智能汽車。
丹尼爾自己估計,curl以及liburl被安裝于全球超過100億台設備中!
100億台設備,即使每台設備給Daniel 0.01美元的話,他已經是億萬富翁了。
2
丹尼爾從1996年開始開發cURL,當時他就是想從一個網站上自動下載匯率數據,像大家一樣,他一開始先在網上找了一個開源的項目叫httpget,用得不亦樂乎。
但和大多數人不同的是,他后來成為了httpget的維護者,開始進一步擴展功能,增加了對Gopher和FTP的支持。
1998年3月,他正式發布了2200行代碼的cURL,悲催的是,并沒有多少人關注,兩年的時間只有區區300次下載。
但是丹尼爾毫不在意,他在業余時間不斷地打磨cURL,就是想提供一個良好的、快速的、可靠的傳輸工具。
這一打磨就是24年,到2021年,丹尼爾已經在上面花費了15000小時,平均每天1.78小時。
cURL發布了197個版本,支持26種傳輸協議,修復了6787個Bug,代碼增長到17萬行,也擁有了2300位貢獻者。
3
在商業世界中,丹尼爾的curl就像下圖的那個努力干活,但是并沒有多大回報的挖掘機一樣。
他的付出和對世界的貢獻并沒有獲得對應的回報!
大約在2004年,丹尼爾曾經從瑞典的Internet基金會申請資金,「以便獲取一些專注于curl的開發時間」,后來又從Adobe那里獲得了一些資金來支持SFTP的開發。
除此之外,在opencollective網站上,可以看到curl的贊助商和贊助個人,分為幾個等級:
Backer :每月5美元
Supporter :每月10美元
Sliver Sponsor :每月100美元
Gold Sponsor :每月500美元
我粗略計算了一下curl每月的捐贈收入是:
52*5 + 3*25 + 46*100 + 1*500 = 5435 美元
相比curl用戶的數量,這點錢完全不匹配。
就像微信公眾號篇篇10萬+,但是打賞只有幾塊錢。
當然,丹尼爾自己可能不會這麼想,他能24年如一日的維護curl,肯定不僅僅是因為金錢。
他在stackoverflow在回答關于curl動力的問題時說:
當然,二十多年每天都在做這件事,我有時候也會感到厭倦,有時會有障礙,有些事情很難,有些人也很丑陋和煩人.... 但是最大的獎賞時我知道我的代碼有助于推動無處不在的互聯網革命。
4
丹尼爾的境界非常之高,在對他深表敬意的同時,我們不由想到:
curl這麼厲害,這麼流行都難以帶來相匹配的收入,別的開源項目會怎麼樣呢?
粗略總結一下,開源軟體的發展有這些路徑:
1.自己搞了一個小開源軟體,star 不少,寫到簡歷中也有光彩
有不少程序員做到了這一步。
2. 開源軟體解決了一個重要的、非常細分領域的問題,主要作為庫的形式存在
典型的就是curl 、log4j、openSSL, 他們支持著全球互聯網的運行,知名度不高,相應收入也不高,出了問題還得背鍋。
開發者能堅持下去的純粹是愛好和成就感:我的軟體支撐著全世界的運轉,世界離了我不行。
3.開源軟體一不小心滿足了一個超級大的需求,有著巨大的商機。
于是成立了公司,社區版負責拉流量,商業版/企業版賣錢,順便做技術支持。
將來可能會被收購,運氣好還能上市,從此生活美滋滋。
這似乎是個主流的商業模式,典型的如Nginx、MySQL、Elastic Search、MongoDB、Docker、Redis、IDEA等。
可恨的是有些云廠商會把開源軟體拿過來包裝一下,當成云服務來賣,逼得開源軟體不得不修改協議。
4. 開源軟體實在太牛了,以至于各個巨頭公司都不得不低頭迎合,成立基金會來支持后續發展。
典型代表是Linux。