開源社區(qū)健康指的是圍繞一個開源項目形成的社區(qū)中關(guān)于項目的技術(shù)迭代、社區(qū)的組織架構(gòu)、成員構(gòu)成、開源治理、上下游協(xié)作、社區(qū)生態(tài)、商業(yè)化等多方面的多樣性與管理、運作能力狀態(tài)。這些因素在指導(dǎo)開源項目與相應(yīng)社區(qū)不斷發(fā)展的過程中至關(guān)重要。
今天為大家介紹的開源社區(qū)健康案例是NebulaGraph 社區(qū),其是2022 年度 OSC 中國開源項目評選——「2022 中國開源社區(qū)健康案例」獲獎社區(qū)之一。
part.01 項目情況NebulaGraph 是一款開源的、分布式的、易擴(kuò)展的原生圖數(shù)據(jù)庫,底層數(shù)據(jù)模型是屬性圖,項目基于 C++ 編寫,能夠承載包含數(shù)千億個點和數(shù)萬億條邊的超大規(guī)模數(shù)據(jù)集,并且提供毫秒級查詢。它提供高吞吐量、低延時的讀寫能力,內(nèi)置 ACL 機(jī)制和用戶鑒權(quán),為用戶提供安全的數(shù)據(jù)庫訪問方式。在查詢語言方面,開發(fā)團(tuán)隊完全自研開發(fā)查詢語言——nGQL,并兼容開源的圖查詢語言 openCypher。

項目從 2019 年 5 月開源至今,先后經(jīng)歷了 v1.0-alpha、v1.0-beta 到如今的 v3.3.0 等 30 個大小版本,期間有 200 + 開源愛好者參與了 NebulaGraph 的項目開發(fā),他們分布在 NebulaGraph 相關(guān)的 40+ 開源倉中,其中 contributor 較為集中的倉庫有內(nèi)核的 nebula、文檔的 nebula-docs。 在這個過程中,NebulaGraph 項目收集了 20,019 個 pr,15,211 個 commit。下圖為 pr 的分布圖:

除了與 NebulaGraph 同行的代碼貢獻(xiàn)者之外,社區(qū)還有 10 位 NebulaGraph 大使在各個技術(shù)會場布道圖技術(shù),61 位寫手在官方博客或者其他技術(shù)平臺分享他們的 NebulaGraph 最佳實踐,243 名啟蒙者在社區(qū)論壇回復(fù)他人的問題并被對方接受以及 114 名社區(qū)用戶捕捉到了 30 個版本中的 bug。 在 NebulaGraph 開源的過程中,也深入了金融、保險、通信、能源、電力、制造、公安、數(shù)字政府、新零售等等多個行業(yè)領(lǐng)域,被國內(nèi)外多家諸如:美團(tuán)、騰訊、快手、華為、中國移動等等企業(yè)青睞,運行在 1,000+ 企業(yè)的業(yè)務(wù)環(huán)境中。這些采用 NebulaGraph 作為作為他們圖技術(shù)底座的企業(yè)對 NebulaGraph 有著一致的反饋:
社區(qū)活躍,問題響應(yīng)快;
性能極佳,能解決業(yè)務(wù)痛點;
穩(wěn)定持久,保障業(yè)務(wù)高可用;
國產(chǎn)開源,產(chǎn)品快速迭代;
未來可期,能應(yīng)對未來的業(yè)務(wù)增長;
Part.02 治理模式
NebulaGraph 是開源的分布式圖數(shù)據(jù)庫,在開源的過程中社區(qū)規(guī)模的增長之余,也帶來了社區(qū)的治理的不斷完善,形成了一套相對成體系的社區(qū)用戶成長體系。而這一切都有賴于社區(qū)用戶和 NebulaGraph 的努力

