开源如此火热,但研究表明该领域已不再增长
作者:白開水不加糖
來源:https://www.oschina.net/news/118100/open-source-is-not-growing-anymore
開源軟件在軟件業(yè)中發(fā)揮著重要作用。早期,開源代碼行和項(xiàng)目數(shù)量曾經(jīng)呈現(xiàn)出了一個多項(xiàng)式甚至指數(shù)式增長的趨勢。然而,在資源有限的情況下,這種增長不可能無限持續(xù)。Blekinge 理工學(xué)院的 Michael Dorner 等人近期發(fā)布的一項(xiàng)報(bào)告指出,其研究結(jié)果表明:開源領(lǐng)域已不再增長。
該團(tuán)隊(duì)研究了過去 25 年中出現(xiàn)的超 224,000 個開源項(xiàng)目,測量了每一個項(xiàng)目代碼行數(shù)、commit 量、貢獻(xiàn)者和生命周期狀態(tài)隨時(shí)間的變化。最后發(fā)現(xiàn),自 2016 年以來,活躍的開源項(xiàng)目數(shù)量一直在萎縮,而貢獻(xiàn)者和提交者的數(shù)量也自 2013 年的峰值以來有所減少。
“開源--雖然最初以指數(shù)級的速度增長,但現(xiàn)在已經(jīng)不再增長了。我們認(rèn)為它已經(jīng)達(dá)到了飽和狀態(tài)?!?/strong>
數(shù)據(jù)顯示,開源代碼行的體量是巨大的:現(xiàn)存已有超過 170 億行的開源代碼。截至 2018 年底,開源項(xiàng)目中共包含有 17,586,490,655 行代碼,包括 14,588,351,457 行源代碼和 2,998,139,198 行注釋。
然而報(bào)告指出,自 2011 年以來,代碼行數(shù)的增長就開始持續(xù)放緩;2015 年之后,代碼行數(shù)則完全停止增長。同時(shí),commit 的數(shù)量也在隨時(shí)間的增長而下降。2015 年之后,commit 量進(jìn)入自由落體狀態(tài),跌回了 2007 年時(shí)的水平。
另一方面,研究發(fā)現(xiàn),絕大多數(shù)開源項(xiàng)目都處于一個被廢棄的狀態(tài)?!敖刂翜y量的最后一個月(2018 年 12 月),我們總共發(fā)現(xiàn)了 224,342 個開源項(xiàng)目。其中 196,009 個處于非活動狀態(tài),13,085 個處于廢棄狀態(tài),還有 58 個新增項(xiàng)目。在 25 年的時(shí)間范圍內(nèi),有 15,046 個被刪除”。下圖描述了一段時(shí)間內(nèi)的開源項(xiàng)目生命周期狀態(tài):
可以說的是,相較于正在進(jìn)行中的項(xiàng)目,被放棄的項(xiàng)目數(shù)量還在繼續(xù)增長。
此外,開源貢獻(xiàn)者的數(shù)量也在逐步減少。與 commit 量一樣,貢獻(xiàn)者的數(shù)量在 2013 年達(dá)到頂峰后開始出現(xiàn)下降。2013 年 3 月,貢獻(xiàn)者數(shù)量達(dá)到高峰值,共有 107,915 名。但截至 2018 年,開源貢獻(xiàn)者的數(shù)量已經(jīng)下降至了 2008 年時(shí)的水平。
總的來說,可以看到的是,大約在 2000 年到 2010 年這一時(shí)間段,開源領(lǐng)域在很多方面都呈現(xiàn)出了指數(shù)級增長的趨勢。但在之后的幾年間,其除了停止了指數(shù)級增長外,還出現(xiàn)了大幅下跌。針對這一行業(yè)變化,該論文則提供以下幾個可能的原因:
-
在志愿參與貢獻(xiàn)的開發(fā)人員減少的同時(shí),有償開發(fā)工作崗位沒有相應(yīng)增加;
-
由于公司資源管理,從志愿捐款改為有償捐款,減少了為每個參與者捐款的有效時(shí)間;
-
偶發(fā)性參與增加,更多的人傾向于減少志愿服務(wù);
-
從集體志愿服務(wù)到反思性志愿服務(wù)的時(shí)代轉(zhuǎn)換(2005 年貢獻(xiàn)者的平均年齡為 31 歲,2017 年為 30 歲),這可能是由于開源活動在職業(yè)發(fā)展中的作用日益增加所致;
-
代碼復(fù)雜性的對開發(fā)人員的要求越來越高,對新手并不友好;
-
貢獻(xiàn)內(nèi)容質(zhì)量下降,導(dǎo)致接受率降低,審核者和提交者的負(fù)擔(dān)越來越大。
報(bào)告全文:https://arxiv.org/pdf/2008.07753.pdf
針對上述解釋,一位開源項(xiàng)目貢獻(xiàn)者 Mike James 也表達(dá)了自己的看法稱,“作為一名失敗的開源貢獻(xiàn)者,我對其中一些原因表示認(rèn)同”。同時(shí),他還從自身參與過的一些開源項(xiàng)目出發(fā),給出了自己停止為開源做貢獻(xiàn)的三個原因。
-
第一個案例是一個 Apache 項(xiàng)目,James 表示,“治理問題似乎比我提出的補(bǔ)丁更復(fù)雜,更讓人不知所措”。
-
第二種情況是,因?yàn)轫?xiàng)目強(qiáng)加了一套他在編碼中從來沒有使用過的編碼風(fēng)格,而他并不認(rèn)同這一舉措?!盎〞r(shí)間和精力把我的 mods 放到他們的規(guī)范格式中,這并不值得且無聊?!?/p>
-
第三種情況則是因?yàn)轫?xiàng)目的記錄做的太差。作為一個貢獻(xiàn)者,他搞不清楚自己做的事情是否合理。向項(xiàng)目維護(hù)者反應(yīng)這一情況,結(jié)果卻收到了讓他自己想辦法解決的回復(fù),從而導(dǎo)致了他放棄繼續(xù)為該項(xiàng)目做貢獻(xiàn)。
總結(jié)
以上是生活随笔為你收集整理的开源如此火热,但研究表明该领域已不再增长的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谈谈验证能力
- 下一篇: 它抢不走程序员的饭碗,但是会让一部分人瑟