cURL項目作者Stenberg:開源項目的維護者是否應該無償提供任何支持?

開源,對大多數人來說是一個有情懷的詞,不少公司也把開源當做 KPI 或者技術宣傳的手段。但是,一個優秀的開源項目,可不止是公佈源碼就萬事大吉,還需要後續大量的精力去維護。開源究竟應不應該免費?如果開源項目堅持免費政策的話,如何長久維持下去?畢竟,維護開源項目的人也一樣要養家餬口。本文,Owen Williams 採訪了知名開源項目 cURL 的作者 Daniel Stenberg,聽他分享對上述問題的見解。

誰應該負責維護開源項目?

當購買類似Philips Hue智能燈或iPhone這樣的產品時,你可能認爲編寫代碼的開發者已經得到了對應的報酬。雖然這對那些直接開發產品軟件的人來說,確實如此。但實際上,幾乎每家科技公司都依賴於GitHub 和 GitLab 等網站的“開源”項目免費獲得大量代碼。

這些開發者常常樂於免費工作。編寫開源軟件可以提高他們的軟件開發技能,從社區中獲得觀點,或者只是通過無償提供創新來幫助某個行業發展。 Google 方面稱,它維護着數百個開源項目,認爲開源能夠“促進和鼓勵協作和技術開發,解決現實世界中的問題”。

但是,當數百萬人所使用的軟件是由一個社區或個人維護時,事情可能會變得非常糟糕。2014年的那次漏洞(Heartbleed)危及了數億個網站的安全,該漏洞是由一個名爲 OpenSSL 的開源庫出現的問題引起的,該庫只有一名全職開發者,由於數百萬人都在使用這些代碼,因此依靠他們的貢獻才使更新和修改代碼不出錯。有時候,開發者會因爲感到厭倦而放棄自己的項目,而這些項目可能會在他們不注意的時候被破壞。

此外,社區很難要求無償排錯的程序員繼續維護那些出於各種原因已經失去興趣的軟件,儘管有些公司肯定會嘗試這麼做。另一方面,如果不能對這些項目進行充分的維護,整個技術生態就會變得非常脆弱。因此,一些開源程序員會要求公司支付費用,此舉並不是爲了代碼,而是爲他們提供的服務付費。

Daniel Stenberg 就是其中之一。他創建了 cURL,是世界上最受歡迎的開源項目之一。

開發者使用 cURL 在兩個系統之間傳輸信息,通常是在 API 中,服務需要從另一個系統請求或發送數據。據 Stenberg 的說法,cURL 包含在數十億部智能手機、數億臺電視、至少 1 億輛智能汽車、每一部 iPhone 以及幾乎所有生活中可接觸到的其他現代設備和服務中。這一項目的使用規模巨大,不過那些依賴 cURL 的公司中,很少有能夠意識到這是Stenberg編寫的代碼。

Stenberg於1998年發明了cURL,至今仍然無償維護這個項目,不過他最近在一家名爲 wolfSSL 的公司謀到一份工作,這家公司正在給他付薪,讓他“儘可能全職”地維護這個項目。那些依賴特定開源軟件的公司偶爾會僱傭這些項目的創建者來構建項目。在這種情況下,wolfSSL 要求 Stenberg 不僅要維護 cURL 項目,還要負責簽署服務合同,爲 cURL 提供個人支持。

Stenberg 從未想到 cURL 會如此受歡迎。事實上,他過了很多年才知道 cURL 已經被廣泛使用。因爲代碼可以免費使用,且無任何商業許可,因此公司沒有理由告知他正在使用這個開源項目。他只是意識到他發明的軟件變得越來越流行,因爲人們開始告訴他,他們在軟件的“關於”窗口或者在軟件文檔中看到了他的名字。他說:“慢熱的程度如此之慢,我們從來就沒有預料到它會如此火爆。”