與大多數(shù)社區(qū)項目不同的是,NebulaGraph 的社區(qū)構(gòu)成分成了兩部分:開發(fā)者(Dev Group)和用戶(User Group)。
Dev Group
Dev Group 是由活躍在 NebulaGraph 及其周邊工具倉庫的開發(fā)者組成,他們主要負(fù)責(zé)讓 NebulaGraph 產(chǎn)品更加穩(wěn)定、功能更加豐富、性能更佳。根據(jù)他們對整個 NebulaGraph 倉庫的貢獻(xiàn),分為 4 種角色:PMC、Committer、Active Contributor 和 Contributor。
PMC,全稱 Project Management Committee,負(fù)責(zé)制定 NebulaGraph 產(chǎn)品功能規(guī)劃和主導(dǎo) NebulaGraph 項目開發(fā)。
Contributor,由給 NebulaGraph 及其周邊倉庫做出貢獻(xiàn)的開發(fā)者組成。
Active Contributor,由給 NebulaGraph 及其周邊倉庫做出大貢獻(xiàn)的開發(fā)者組成。
Committer,由給 NebulaGraph 及其周邊倉庫做出巨大貢獻(xiàn)的開發(fā)者組成,具有對應(yīng)倉庫的 pr 的 approve 權(quán)限。
User Group
User Group 由活躍在 NebulaGraph 論壇及其微信群、Slack 的用戶組成,他們引導(dǎo)其他用戶更好地了解、實踐 NebulaGraph,同 NebulaGraph 官方共建 NebulaGraph 社區(qū)。根據(jù)他們引導(dǎo)用戶的方法不同,我們將他們分為了 4 種角色:Participant、Writer、Ambassador 和 Partner。
Participant,他們嘗試幫忙解決他人問題,因此他們在論壇的身份標(biāo)識是 好心人。根據(jù)他們后續(xù)的建設(shè) NebulaGraph 社區(qū)的方式,分為:捉蟲小能手 Hunter、創(chuàng)造者 Creator 和啟蒙者 Explainer 等 3 種角色。
捉蟲小能手,是一群幫忙定位 bug 的社區(qū)用戶。
創(chuàng)造者,是一群幫忙改進(jìn) NebulaGraph 社區(qū)用戶,他們在社區(qū)中提出他們的反饋和建議。
啟蒙者是一群在論壇、微信群、Slack 等渠道回復(fù)其他社區(qū)用戶問題的用戶,根據(jù)他們回復(fù)被采納的情況,分為:啟蒙者、輔導(dǎo)員、引路人。
Writer,他們用文字的形式記錄他們的使用過程,幫助其他用戶更好地使用 NebulaGraph。根據(jù)他們產(chǎn)出文章的數(shù)量,分為:特約寫手 Writer、資深作家 Author、布道師 Preacher。
特約寫手,撰寫 1 篇相關(guān)測評或者實踐分享。如果內(nèi)容為測評類,用戶額外會獲得 NebulaGraph 測評員稱謂。
資深作家,為社區(qū)撰寫 2 篇相關(guān)測評或者實踐分享。
布道師:為社區(qū)撰寫 3 篇相關(guān)測評或者實踐分享。
Ambassador,NebulaGraph 大使用音、視頻形式向他人分享圖技術(shù),幫助其他開發(fā)者更好地認(rèn)識、了解 NebulaGraph。
Partner,他們積極地組織線上、線下活動同其他開發(fā)者交流圖技術(shù),幫助其他開發(fā)者更好地認(rèn)識、了解 NebulaGraph。
Part.03 運營體驗
開源社區(qū)的運營,歸根到底是人的關(guān)系維護(hù),而 NebulaGraph 所屬領(lǐng)域為圖數(shù)據(jù)庫是最擅長解決關(guān)系的數(shù)據(jù)庫。NebulaGraph 在項目運營過程中,一直非常關(guān)注開發(fā)者和社區(qū)用戶對社區(qū)的認(rèn)同感。 運營人員重視解決開發(fā)者、用戶的問題解決與否之余,時刻關(guān)注者社區(qū)用戶的成長,開啟了幫助開發(fā)者成長、深入項目開發(fā)的「源碼解讀」系列了解項目的架構(gòu)、代碼設(shè)計思路以及編碼風(fēng)格。此外,還提供了供社區(qū)用戶交流技術(shù)的論壇、微信群、Slack 等平臺,讓用戶在彼此的實踐中了解更多的 NebulaGraph 的使用方法。 一言蔽之,用心去做開源社區(qū)的運營讓用戶感受到真誠以及溫暖,并一起共建 NebulaGraph 開源社區(qū)。
Part.04 生態(tài)共建
NebulaGraph 社區(qū)不只是專注于自身的產(chǎn)品發(fā)展,還致力于同其他的開源項目一起。

有對接 Spark 大數(shù)據(jù)生態(tài)的圖計算開源項目 nebula-algorithm、數(shù)據(jù)處理工具 nebula-spark-connector 和 nebula-exchange,還有對接 Flink 生態(tài)的 nebula-flink-connector,以及對接圖計算 Plato 框架的 nebula-plato。 此外,在自研的路上,NebulaGraph 社區(qū)也積極參與其他開源社區(qū)的項目開發(fā),給數(shù)據(jù)治理框架 Amundsen 提交了相關(guān)的存儲支持 pr#1817。 有來有往的是,NebulaGraph 社區(qū)用戶也反饋、捐獻(xiàn)了社區(qū)他們的項目實踐:
大數(shù)據(jù)生態(tài)
DataX:數(shù)據(jù)集成
nebula-real-time-exchange:數(shù)據(jù)實時同步工具
客戶端補(bǔ)充
nebula-node:Node.js 客戶端
nebula-php:PHP 客戶端
nebula-net:.NET 客戶端
Java 相關(guān)工具
ngbatis:針對 NebulaGraph + Springboot 的數(shù)據(jù)庫 ORM 框架
nebula-jdbc:JDBC 連接器
graph-ocean:nebula-java 的 ORM
graph-gateway:使用 Java 語言開發(fā)對接 NebulaGraph 圖數(shù)據(jù)庫的后端基礎(chǔ)服務(wù)工程
nebula-swagger-demo:NebulaGraph Swagger Springboot Demo Project
nebula2-demo:Nebula2.0 Java Client 使用 Demo
Python 相關(guān)工具
nebula-carina:Python ORM
Golang 相關(guān)工具
norm:Golang ORM
審核編輯 :李倩
-
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
4020瀏覽量
68373 -
C++
+關(guān)注
關(guān)注
22文章
2124瀏覽量
77154 -
ACL
+關(guān)注
關(guān)注
0文章
61瀏覽量
12830
原文標(biāo)題:中國開源社區(qū)健康案例——NebulaGraph社區(qū)
文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
開放原子電鴻開源社區(qū)工作委員會正式成立
IvorySQL開源社區(qū)正式發(fā)布IvorySQL 5.0版本
2025開放原子開發(fā)者大會旋武開源社區(qū)Rust分論壇成功舉辦
RT-Thread榮膺開放原子開源先鋒項目,社區(qū)開發(fā)者斬獲“開源貢獻(xiàn)之星”|新聞速遞
中國開源社區(qū)健康案例——NebulaGraph社區(qū)
評論