托管開源調(diào)查:哪些耗費(fèi)時(shí)間的開源維護(hù)活動(dòng)最為常見?
本文轉(zhuǎn)載自公眾號(hào)“讀芯術(shù)”(ID:AI_Discovery)。
2020年6月,Tidelift對(duì)我們的技術(shù)人員進(jìn)行了年度托管開源調(diào)查,這些技術(shù)人員在工作中使用開源來構(gòu)建應(yīng)用程序。超過600人分享了他們?nèi)缃袷褂瞄_源軟件的方式、障礙因素以及可以使使用更加有效率的工具和策略。
在本文中,我們會(huì)分享九項(xiàng)主要發(fā)現(xiàn)中的第五項(xiàng)。
開源有時(shí)候會(huì)被稱為免費(fèi),就像“免費(fèi)領(lǐng)養(yǎng)小狗”一樣。它也如同免費(fèi)小狗一樣,盡管初始獲取成本無限小,但還有很多隱藏成本,包括保持代碼的安全性和良好的維護(hù)。
我們想了解,哪些耗費(fèi)時(shí)間的開源維護(hù)活動(dòng)在此次調(diào)查的組織中最為常見。我們尤其想了解的是,經(jīng)常聽技術(shù)人員提起的五種常見維護(hù)活動(dòng)的普遍性。根據(jù)我們的結(jié)果,這些活動(dòng)非常普遍:四分之三(74%)的組織每月至少執(zhí)行其中一項(xiàng)活動(dòng)一次以上。

組件升級(jí)是最常見的維護(hù)相關(guān)的活動(dòng),至少54%的用戶至少每月進(jìn)行一次。幾乎同樣多的人(49%)至少每月都會(huì)對(duì)更新組件中的錯(cuò)誤或其他問題進(jìn)行調(diào)整。
切換到其他組件的情況少見一些,但在58%調(diào)查的公司中,每年至少發(fā)生一次。它更少見的一個(gè)原因是,它需要更多時(shí)間來排除所有應(yīng)用程序的依賴性所導(dǎo)致的可能問題。案例:在我們2019年的研究中,擔(dān)心被意料不到的問題所淹沒,就是為什么轉(zhuǎn)移至新版本的框架或庫成為最常見的開源維護(hù)挑戰(zhàn)。
關(guān)于進(jìn)行大型版本更改的決定依然是痛苦的,這就是為什么2020年的受訪者中國(guó)有62%的人說這是團(tuán)隊(duì)在使用開源時(shí)需面臨的挑戰(zhàn)。應(yīng)對(duì)這一挑戰(zhàn)的最佳方法之一是,多花一點(diǎn)時(shí)間對(duì)公司使用的組件進(jìn)行定期的、漸進(jìn)式的更新。
總的來說,這類開源維護(hù)活動(dòng)在人數(shù)為1000人及以下的組織的反饋中更為常見。例如,在這一群體中,53%的團(tuán)隊(duì)至少每月至少需要對(duì)錯(cuò)誤進(jìn)行一次調(diào)整或適應(yīng)突破性的變化,而在大型組織中,僅有39%的概率。

雖然開源維護(hù)問題將永遠(yuǎn)存在,但我們可以改進(jìn)應(yīng)對(duì)的方式。這也是我們正在解決的問題一部分:確保開發(fā)人員能夠最大限度地減少花費(fèi)在開源維護(hù)活動(dòng)上的時(shí)間,從而能夠最大限度地將時(shí)間用來寫出獨(dú)特的代碼,真正地將應(yīng)用程序變得與眾不同。