開源社區作為資源集聚的平臺,全球開發者與使用者、合作伙伴在這進行思想碰撞、技術建設,還承擔開源項目孵化、商業運作等職能,在推動開源軟件發展的過程中起著巨大的作用。
盡管開源社區可稱為“開放源代碼社區”,但如果僅僅只是開放源碼,忽視開源社區建設,將引發眾多不良后果:沒有充足的貢獻者與維護者來支撐項目發展;用戶需要的服務支持力度與日俱增;沒有成熟的商業模式,缺乏行業認可與持續投資;開源社區貢獻門檻過高;沒有完善的項目文檔、貢獻者引導指南與培訓認證等支持……
長此以往,如大樹失去養分,整個開源社區將會失去生命力,更無需談開源項目的持續發展。因此豐富開源社區的多樣性和包容性,需要我們積極從開發者的需求出發來運營社區,讓其快速成長。
在具體運營的社區的過程中,有哪些維度的指標可以作為參考標準?有哪些舉措可以不斷激發社區生命力?
衡量開源社區健康度,CHAOSS 有妙招
為推動社區健康度的建設工作,Linux 基金會下度量開源項目與社區健康度的開源項目 CHAOSS 應運而生。CHAOSS 分了不同的工作組來完善社區的相關指標,幫助大家更好地衡量和管理社區,具體從以下幾大方面入手:
通用指標:定義多個工作組使用的指標或對社區健康關鍵的指標。
多樣性、平等性、包容性:多樣性、公平和包容性是開源社區健康的核心,該工作組旨在定義指標和方法,來幫助他人衡量和集中多樣性、公平性和包容性,并將其納入自己的開源項目。
Evolution 指標:目標是制定指標來評估開源項目的生命周期。
風險評估:關注與開源風險相關問題的指標。
價值:制定指標,推進大家理解和衡量開源項目的價值,提高社區的影響和透明度。
度量軟件平臺:提供基于CHAOSS指標的度量軟件平臺,評估社區健康度
今年 10 月 CHAOSS 發布最新的度量指標,在近百個指標中,有從委員會/理事會多元化、導師制等宏觀方面來衡量社區的健康度,還有從微觀角度,如開發者 clone 代碼、fork、議題解決等方面來衡量開發者的參與度。指標傳送門:https://chaoss.community/wp-content/uploads/2021/10/Chinese-Release-2021-10-21.pdf
建設社區生命力:點滴積累,聚木成林
據紅帽公司的調查報告顯示,有 95% 的企業 IT 領導者認為開源軟件“具有重要的戰略意義”。
盡管如此,在具體建設社區生命力并非一朝一夕的事,中國信通院云計算與大數據研究所云計算部副主任郭雪表示,需規范社區治理、社區運營、社區開發、基礎設施這四方面相關指標,方能助力社區生態發展。
在社區治理上,需規范好行為準則、貢獻者協議、貢獻者類型等成員管理;做好用戶文檔、開發者指南、變更日志等文檔管理;建立項目管理、代碼審查、法律合規審查、安全管理等組織結構;制定決策機制、投票機制、反饋機制、輔導機制、發布機制等流程規范。
在社區運營上,進行活動分級、多樣化門票設置等會議活動;積極開展外部合作;開展培訓認證,以降低開發者門檻、利益驅動為目標,構建良好開發者生態;關注用戶生態發展,拓展用戶最佳實踐,提高產品易用性、降低使用門檻;進行社區活躍度監測。
在社區開發上,做好開源軟件選型、依賴軟件使用、開源軟件維護(漏洞修復)等依賴管理;建立合入管理、編碼管理等編碼規范;做好構建環境、構建執行過程、構建結果、構建數據源等構建管理;漏洞修復方案管理、漏洞感知、漏洞可追溯、漏洞驗證等漏洞管理;還有分支版本與工作流管理等需求管理。
在基礎設施上,關注網站、代碼倉庫、構建平臺、發布平臺、開源代碼掃描工具、CLA簽署工具、測試平臺等的運行。
在實際落地中,有哪些注意點呢?對此,擁有近 10 年開源社區建設經驗,CHAOSS 社區董事會成員王曄暉老師分享了他的洞察:
Q:什么是社區生命力?
王曄暉:社區生命力可以從生態角度出發,構建一個社區,就是構建一個生態,生態可以是亞馬遜雨林生態,也可以是沙漠生態。一個健康的生態是一個可持續發展的有活力的生態,面臨內外干擾后,可以通過自我調節恢復。所以為了保證社區的持續活力,需要構建一整套生態治理架構,建立規則,確保一切有序演進。
Q:活躍的社區生命力給開發者帶來哪些幫助?
王曄暉:要根據開發者背后的貢獻屬性(CHAOSS contribution attribution)來看待,他代表個人開發者,還是代表組織、公司來參與貢獻。個人而言,是構建個人開源社交明信片的過程,對于代表公司而言,不僅是個人明信片,公司的參與一定帶有商業目的的。
Q:如何評判開源圈提出的眾多度量指標的差異?
王曄暉:大致可分為以下四種維度進行對比:
一、定性指標 VS 量化指標:
定性指標:吸納主觀因素,非結構化,經驗性,難以歸類,如開發者滿意度。
量化指標:提供可靠的量化結果,排斥主觀因素,缺乏直觀的洞察,如 issue的首次響應時間。
目前存在過度依賴量化指標的情況,另外假如調查方通過激勵等手段來收集問卷,可能存在利益導向,這將導致用戶對定性指標的質量不信任。
二、虛榮指標 VS 可付諸實踐指標:
虛榮指標:點擊量、頁面瀏覽量、訪問量、獨立訪客數、Star 數、網站停留時間、用戶郵件地址數量、下載量。
可付諸實踐指標:有比較性的、簡單易懂的、有比率的,如開發者留存率。
虛榮指標有個共性特點:只會單向遞增,不會下降。從另一方面來看,這些指標由于簡單易懂,方便宣傳提升知名度。但是假如將它作為社區的北極星指標,可能存在較大的誤導性,將有可能造成社區運營南轅北轍。
三、探索性(先見性)指標 VS 報告性(后見性)指標:
探索性(先見性)指標:推測性,用于預見未來,如下一個月開發者流失率預測。
報告性(后見性)指標:解釋過去,如上一個月開發者流失率。
當前基本為報告性指標,而缺少探索性指標,前者只能用于解釋過去,無法直接指導社區后續改進措施,例如無法使用大數據的方式進行數據分析。目前華為正在通過大數據方式引入機器學習和深度學習,建立探索性指標度量模型。
四、相關性指標 VS 因果性指標:
當前現狀指標與指標間割裂,缺乏相關性探索,和因果性分析可以通過建立度量模型,分析模型內指標間的相關性或因果性關系。通過分析結果,可指導社區從哪些方面著手,如開發者留存率與社區活躍度、開發者多樣性之間的相關性和因果性關系等,未來在這些方面將是華為社區度量探索的重點方向。
Q:在具體實踐中,我們如何激活社區生命力以提升開發者體驗?是否有應用到一些前沿技術?
王曄暉:以華為為例,通過在社區度量模型建立反饋機制,及時了解開發者的反饋,便于精進和改善社區治理機制;利用前沿 AI 技術來輔助社區的運營,通過對基礎設施的技術優化和智能化來提升用戶體驗;引入開發工具鏈外溢機制,將華為技術優秀的編碼規范機制、研發流程、技術工具等外溢到社區里。華為聯合合作伙伴組建社區治理委員會和技術委員會,凝心聚力督進社區建設,源源不斷為社區注入活力。
另外,在大力發展華為開源社區之余,華為與 CHAOSS 社區共享開源治理、社區運營、基礎設施經驗,共同探討開源項目和社區的度量標準。華為通過十多年在開源的點滴積累,不斷促進中國以及全球開源產業的發展,實踐聚木成林愿景。
持續激發社區活力:凝心聚力
樹木要想茁壯繁茂,森林要想蔥郁成林,離不開整個生態環境的發展。激發社區生命力,不能僅靠某一家企業突飛猛進式的努力,只有產業各方基于開源協作的創新模式推動產業生態構建,共建多樣性、包容性的開源生態。華為推出“開源雨林”計劃、高校人才培育等計劃,攜手合作伙伴、高校、社區等共同推動我國和全球開源業態的發展。
為了讓中國從開源使用大國發展為貢獻大國,持續建設有生命力的開源社區,華為希望凝心聚力與所有相關方一起團結合作,只爭朝夕、不負韶華,致力打造中國基礎軟件根社區,做中國和全球技術進步的創新推動者,加速行業數字化進程。