“我認爲,當人們覺得自己從項目中獲益很多,卻不願爲項目貢獻自己的一份力量,反而試圖利用我們,我會爲此感到非常惱火。”

在 cURL 問世後的 20 年裏,Stenberg 稱他是利用業餘時間維護這個項目,並通過從事其他軟件開發的工作獲得了穩定的收入。維護這個項目需要大量的工作:他耗費了數千個小時來改進 cURL、修復 bug 和改進代碼。在 GitHub 上爲 cURL 提供的 25000 個提交或更新中,Stenberg 就獨佔了 14000 個。這是讓人難望其項背的記錄,沒有其他軟件開發者對該軟件做出超過 2586 次的提交。

cURL 之所以能存活下來,要歸功於一批贊助商,他們爲項目的託管和其他費用提供了資金支持。不過,Stenberg 表示,沒有哪家大公司會願意出資,像 Stenberg 這樣的貢獻者免費捐贈自己的時間。Stenberg 說道,他相信開源的存在很重要,從未後悔過讓 cURL 開源。只是令他感到沮喪的是,當出現問題時,就會有公司要求他提供技術援助。

去年,由於 cURL 問題,一家海外公司暫停對數百萬臺設備的固件升級之後,驚慌失措地聯繫了他。Stenberg 說,“我不得不向他們解釋,我不能一接到通知就馬上趕到另一個國家去幫助他們解決這個問題,因爲 cURL 這個項目是我在業餘時間做的,而且我還有一份全職工作。”

不過,因爲他實在關心這個項目,所以匆忙找了朋友幫忙。他朋友立即趕飛機出國幫助解決了這個問題。

爲了補償開源程序員提供的這種服務,Stenberg 認爲,大公司應該爲庫的開發者提供支持,簽署合同並支付費用,這將補償他們的時間,並有助於確保一個項目真正得到長期維護。憑藉他在 wolfSSL 的工作,他希望能夠說服像 Apple 這樣的公司支付費用來換取專門的支持,但這一努力仍處於早期階段。

支持合同並不便宜,通常需要花費數千美元才能換取爲使用項目提供專門的幫助,以及出問題時給予技術支持。然而,需要這種服務的公司通常資金充足,或者覆蓋範圍廣泛,尤其是在 cURL 這種情況下。

目前還不清楚有哪些公司會對這樣的合同感興趣。當那家公司請他飛往另一個國家爲他們解決問題時,Stenberg 提出了支付費用的要求,被他們拒絕了。

這一事件讓他有了深深的挫敗感。他喃喃道,“我認爲,當人們覺得自己從項目中獲益如此之多,卻不願爲項目貢獻自己的一份力量,反而試圖利用我們,我會爲此感到非常惱火。”但他仍然將支持合同視爲維護開源的長期解決方案:“資金需要源源不斷流向作者,而不僅僅是被管理者或大型科技公司吸走,而這些公司現在往往能夠拿到最多的開源資金。”

但在開源社區中,有很多人反對以任何方式爲他們支付費用的想法,因此這仍然是一個有爭議的話題。開源社區的一些人認爲,貨幣化違背了“Free”(自由、免費)的宗旨,但現實是,那些無償工作的開發者與其他人一樣,也需要吃飯、養家餬口。

現在,當開發者或公司給 Stenberg 發電子郵件尋求幫助時,他說,“我的態度已經發生了轉變,傾向於‘嗯,或許,只是或許,你是不是應該簽署支持合同支付費用了?’”

當我問 Stenberg,他是否會永遠維護 cURL(此時 cURL 已問世 20 年了),他說他還沒有放棄維護這個項目的打算,畢竟這個項目已經成爲他生活的重要組成部分。

“當然,假設我拿到了報酬。”他補充道。

作者介紹:

Owen Williams,一名熱愛寫作的開發者,Medium 專欄作家,專寫未來科技及其如何影響人們的生活。

原文鏈接:

The Internet Relies on People Working for Free

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章