中文字幕欧美乱伦|手机AV永久免费|澳门堵场日韩精品|日本性爱欧美激情|蜜桃狠狠狠狠狠狠狠狠狠|成人免费视频 国|欧美国产麻豆婷婷|99久久久国产精品福利姬喷水|婷婷内射精品视频|日本欧洲一区二区

澎湃Logo
下載客戶端

登錄

  • +1

創(chuàng)造無數(shù)價值的開源程序員們,竟是在為愛發(fā)電?

2023-07-31 16:20
來源:澎湃新聞·澎湃號·湃客
字號

開源正在面臨崩塌。

這是從1987年到2020年,世界上最大的開源開發(fā)者平臺Github上的項目活躍度和貢獻者人數(shù)變化趨勢。

你很容易發(fā)現(xiàn),從2012年起,兩個指標都出現(xiàn)了斷層式下滑,現(xiàn)在已經(jīng)掉回了本世紀初的水平。

讓我們從一個開發(fā)者的故事中,來看看這一切發(fā)生的原因。

一、崩塌的理想

九年前的一晚,俄羅斯開發(fā)者Denis Pushkarev發(fā)布了Core-js。

五年之后,他卻面臨牢獄之災。

2014年,當時的JavaScript(一種在Web開發(fā)中具有非常重要地位的腳本語言)缺乏一個足夠龐大的標準庫,也就是編程語言的常用功能和工具集合,而且有著嚴重的兼容性問題。

開發(fā)人員必須要自己編寫一些數(shù)據(jù)結構和算法,或者使用第三方庫才能夠完成自己的工作。而有些代碼在不同瀏覽器之間存在差異,經(jīng)常無法運行。

世界各地的互聯(lián)網(wǎng)公司和程序員屢次嘗試,但都沒有很好地解決這些問題。

那一晚,Denis讓這些問題成為了過去式。為了讓無數(shù)的開發(fā)者更加方便地使用JavaScript,他將自己的Core-js作為開源項目發(fā)布了出去。

但是如今,Denis卻將這一決定稱為“一生中最大的錯誤”。

Core-js是一個全面的JavaScript標準庫,可以在很大程度上讓開發(fā)者們避免JavaScript之前一直存在的問題。

用一個簡單的比喻,Core-js對于Java開發(fā)者而言就像一把瑞士軍刀,易攜而且能夠很快解決他們此前頗為棘手的各項問題。它的出現(xiàn)意味著開發(fā)者們可以更快速、便捷地開發(fā)和部署Web應用程序。這給開發(fā)者們帶來了曙光。

得益于此,Core-js一經(jīng)開源就深受開發(fā)者們的歡迎,初期傳播便呈指數(shù)級增長。下面的第一張圖表示的是Core-js的每月下載量的變化趨勢,而第二張則表示下載量累加值的變化趨勢。你會很快發(fā)現(xiàn)它的下載量是多么驚人,并且長期以來處于增長態(tài)勢。

時至今日,Core-js的下載量累加值已經(jīng)超過了76億次,相當于地球上每個人都人均下載一次。當然,考慮到前端程序員在我們生活中占比少數(shù),可想而知它在代碼世界中的重要性。

“我可以肯定地說,大多數(shù)流行網(wǎng)站都在使用Core-js。而且不僅僅是關于網(wǎng)站前端,幾乎所有使用JavaScript的地方都有Core-js的身影?!盌enis說。

這句話展現(xiàn)了他的能力非凡,但帶有一絲自嘲的味道。

原因在于:如此高的下載量卻沒有給他帶來一分錢的收入,只因為這是一個開源庫。進一步的,這個開源庫的維護工作還將他拖入了深淵。

Core-js并不是一個可以寫完就丟在一邊的項目,它和Web的狀態(tài)綁定,需要時刻更新維護。出于對項目的負責,Denis身陷于此。他漸漸發(fā)現(xiàn),自己沒有精力同時兼顧本職工作和對它的維護。

一開始,Denis希望能夠找到與他志同道合的其他開發(fā)者加入維護項目,但均以失敗告終。沒有人愿意和他完成這項沒有任何報酬的工作。

于是,他最終選擇辭掉原本的高薪工作,全職從事開源——那時候的他以為“金錢不是第一要義”。

之后的幾年,雖然Denis失去了工作,但靠著一些短期合同,還能夠保持體面的生活。

直到2019年的那場車禍。

那年,Denis因摩托車禍致人傷亡,被判入獄18個月。這意味著,在一年半的時間里,這個對世界互聯(lián)網(wǎng)如此重要的Core-js將無法被維護。

Denis試圖與受害者和解,但高昂的賠償和律師費讓他無力承擔。他在開源平臺上募集贊助,結果一個月間,只收到了57美元。與此同時,Denis聯(lián)系了很多開源開發(fā)者,希望對方能夠在他服刑期間幫助維護Core-js,但乏人響應。

最終,Denis籌措不到和解資金,認罪入獄,并在十個月后提前出獄。在此期間,Denis只能委托一位不搞開源的朋友負責項目基礎維護。

出獄后,Denis仍在堅持維護Core-js。但一個月400美元的微薄收入,讓已經(jīng)成為父親的他力不從心。他正在重新考慮自己的選擇和努力是否真的正確。

“我受夠了以犧牲我和家人的幸福為代價,來幫助無數(shù)大公司了。我想要確保我家人的生活,想讓我兒子有一個光明的未來。”

二、無名的英雄

在萬千開源工作者的生涯中,這樣的故事不是個例。他們?yōu)榱烁篮玫幕ヂ?lián)網(wǎng)世界作出貢獻,但現(xiàn)實很難報之以歌。

開源項目,指的是開放源代碼、公開使用且非盈利的項目。它們可以是完整可用的應用程序,而有一些項目是用于組成其他程序的模塊。程序員們使用這些開源模塊來構建自己的應用程序、網(wǎng)頁等。

用最簡單的話說,開源等于你將自己的軟件工作贈予了世界。

這樣做的意義是什么?在于它打破了大公司的技術壟斷,讓平民能夠用上便宜的技術。

傳統(tǒng)的商業(yè)軟件通常需要支付昂貴的許可證費用才能夠使用,這是小企業(yè)和個人無法承受的。但開源的出現(xiàn)打破了這一局面,讓小型組織獲得以往難以想象的創(chuàng)新和發(fā)展機會。開源者在其中謀求的,是精神上的富足。

此外,開源項目的開發(fā)模式與人們此前理解的軟件開發(fā),有著很大的區(qū)別。

你可以把開源程序看做積木,在一個開源程序的生命周期中,它們會參與成千上萬個應用程序的構建,就像一塊塊積木可以搭建成不同的城堡。也正因如此,開源程序必須時刻保持更新,使其能夠兼容最新版本應用程序的開發(fā)。

當人們想要開發(fā)一個開源項目時,他們一般會先提出問題和建議,這些問題和建議由一個或一組維護者來管理。接著,維護者與開發(fā)者討論開發(fā)的方向和實現(xiàn)方法,并規(guī)劃好每個階段的目標和時間表。

開發(fā)者根據(jù)討論和規(guī)劃編寫代碼,并定期將代碼提交到Github上的倉庫中。每個提交的代碼都對應一個特定的功能或修復,這些功能和修復可能由多個開發(fā)者完成。開發(fā)者通常采用分支開發(fā)模式,每個分支對應一個特定的功能或修復。

當一個功能或修復完成后,開發(fā)者會提交一個合并請求到倉庫中,請求維護者審核并合并代碼。維護者會審核合并請求中的代碼,并提出修改意見或建議。開發(fā)者再根據(jù)維護者的反饋進行修改,再次提交請求。維護者最終審核通過后,會將代碼合并到主分支中。這樣,開源項目就能不斷地得到更新和改進,更好地滿足用戶的需求。

簡單來說,做開源項目就像是很多人一起蓋房子,維護者是這座房子的總設計師,但是其他開發(fā)者也都可以一起完善這座房子,根據(jù)自己的想法提出意見并改建。久而久之,這座房子在眾人的加工下變得日益精美、完善。最后,不僅是開發(fā)者,任何人都可以拷貝這套房子的圖紙,用它來修繕自己的家。

開源開發(fā)者們也有自己的生活和工作,但是為了更好的互聯(lián)網(wǎng)、更好的世界,他們成為了志愿者,無償?shù)胤窒碜约旱募夹g和天才般的想法,為社區(qū)和用戶提供更好的產(chǎn)品和服務。

而在這樣的共建過程中,開發(fā)者們可以自由坦誠地相互交流和學習。遇到不懂的難題,總會有“大佬”伸出援手,帶領更多的后輩繼續(xù)探索無垠的代碼世界。這樣的模式與環(huán)境培養(yǎng)了可觀的技術人才。

因此,你可以從這樣的模式中理解,開源開發(fā)者們很難獲得收益。一般來說,一個開源項目也提倡捐款,或者由開源基金會統(tǒng)一收集捐贈款項。但作為一個非強制性的政策,捐款得來的收益自然就聊勝于無了。

下面是Github歷史上最熱門的開源項目。

你還會看到那些提交了最多代碼的開源貢獻者們,他們對于今天的世界互聯(lián)網(wǎng)搭建舉足輕重。但他們的名字卻鮮為人知,就像是黑夜里的英雄,無法被人關注。

“每天擠時間持續(xù)維護了8年,不僅累,而且不賺錢,也沒幾個人用,純靠興趣,但還是會繼續(xù)維護下去?!?/strong>國內(nèi)知名開源開發(fā)者Ruki表示。盡管面臨重重困難,但他仍舊打算繼續(xù)自己的開源之路。

2021年,知名軟件包管理平臺Tidelift發(fā)布的開源維護者調(diào)查報告顯示,開源維護者們最在意的事情是通過自己的努力讓世界更美好,只有很少的人會在意獲得的報酬。

同樣的,Tidelift也調(diào)查了這些開源開發(fā)者們每年的收入。發(fā)現(xiàn)近半數(shù)開發(fā)者并不能從他們的開源工作中獲得一分錢的收入,而只有約13%的開發(fā)者能夠僅憑開源項目維持生計。

三、困獸的牢籠 

“為愛發(fā)電”很難持續(xù)。Github社區(qū)因此面臨了我們開頭提到的衰落。 

尤其是,停止維護的開源項目數(shù)量也在逐年增加。截至2021年,可獲取的數(shù)據(jù)顯示,絕大多數(shù)開源項目已處于廢棄(超過一年不再更新)狀態(tài)。

到了現(xiàn)在,GitHub上有近半的代碼已經(jīng)無法使用(無法適配其依賴內(nèi)容),可以預見,這樣的比例還會繼續(xù)上升。

而是什么導致了這一現(xiàn)象?

首先,開源開發(fā)的志愿者基數(shù)正在減少。隨著免費開發(fā)開源項目的志愿者的數(shù)量減少,有償?shù)拈_源開發(fā)工作并未增加到足以填補這個空缺。就像一塊大蛋糕被削掉了一大塊,但我們又沒有足夠的奶油去填滿這個大洞。越來越多的開源項目因此慢慢被放棄維護。

其次,公司的資源管理模式也影響了開源開發(fā)。現(xiàn)在,比起無償?shù)闹驹复a貢獻,有償?shù)拇a貢獻變得越來越常見。公司希望程序員們將更多時間用于開發(fā)公司需要的功能,縮減了他們的空閑時間,影響他們無償開發(fā)自己想要的開源功能。

此外,參與開源項目的行為正在發(fā)生變化。越來越多的人選擇偶然性地參與,比如修復一些小錯誤或提出一些建議,而非長期貢獻。這就好比過去的志愿者愿意長期在公園做環(huán)保清潔工作,現(xiàn)在則更多的人只是路過時順手撿起一片垃圾。

最后,開源項目的質量正在逐年下降。越來越多參與者提交的代碼質量低,讓開源項目擁有者的審核工作量加大,負擔加重。就像在一個篩選果子的過程中,如果我們發(fā)現(xiàn)大部分的果子都有病蟲害,那么這個篩選過程就會變得更加繁重和復雜。

不僅如此,開發(fā)者們開源的目的正在悄然改變。開源曾經(jīng)是純粹的集體志愿服務,現(xiàn)在則更多地被看作是個人職業(yè)發(fā)展的方式。這就像過去人們?yōu)榱斯娑驹钢矘?,現(xiàn)在則是為了積攢履歷和提高職業(yè)技能。

隨著技術的不斷進步,代碼變得越來越復雜,對開發(fā)人員的技能要求也越來越高。對于初學者來說,這就好像他們剛剛學會了游泳,卻被要求跳進一個無底深淵。

以下是一些具體的例子,它們能進一步揭示開源領域的問題和挑戰(zhàn)。

第一個案例是James,他曾參與一個名為Apache的開源項目。然而,他很快就遇到了困境。他表示:“治理問題對我來說遠比提交的補丁更為復雜,讓我感到束手無策。”就像一個家庭主婦在整理一堆雜亂無章的衣物,不知道從哪里開始,這種情況無疑讓人感到挫敗。

