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

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

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

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

有對(duì)接 Spark 大數(shù)據(jù)生態(tài)的圖計(jì)算開源項(xiàng)目 nebula-algorithm、數(shù)據(jù)處理工具 nebula-spark-connector 和 nebula-exchange,還有對(duì)接 Flink 生態(tài)的 nebula-flink-connector,以及對(duì)接圖計(jì)算 Plato 框架的 nebula-plato。 此外,在自研的路上,NebulaGraph 社區(qū)也積極參與其他開源社區(qū)的項(xiàng)目開發(fā),給數(shù)據(jù)治理框架 Amundsen 提交了相關(guān)的存儲(chǔ)支持 pr#1817。 有來有往的是,NebulaGraph 社區(qū)用戶也反饋、捐獻(xiàn)了社區(qū)他們的項(xiàng)目實(shí)踐:
大數(shù)據(jù)生態(tài)
DataX:數(shù)據(jù)集成
nebula-real-time-exchange:數(shù)據(jù)實(shí)時(shí)同步工具
客戶端補(bǔ)充
nebula-node:Node.js 客戶端
nebula-php:PHP 客戶端
nebula-net:.NET 客戶端
Java 相關(guān)工具
ngbatis:針對(duì) NebulaGraph + Springboot 的數(shù)據(jù)庫(kù) ORM 框架
nebula-jdbc:JDBC 連接器
graph-ocean:nebula-java 的 ORM
graph-gateway:使用 Java 語(yǔ)言開發(fā)對(duì)接 NebulaGraph 圖數(shù)據(jù)庫(kù)的后端基礎(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ù)庫(kù)
+關(guān)注
關(guān)注
7文章
4085瀏覽量
68569 -
C++
+關(guān)注
關(guān)注
22文章
2131瀏覽量
77420 -
ACL
+關(guān)注
關(guān)注
0文章
61瀏覽量
12873
原文標(biāo)題:中國(guó)開源社區(qū)健康案例——NebulaGraph社區(qū)
文章出處:【微信號(hào):OSC開源社區(qū),微信公眾號(hào):OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
開源歐拉社區(qū)正式發(fā)布o(jì)penEuler Embedded 26.03版本
思必馳牽頭建設(shè)國(guó)內(nèi)首個(gè)垂直領(lǐng)域開源社區(qū)具智社區(qū)
沐曦股份全面入駐國(guó)家教育開源平臺(tái)啟悟?qū)W習(xí)社區(qū)
天數(shù)智芯DeepSpark開源社區(qū)正式發(fā)布百大應(yīng)用開放平臺(tái)26.03版本
Banana Pi開源社區(qū)開源產(chǎn)品系列規(guī)格(2026年產(chǎn)品畫冊(cè))
中國(guó)開源社區(qū)健康案例——NebulaGraph社區(qū)
評(píng)論