保障開源項目獲得成功的三大關鍵因素
譯文一份針對GitHub數據的***研究表明,成功的開源項目往往存在幾大共性。
本周,Facebook、谷歌以及其它多家大型技術企業共同啟動了TODO(即開放交流、開放開發)項目,希望借此鼓勵企業及開發人員彼此共享與開源項目使用及實施相關的知識及經驗、進而推動各種規模的企業用戶以更為積極的姿態擁抱開源方案。作為參與組織之一,GitHub在一篇博文中談到了推進此次項目的目標之一,即“確保開源項目繼續保持健康與積極的發展態勢。”除了一點點運氣因素之外,一份新的研究報告昭示了開源項目獲得的成功的部分必要因素——而這很可能有效幫助TODO在未來的前進道路上越走越順。
來自日本的研究人員Yuya Yosikawa、Tomoharu Iwata以及Hirosh Sawada共同發表了一篇題為《在社交媒體上協作:社交編碼成功項目分析》的論文。他們希望弄清楚,到底是哪些因素決定了像GitHub這樣的“社交編程站點”上各種開發項目的最終命運。為了完成這一目標,他們從2011年2月到2013年5月之間堅持不懈地從GitHub歸檔資料中收集數據——具體對象為其中非fork且評論數量超過30條的代碼庫。這些數據所涵蓋的總評論數量接近4200萬條,涉及開發人員140萬名、相關項目則為31萬7千個。
為了衡量開源項目的成功程度,研究人員們采用三條評判指標:活躍程度(每天新增的代碼提交數量)、熱門程度(每天所獲得的星評總數)以及“社交性”(即每天的請求推送數量)。
他們認為三大因素決定了上述成功標準的實際表現,分別為:團隊結構(即項目團隊規模有多大、各團隊成員如何實現內部交流)、外部開發人員交互效果(即請求推送所獲得的響應)以及所開發項目的具體類型(例如Web應用程序等)。
在探討這幾大核心要素之前,我們先來看看這幾位研究人員發現的其它一些有趣結論,例如:
- 大多數項目不涉及來自外部開發人員的貢獻。具體來講,研究數據顯示有七成項目沒有發出過任何請求推送。
- 大多數項目往往會在短時間內快速完成。只須約一成的項目能在較長周期內擁有相對統一的代碼提交速率。其余九成的絕大多數提交代碼集中在一段或者數段相對較短的階段之內,而且在整個周期內經常出現連續幾個月沒有代碼提交的狀況。此外,在六成項目中90%的提交代碼是在開始后的三個月內出現的。
在審視影響到開源項目成功的因素時,我們還發現了一些有趣的現象。根據在閱讀這份論文中的體會,我發現以下三項內容可謂算是決定開源成功的核心條件:
- 團隊規模越大,項目取得成功的機率也就越高。內部團隊的規模越大(即提交代碼的參與者越多),上述三項成功指標的數值就越高。
- 如果團隊成員曾經在其它項目中進行過合作,那么當前項目會更容易獲得成功。對于各個項目的內部團隊而言,研究人員整理出一套“合作關系網絡”。從本質上講,這套關系網絡描述了當前項目的參與者是否在其它項目中同樣保持合作。符合這種情況的參與者越多,這三項成功指標的數值也會隨之增加。
- 對請求推送的響應能夠鼓勵代碼貢獻者。研究人員們發現,項目獲得的星評及請求推送數量越多,內部團隊的成員就越容易受到鼓舞——換句話來說,針對請求推送的響應與合并能夠有效激勵參與者的工作熱情。有趣的是,請求推送的響應時長并不會影響項目的成功可能性; 總之,只要有所響應、對于項目就是一種積極推動。
這就是我們得出的結論。如果大家希望自己的開源項目能夠邁向成功,首先需要盡可能擴展內部團隊的人員規模、其次是確保參與者在其它項目中同樣保持合作關系,***是定期對請求推送作出響應。其實并不困難,對吧?