第二個例子是一個開發(fā)者遇到了一種新的編碼風格,也就是每一位開發(fā)者寫代碼時所獨有的特殊風格,他在此前的編程工作中從未接觸,因此他對此并不認同。他需要將自己的模塊修改到這種規(guī)范格式上,他感到既無意義又無聊。這就像讓一個藝術家在畫布上需要嚴格按照他不贊同的風格創(chuàng)作,創(chuàng)作過程自然乏味。

最后一個例子是一個項目的糟糕維護。該項目的一位貢獻者表示,他搞不清楚自己做的事情是否符合項目的要求。當他向項目維護者提出這個問題時,維護者的回復是讓他自己找方法解決。這就好像一個廚師正在準備一道復雜的菜肴,卻發(fā)現(xiàn)菜譜描述得太糟糕,而當他向寫菜譜的人詢問時,卻被告知需要自己去摸索。這種情況無疑令人感到沮喪,最終他選擇了放棄。

四、最后的吶喊

上面的數(shù)據(jù)在冷酷無情地告訴我們:開源正在逐漸消失。早晚有一天,它可能會不見蹤影。充滿熱情與自由的互聯(lián)網(wǎng)世界,恐怕真的會離我們遠去。

那么,我們能為開源做些什么呢?

或許我們并不懂編程,但是我們可以打開Github,看看那些開源作者們都做了哪些貢獻,要是看到比較欣賞的,可以點個星標或者關注。是的,對于開源開發(fā)者們而言,精神上的鼓勵,比金錢更能讓他們滿足。

如果手頭有點閑錢,我們可以很方便地找到一些開源基金會,給它們一些資金上的支持。這些資金可謂雪中送炭,會幫助開源開發(fā)者們讓他們渡過難關,繼續(xù)堅持自己的理想,為這個世界做出更多貢獻。

或許你也學過一點編程,也有時間和興趣繼續(xù)在這個領域鉆研。那么歡迎你加入開源共建,和廣大的開源開發(fā)者們一起,成為這個世界的英雄。不用擔心自己技術不夠好,能力不夠強,因為你會發(fā)現(xiàn)身邊的每一個開源作者都會耐心地指導你,你的疑問和困難總是會有人給你意見。

直到有一天你也成了他們。

作者:池光耀,沈巖松,梁子平,趙靖文

指導老師:趙鹿鳴

本文為上海外國語大學新聞傳播學院《數(shù)據(jù)可視化》(本科)課程作品

 

參考資料:

[1]知乎:如何看待國內(nèi)開源項目的不可持續(xù)性https://www.zhihu.com/question/355691918/answer/2076173699

[2]差評:坐擁千萬用戶的大佬,竟然窮到刪庫跑路?https://mp.weixin.qq.com/s/gZkyKtzPD4RsXS7DVl-Vpw

[3]2021_Tidelift_Maintainer_Survey_FINAL.pdf https://tidelift.com/subscription/the-tidelift-maintainer-survey#form

[4]白開水不加糖: 開源如此火熱,但研究表明該領域已不再增長 - OSCHINA https://www.oschina.net/news/118100/open-source-is-not-growing-anymore

[5]CSDN:入獄 10 月、網(wǎng)暴不斷,并掙扎在溫飽線!超 90 億次下載的開源項目,背后是這樣的9年 https://mp.weixin.qq.com/s/TSY5_ZWzkaaS0obhFfs3Vg

[6]Michael Dornera, Maximilian Caprarob, Ann Barcombc, Krzysztof Wnuka:A Replication Study on Measuring the Growth of Open Source https://arxiv.org/pdf/2008.07753.pdf

[7]michaeldorner:Quo Vadis, Open Source? - GitHub https://github.com/michaeldorner/quo-vadis-open-source

    本文為澎湃號作者或機構在澎湃新聞上傳并發(fā)布,僅代表該作者或機構觀點,不代表澎湃新聞的觀點或立場,澎湃新聞僅提供信息發(fā)布平臺。申請澎湃號請用電腦訪問http://renzheng.thepaper.cn。

    +1
    收藏
    我要舉報
            查看更多

            掃碼下載澎湃新聞客戶端

            滬ICP備14003370號

            滬公網(wǎng)安備31010602000299號

            互聯(lián)網(wǎng)新聞信息服務許可證:31120170006

            增值電信業(yè)務經(jīng)營許可證:滬B2-2017116

            ? 2014-2025 上海東方報業(yè)有限公司

            反饋