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

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

雖然開源維護問題將永遠存在,但我們可以改進應對的方式。這也是我們正在解決的問題一部分:確保開發人員能夠最大限度地減少花費在開源維護活動上的時間,從而能夠最大限度地將時間用來寫出獨特的代碼,真正地將應用程序變得與眾不同。