3月22日消息,如今,整個互聯(lián)網(wǎng)的運行和世界上最大的科技公司們都離不開開源軟件。但為這些開源軟件出人出力的志愿者們已經精疲力盡。他們紛紛表示,依賴開源軟件的公司應該貢獻更多資金和代碼,而不是坐享其成。
布萊恩·巴布里茨(Blaine Bublitz)每天都要花上幾個小時的時間來查閱Gulp.js用戶發(fā)來的電子郵件。Gulp.js是巴布里茨自愿維護的一個開源軟件項目,微軟和美國國家航空航天局(NASA)等機構都在使用這個軟件項目。
發(fā)給巴布里茨的大多數(shù)電子郵件都是要求對項目進行更新或修復,堆積在巴布里茨待辦事項上的東西越來越多,似乎永無止境。有些用戶態(tài)度很好,但很多人更喜歡追問巴布里茨為什么要花這么長時間。很多不禮貌的要求影響到巴布里茨的心情,甚至一度導致他“消失”了6個月,完全停止了項目維護工作。
巴布里茨說:“本來錢就不多,再加上人們對你大喊大叫,說你需要做點什么,這讓我根本不想干。”
另一位開源項目的志愿者瑪麗娜·莫斯蒂(Marina Mosti)每周花10個小時維護名為FormVueLate的項目,但沒有從這個項目中掙到過一分錢。莫斯蒂在VoiceThread擔任全職技術主管,這樣才能為她在開源項目的志愿者工作提供資金支持。
但莫斯蒂在如何平衡受歡迎的開源項目維護和完成本職工作之間已經耗盡精力。她說,F(xiàn)ormVueLate團隊的其他開發(fā)人員也筋疲力盡。雖然幾個月前就需要對FormVueLate的一些代碼進行全面重寫,但是他們迄今為止還沒有寫出第一行代碼。
莫斯蒂說:“我們沒有時間、精力或心思花在這些事情上。”
巴布里茨和莫斯蒂并不孤單。與其他幾個重要開源項目合作的志愿者也有同感。他們抱怨道,這項工作讓人感覺永遠“難以解決”,“影響了我的健康和快樂”,“成為我生活的負擔”。
但是互聯(lián)網(wǎng)不允許他們的工作半途而廢。整個系統(tǒng)背后的開源項目對數(shù)字世界至關重要,支撐著世界上許多軟件的運行,包括微軟、亞馬遜和奈飛等最大最富有的科技公司也是如此,例如谷歌就依賴開源項目來運行自家的Web應用程序。
長期以來,互聯(lián)網(wǎng)都是在開源項目開發(fā)人員的無償支撐下運行,現(xiàn)在已經岌岌可危。最近的一系列安全事件暴露出這個生態(tài)系統(tǒng)是多么脆弱,而開源開發(fā)者們已經精疲力盡,有的人選擇逃離,有的人甚至通過破壞開源項目以示抗議。缺乏對這些開發(fā)者的支持將讓整個互聯(lián)網(wǎng)面臨危險。
雖然人們常常聽說針對大公司和關鍵基礎設施的網(wǎng)絡攻擊急劇增加,但人們很少討論的是,開源項目也受到了網(wǎng)絡攻擊激增的影響。軟件供應鏈管理公司Sonatype的一份報告顯示,2020年至2021年,針對開源項目的網(wǎng)絡攻擊同比增長650%。報告稱,29%的熱門開源項目至少有一個已知的安全漏洞。
從理論上講,如果有更多人看到代碼,開源軟件會更加安全。但最近的一系列安全事件表明,如果開發(fā)人員不去修復漏洞,對項目不管不顧,甚至于破壞開源項目,那么會給互聯(lián)網(wǎng)生態(tài)系統(tǒng)帶來相當大的負面影響。去年12月份,黑客就利用開源項目Log4j影響到IBM、甲骨文、亞馬遜和微軟等公司。網(wǎng)絡安全公司Check Point稱,潛在的損害“不可估量”,并表示這“顯然是近年來互聯(lián)網(wǎng)上最嚴重的漏洞之一”。
僅僅兩周后,又有一個程序員破壞了廣為人知的Colors.js和Faker.js開源庫。他似乎在用故意破壞這種方式來抗議大公司免費使用自己的項目。
最近,研究人員還發(fā)現(xiàn)Mozilla的火狐開源瀏覽器中有兩個“嚴重”安全漏洞。此外,開源的Linux操作系統(tǒng)也出現(xiàn)了“多年來最嚴重的漏洞”。
“我們已經看到了足夠多的供應鏈災難,這不會是最后一次,”軟件Promith和KEDA的維護人員湯姆·克霍夫(Tom Kerkhove)在談到去年冬天發(fā)生的這些事件時說。“企業(yè)確實需要幫助開源項目維護人員在決定刪庫之前幫助他們構建產品。”
所有一切都是開源的
開源項目的使用時間和軟件出現(xiàn)時間一樣長,但其在20世紀90年代隨著Linux操作系統(tǒng)等項目席卷整個行業(yè)而流行起來?,F(xiàn)在,開源項目是亞馬遜網(wǎng)絡服務AWS等云平臺的基礎,并為人們每天都在使用的Facebook和谷歌應用程序提供動力。
而且開源項目還在繼續(xù)發(fā)展。微軟旗下的開源項目GitHub在過去的12個月時間里獲得超過26億份代碼。OpenLogic對2660名專業(yè)人士的調查發(fā)現(xiàn),77%的受訪者表示,2021年他們所在的機構均增加了對開源軟件的使用。
軟件公司紅帽首席技術官克里斯·賴特(Chris Wright)說:“更重要的是,開源對整個商業(yè)世界和我們所有人的日常生活來說非常重要,影響很大。”“這在整個軟件行業(yè)都很普遍。”
報酬很少或沒有報酬
盡管開源項目無處不在,并且在互聯(lián)網(wǎng)經濟中扮演著重要角色,但大多數(shù)開源項目開發(fā)人員從他們的貢獻中賺不到多少錢。
Tidelift對近400名開源軟件維護人員的調查顯示,46%的人沒有得到任何報酬。即便在那些拿到報酬的人中,只有大約一半的人每年能拿到1000美元以上。此外約有一半的受訪者表示,作為開源項目維護人員,他們最大的抱怨是工作報酬不夠。
開源的自由屬性也導致了不公平。目前開源項目由男性主導,當沒有報酬時,沒有那么多閑暇時間或工作沒有那么穩(wěn)定的人不太可能再為開源項目做出貢獻。
如今,GitHub Sponsors、Tidelift和Open Collective等網(wǎng)站正試圖通過允許開發(fā)人員接受捐贈和其他形式補償?shù)姆绞絹斫鉀Q資金問題。不過開發(fā)人員說,單純依靠捐款是不可持續(xù)的,許多人每個月賺的錢只夠買一杯咖啡。
“我已經嘗試過現(xiàn)有的所有平臺,”巴布里茨說。雖然這些網(wǎng)站的“成功之處就在于讓你的勞動不再是完全免費”,但他說,自己每個月從GitHub Sponsors那里只能得到大約5美元。盡管巴布里茨幾乎全職從事開源工作,但他的主要收入來自過去兩年的咨詢工作。
雖然開源項目資金匱乏,但最富有的大科技公司反而是這些項目的最大受益者。對于一些開發(fā)人員來說,很難將二者統(tǒng)一起來。許多人認為,是這些大科技公司沒有給予開源項目足夠的回報。
例如,亞馬遜常常會重新打包開源軟件,并在AWS云平臺上銷售和運行。但開發(fā)人員和較小的公司說,盡管亞馬遜從中獲利頗豐,但實際上并沒有為開源項目貢獻多少行代碼。微軟和谷歌自稱對開源項目很友好,但微軟只是通過旗下的自由和開源軟件基金資助過少數(shù)幾個開源項目,谷歌則聲稱自己擁有員工在業(yè)余時間編寫的開源代碼。
“問題是公司和個人都沒有意識到他們實際上是一個生態(tài)系統(tǒng)的組成部分,”開源開發(fā)者阿邁勒·侯賽因(Amal Hussein)說。“重要的是,志愿者要貢獻自己的時間或金錢。”
志愿者精疲力盡
隨著疫情蔓延、網(wǎng)絡攻擊增加、軟件日趨復雜、責任加重以及志愿者工作帶來的財務不穩(wěn)定,開源項目開發(fā)人員已經精疲力盡。在Tidelift的調查中,超過40%的開源項目維護人員表示,作為一個維護人員,他們不喜歡個人壓力和感覺被低估。Tidelift首席執(zhí)行官兼聯(lián)合創(chuàng)始人唐納德·費舍爾(Donald Fischer)表示,很多壓力來自于收到很多用戶的投訴。
開發(fā)者馬泰奧·科里納(Matteo Collina)把這些苛刻的人稱為“吸血鬼”??评锛{說:“目前的現(xiàn)狀是已經無法維持下去,因為更多的項目長期維護人員正在耗盡精力,但吸血鬼還在那里。”
娜塔莉亞·泰普魯希娜(Natalia Tepluhina)是Vue開源項目的核心成員,這一項目被谷歌、蘋果和任天堂使用。她表示,用戶常常會問這樣的問題,“為什么你們在兩周內不修復這個問題?”或“為什么你們這么慢?”
“這就像,該死,我在為你免費工作,”特普盧希納說。“你為什么這么說?”
另一方面,小伊菲克·奧東(Ifiok Otung Jr.)的開源項目Remirror雖然獲得了贊助,但他說這只會帶來更多審查。去年,他一氣之下放手了6個月時間。
奧東說:“我在這條路上走的時間越長,就越覺得不愉快。”“它成了我生活中的一種負擔。”
許多開發(fā)人員已經退出所維護的項目,甚至完全消失。在Tidelift的調查中,大約有59%的維護人員曾一度退出或考慮過退出他們的項目。
例如,瑞恩·比格(Ryan Bigg)曾是電子商務開源項目Spree唯一一位全職維護人員。雖然GoDaddy和Blue Apron等公司都在使用這個項目,但最終比格感覺自己“無法克服”這項工作帶來的壓力。他每天醒來都會收到超過250條有關新需求或修復漏洞的信息。2014年,比格不再全職維護Spree,選擇前往一家科技公司工作。
“最終,它影響了我的健康和幸福,”比格說。
Material for MkDocs是微軟和亞馬遜等公司都在使用的開源軟件。創(chuàng)始人馬丁·多納特(Martin Donath)表示,隨著需求的不斷增長,他最近在決定是否要繼續(xù)開發(fā)開源軟件方面處于“兩難”境地。但資金方面的支持最終讓他選擇堅持下去。
“項目之所以被放棄無外乎是缺乏時間和興趣,從某種意義上說時間就是金錢,”多納特說。
項目資金耗盡
即便開源開發(fā)者獲得足夠多的報酬,可以全身心投入到軟件開發(fā)中,開源項目也常常面臨著資金耗盡的風險。Facebook、Airbnb和Netflix都在使用的開源項目Babel給三名核心開發(fā)人員支付工資,但在2021年面臨資金幾乎耗盡的風險。當時,三名核心開發(fā)人員之一的尼科洛·利博多(Nicolò Ribaudo)一度考慮停止在Babel的工作,轉而去一家公司應聘全職工作。
幸運的是,Babel能夠吸引到足夠的注意力,最終成功籌集資金。項目核心開發(fā)者在一篇博客文章中尋求幫助,讓很多依賴Babel的公司意識到這不是他們“認為理所當然的”事情。贊助源源不斷而來,核心團隊成員得以獲得報酬,并繼續(xù)維護和改進Babel。利博多透露,運維團隊并沒有拿到行業(yè)“高薪”,他在一家公司工作完全可以掙得更多。但他說,這樣的薪水足以維持他在意大利的生活。
“我們可以為這個項目提供更高質量的工作,這對我們來說也更容易,因為我們不再需要犧牲其他空閑時間了,”利博多說。
Babel項目無疑是幸運的。諸如誕生于谷歌的Kubernetes、誕生于Facebook的React,以及Linux操作系統(tǒng)都在靠贊助而生存。但是,相比于那些能獲得資金贊助的大型項目,整個行業(yè)所依賴的許多小型項目沒有給過維護人員一分錢。
ESLint項目創(chuàng)始人尼古拉斯·扎卡斯(Nicholas Zakas)說:“他們處于整條食物鏈的下游,很多時候得不到認可,也得不到贊助。”Facebook、微軟和Netflix都在使用ESLint項目。扎卡斯說,雖然他的項目得到了資助,但對于一個全職開發(fā)團隊來說“遠遠不夠”。
紙糊的房子
由于維護人員面臨的需求堆積如山,報酬又低,已經精疲力竭,很多開源項目已經到了崩潰邊緣。與此同時,大公司從這些開源軟件中獲利,卻很少進行回報。
雖然開發(fā)人員不會為錢而投入開源項目,但免費工作帶來的風險也會讓互聯(lián)網(wǎng)置于風險之中。因為當他們不能快速處理安全事件,甚至選擇退出項目,這讓軟件變得更加脆弱。
開發(fā)人員說,公司應該用他們的預算來支持所依賴的開源項目。這不僅僅是錢的問題,如果公司也能貢獻代碼或修復漏洞,他們會很感激。
“開源本身與金錢無關,”開發(fā)人員加藤大士說。“當然,它也可以以某種形式維持下去。但背后的文化是相互幫助。惡意拿走一切,還不歸還任何東西是不健康不道德的。”(辰辰)