開源項目到底歸誰管?

致敬為免費提供開源軟件而辛苦勞作的開發人員。

开源项目到底归谁管?

作者 | JOEL M. MOSKOWITZ

出品 | CSDN(ID:CSDNnews)

當你購買利浦Hue的智能燈或iPhone之類的產品時,你可能會認為編寫代碼的人獲得了報酬。對於直接編寫產品軟件的人來說確實如此,然而每個技術公司還需要依賴無數的免費代碼,比如從GitHub和GitLab等網站上的“開源”項目獲得免費代碼。

通常,這些開發人員也很樂意免費工作。他們通過編寫開源軟件提高自己的技術力,從社區中獲取反饋,或者免費提供創新來幫助行業發展。Google維護了數百個開源項目,據其稱開源“推進並鼓勵技術的協作與開發,以解決現實問題。

但是,當數百萬人使用的軟件僅由一個社區或一個人維護,而且這些人都是免費的義工,那麼有時就會出現意外情況。2014年,災難性的“心臟出血”bug瓦解了數億個網站的安全性,背後是一個名為OpenSSL開源庫中的一個問題引發的,該庫雖然有數以百萬計的人在使用,但負責更新和修改代碼的只有一個專職開發人員,試問我們又怎能奢望他不會犯錯呢?有時,開發人員會感到厭倦而放棄他們的項目,而這些項目也會在不經意地遭到破壞。

我們不能要求免費工作的程序員排查問題,或繼續維護由於某種原因而失去興趣的軟件,儘管有些公司還是會嘗試。另一方面,沒有得到適當維護的項目會導致整個技術生態系統變得脆弱。因此,有些開源程序員要求各個公司付費,不是為了獲得他們的代碼,而是為了獲得他們的支持服務。

Daniel Stenberg就是這樣的一名程序員。他創建了cURL,這是世界上最受歡迎的開源項目之一。

開發人員可以利用cURL在兩個系統之間傳輸信息,通常某個API的服務需要從另一個系統請求數據或從另一個系統發送數據。根據Stenberg的說法,數十億部智能手機,“數億”臺電視和至少1億部智能汽車,以及基本上你每天接觸的所有現代聯網設備和服務都使用了cURL。鑑於Stenberg在志願者社區的協助下負責了絕大部分維護工作,因此說cURL的使用規模實在令人震驚。但是,在諸多依賴他的代碼的公司中,很少有公司意識到這是他的代碼。

居住在瑞典斯德哥爾摩附近的Stenberg於1998年創建了cURL,至今仍免費維護該項目,儘管他最近在一家名為wolfSSL的公司工作,現在該公司付錢讓他“儘可能全職”地為公司工作。有時,依靠特定開源軟件的公司會僱用項目的創建者來構建這些項目,因此wolfSSL要求Stenberg不僅要維護cURL,而且還與他簽署了提供cURL個人支持的服務合同。

Stenberg從未沒想到cURL的知名度會如此之高。實際上,自從這款軟件誕生以來,過了很多年才得到了廣泛使用。由於這些代碼無需任何商業許可即可免費使用,因此各個公司在使用的時候都沒有告訴他。他發現自己創建的軟件越來越流行,是因為有人告訴他在軟件的“關於”窗口或其他文檔中看到了他的名字。他表示:“這是一個循序漸進的過程,我都沒有預料到。”

Stenberg說,在創建了cURL的前20年中,他只是利用業餘時間管理這個項目,同時還在從事其他“真正的軟件開發工作”來維持生計。該項目的維護工作量巨大:他花費了數千小時來提升cURL、修復bug和改進代碼。cURL的GitHub存儲庫中總共有25,000個“提交”和更新,其中有14,000個來自Stenberg。其他開發人員貢獻的代碼都沒有超過2,586個提交。

cURL倖存了下來,歸功於一系列贊助商,他們贊助了該項目的託管和其他費用(儘管Stenberg說沒有大型公司參與其中),以及Stenberg等開發人員免費貢獻了自己的時間。Stenberg說,他相信開放源代碼的存在很重要,而且他從未後悔開放cURL的源代碼。然而,令他感到失望的是,如果出現問題,各個公司則要求他提供幫助。

去年,一家海外的公司由於cURL的問題而不得不暫停了將固件升級部署到數百萬臺設備後,慌慌張張地聯繫到他。Stenberg說:“我不得不給他們解釋,我無法在短時間內前往他們的國家來幫助他們解決這個問題……,因為cURL只是我的業餘工作,我有一份全職工作。”

因為他非常在乎這個項目,所以他找了一個朋友來幫助。他的朋友前往那個國家,幫忙解決了這個問題。

Stenberg認為,為了向提供這種服務的開源程序員支付報酬,各個大公司都應該向開發人員支付與代碼庫相關的支持服務的費用,這是對他們付出的時間的補償,同時也有助於確保這些項目的長期維護。Stenberg希望通過在wolfSSL的工作,說服蘋果等公司付費換取專門的支持,但這條路任重而道遠。

支持合同的價格不菲,通常在數千美元之間,支付費用後就可以使用項目,而且在出現問題時也可以獲得專門的支持。但是,需要此類服務的公司(尤其是使用cURL的公司)通常都資金雄厚或影響廣泛。

目前尚不清楚這些公司是否會對這種合同感興趣。以前曾有一家公司要求Stenberg飛往另一個國家幫助他們解決問題,當Stenberg提出支持服務費用時,他們拒絕了。

這讓Stenberg感到萬分失望。他說:“當發現人們在利用我們,卻沒有在獲得利益的同時做出相應的貢獻,我感到很惱火。”但他仍然認為支持服務合同是維護開源的長期途徑:“這些程序員理應得到回報,而不僅僅是通過策展人或大型開源項目/公司提供絕大部分的資金支持。”

開源社區中的許多人反對收取金錢的想法,這仍然是一個有爭議的話題。開源社區中的一些人認為,金錢換不來“自由”,但現實是,為自由而辛苦勞作的人們也是普通人,他們也要吃飯和養家餬口。

如今,如果有開發人員或公司發送電子郵件給Stenberg尋求幫助時,他會說:“我的態度已經轉變,像您這種情況,可以考慮一下支付支持合同的費用。”

當我問Stenberg是否還會維持cURL(已經20年了)時,他說他不打算放棄,這個項目已經成為他生活的一部分。

“當然,我也希望能夠獲得報酬。”他補充道。

原文:https://onezero.medium.com

/the-internet-relies-on-people-working-for-free-a79104a68bcc

本文為 CSDN 翻譯,轉載請註明來源出處。

【END】


分享到:


相關文章: