在文章「開源軟體的線路圖」中,我們討論了為什麼Bessemer對(社羣)這個類別如此感興趣,這是我們從投資開源軟體公司中得到的經驗,社羣參與度是我們用來評估這些業務的框架。社羣是我們對開源專案評估框架的六個標準之一,是衡量專案健康狀況的重要指標。作為我們在這一領域的研究和投資的一部分,我們分析了GitHub上排名前一萬的開源專案,以更好地瞭解是什麼驅動和支撐著過去十年裡這些頂級開源專案。下面是我們從分析中得到的結論。
社羣為何重要
開源專案從根本上說就是由社羣的投入來驅動的,即使大多數貢獻者從未編寫出最終專案的程式碼。許多開源專案是由一小組核心開發人員維護的,當涉及到實際編寫程式碼和指導專案時,社羣仍然會透過錯誤報告,產品路線圖反饋以及功能請求提交等形式,在專案中扮演基礎角色。
我們認為社羣為開源專案提供了最大的價值,即能夠幫助他們有機地傳播有關專案的資訊,提高產品的美譽度,並確保專案根據其使用者的需求而發展。
社羣往往與產品創新和採用聯絡在一起,這是開源軟體公司相對於競爭對手的一些核心優勢。因此,當我們評估開源公司時,我們會關注它的社羣參與度,以判斷它是否足夠強大,從而使該公司在競爭解決方案中擁有真正的優勢。
哪些指標很重要
對於像社羣這樣的定性事物而言,準確地衡量是否成功是困難的,特別是考慮到所有不同的利益相關者和相關指標。
對於我們Bessemer的投資標的,我們最關注的是社羣使用者和貢獻者的數量,因為他們是對社羣規模最具洞察力的群體。這就是為什麼我們很少會去關注諸如Github Stars之類的數字,這種數字與其他虛榮性指標一樣,往往會隨著大型新聞稿的釋出而激增,並且由於它們不能反映持續參與,因此具有一定程度的欺騙性。
使用者和貢獻者代表積極參與該專案並依賴該專案的團體,但是鑑於大多數專案依靠其使用者進行的遙測功能(注:Telemetry是一項遠端的從物理裝置或虛擬裝置上高速採集資料的技術)有限,因此,真正的活躍使用者很難衡量。
另一方面,貢獻者雖然僅代表一小部分使用者,不過這個群體更容易測量。這部分使用者傾向於透過投入時間以問題註釋的形式提供反饋,或者偶爾為專案貢獻程式碼,從而與專案之間有更深入互動。我們並不使用貢獻者的數量來衡量專案的開發能力,取而代之的是,我們將其用作該專案獲得多少採用率的代替性指標。
不同的專案之間,貢獻者是一個有點模糊的術語。為了進行基準測試,我們將其定義為在給定月份內建立Github問題、發表評論、Pull Request或提交的任何使用者。相比其他機構只統計提交程式碼到專案中的開發人員,我們對貢獻者的定義範圍更加寬泛。然而,要衡量社羣參與程度,我們認為寬泛的範圍更有幫助。當我們跟蹤許多其他開源資料點時,我們的北極星指標(注:北極星指標也叫作第一關鍵指標,One Metric That Matters,是指在產品的當前階段與業務或戰略相關的絕對核心指標)是一個專案每月貢獻者的活躍度。
最佳的參與度是什麼樣的
在討論最大的開源專案社羣時,不可能不碰到來自科技巨頭的專案。有史以來排名前五位的開源專案分別來自Google,Microsoft和Facebook。這些專案在現代軟體開發和雲基礎架構中起著根本性的作用,它們建立了令人難以置信的大型社羣,每個社羣每月都有1000多個貢獻者。有趣的是,每個專案都已成為各自類別中最流行的一兩個技術,包括VSCode(注:一款開源免費跨平臺程式碼編輯器,廣泛使用的IDE),Kubernetes(Google開源的一個容器編排引擎,它支援自動化部署、大規模可伸縮、應用容器化管理)以及React Native和Flutter(兩個最受歡迎的跨平臺前端框架)。
但是,一旦我們剔除了由大技術公司支援的專案(這些專案與獨立開源專案的相關性較低),而將注意力集中在與關聯商業初創公司有關的前10個獨立專案上,則圖表看起來會大不相同:
在參與度方面,Moby專案(Docker背後的基礎專案)以及最近的Gatsby,在該圖表上都是顯著高於同型別其餘專案的平均值。表中其餘專案的平均每月貢獻者數量分佈在200至600之間,絕對是同類中的頭部水平。在我們分析的前10000個專案中,不到5%的專案每個月擁有250個以上的貢獻者,而只有2%的專案在6個月或更長時間內始終超過250個貢獻者。
衡量貢獻者活動遠非一門科學,但在我們的分析中,我們發現了一些趨勢:
不同成熟度的差異——大多數專案在其早期都經歷了強勁的增長,在社羣活動達到頂峰之後,隨著該專案達到完全成熟,參與度趨於穩定。考慮到這一點,我們在評估參與度與基準時會考慮專案的年齡和成熟度。
按型別劃分的差異——某些型別的專案(例如資料庫),吸引的貢獻者要比其他型別的專案(例如前端框架)少得多,後者擁有更大的開發人員團隊,能夠為其做出貢獻。因此,為了比較專案之間的差異,按照軟體類別對它們進行細分以調整這些變數非常重要,這將在下面更深入地討論。
傾斜——貢獻者的活動嚴重偏向最大的專案。雖然那些最大的專案通常每月超過1000個貢獻者,很少有專案每月不足100個貢獻者。鑑於對大型專案的偏向,我們對於新專案,更加關注是否達到與他們的階段和型別相符合的特定閾值。
一個專案還有無數的細微差別會影響它是否能夠吸引大量貢獻者,包括專案組織得有多好,對新貢獻者的歡迎程度有多高,以及社羣範圍有多廣。出於分析目的,我們專注於最大的因素之一:專案的潛在使用者有多少開發人員?例如,我們知道有能力為像Font Awesome這樣的前端專案做出貢獻的開發人員遠遠多於為ElasticSearch提供專業知識的開發人員。因此,我們對資料庫專案期望的貢獻者數量將大大低於前端專案的數量。
上圖顯示了專案參與度隨時間變化的曲線,說明了流行的前端專案(如React Native和Font Awesome)與流行的資料庫和分析引擎(如ElasticSearch和Apache Spark)之間規模的差異。
而這遠不是一個完美的評估體系,我們已嘗試透過組合四個主要技術型別(前端,後端,devop和資料庫)中排名前10至20的專案的基準集,來開發出可解決專案型別差異的基準,以幫助我們將專案與相關的技術人員進行比較。上面的圖表顯示了月度貢獻者在這些頂級專案中參與度的範圍。
以下是我們從分析中得出的一些結論:
此圖說明了不同類別專案的貢獻者數量之間的顯著差異,頂級的前端專案平均貢獻者數量最多,而頂級資料庫專案的平均貢獻者數量則低得多。
儘管我們使用這些範圍來提供每個類別中一些頂級開源社羣如何發展的背景資訊,但我們並不將這些基準範圍視為定義成功的嚴格規則。
為了讓這些基準能夠有更廣泛的適用範圍,我們可以檢視一些當前專案,包括我們投資的Cypress和Netdata,以瞭解當今一些受歡迎的專案與相關基準進行比對的結果。
一流的基準可以成為有用的指南,但是很少有專案能夠達到基準規模的參與度。坦率地說,在一定程度上,更多的參與並不一定表明專案或公司能夠在商業上取得成功。
如果一些新興的開源專案能夠每月持續超過100個貢獻者,那麼它們將處於行業頭部領域,如果專案每月貢獻者數量超過250個,則接近了有史以來最活躍的專案的成績。實際上,在前10000個專案中,只有6%的專案在6個月或更長時間內保持每月250個貢獻者。
開源社羣還有更多特性,例如貢獻者活動的質量和忠誠性,這些特性很難量化,但同樣重要,我們知道這些貢獻者指標僅說明了故事的一部分。但是這些建立在強大開源社羣之上的公司,比他們的競爭對手擁有更多的優勢,作為投資者,我們傾向於投資這種型別的公司。
軟體的未來是社羣驅動的
我們正處於一個軟體開發越來越多地由社羣驅動的階段,商業軟體和開源軟體之間的界限越來越模糊,我們希望越來越多的公司將其核心技術開源,因為開源能給社羣和公司帶來共同的利益,並專注於如何實現盈利。隨著Bessemer對這些型別公司的投資持續增加,我們對開源專案指標的研究將會更進一步,因為我們將擁有更多的資料來源納入分析,並更好地完善我們的指標。
原文連結:
https://www.bvp.com/atlas/measuring-the-engagement-of-an-open-source-software-community/?from=feature#page_top