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