開源社區(qū)健康指的是圍繞一個開源項目形成的社區(qū)中關于項目的技術(shù)迭代、社區(qū)的組織架構(gòu)、成員構(gòu)成、開源治理、上下游協(xié)作、社區(qū)生態(tài)、商業(yè)化等多方面的多樣性與管理、運作能力狀態(tài)。這些因素在指導開源項目與相應社區(qū)不斷發(fā)展的過程中至關重要。
今天為大家介紹的開源社區(qū)健康案例是NebulaGraph 社區(qū),其是2022 年度 OSC 中國開源項目評選——「2022 中國開源社區(qū)健康案例」獲獎社區(qū)之一。
part.01 項目情況NebulaGraph 是一款開源的、分布式的、易擴展的原生圖數(shù)據(jù)庫,底層數(shù)據(jù)模型是屬性圖,項目基于 C++ 編寫,能夠承載包含數(shù)千億個點和數(shù)萬億條邊的超大規(guī)模數(shù)據(jù)集,并且提供毫秒級查詢。它提供高吞吐量、低延時的讀寫能力,內(nèi)置 ACL 機制和用戶鑒權(quán),為用戶提供安全的數(shù)據(jù)庫訪問方式。在查詢語言方面,開發(fā)團隊完全自研開發(fā)查詢語言——nGQL,并兼容開源的圖查詢語言 openCypher。
項目從 2019 年 5 月開源至今,先后經(jīng)歷了 v1.0-alpha、v1.0-beta 到如今的 v3.3.0 等 30 個大小版本,期間有 200 + 開源愛好者參與了 NebulaGraph 的項目開發(fā),他們分布在 NebulaGraph 相關的 40+ 開源倉中,其中 contributor 較為集中的倉庫有內(nèi)核的 nebula、文檔的 nebula-docs。 在這個過程中,NebulaGraph 項目收集了 20,019 個 pr,15,211 個 commit。下圖為 pr 的分布圖:
除了與 NebulaGraph 同行的代碼貢獻者之外,社區(qū)還有 10 位 NebulaGraph 大使在各個技術(shù)會場布道圖技術(shù),61 位寫手在官方博客或者其他技術(shù)平臺分享他們的 NebulaGraph 最佳實踐,243 名啟蒙者在社區(qū)論壇回復他人的問題并被對方接受以及 114 名社區(qū)用戶捕捉到了 30 個版本中的 bug。 在 NebulaGraph 開源的過程中,也深入了金融、保險、通信、能源、電力、制造、公安、數(shù)字政府、新零售等等多個行業(yè)領域,被國內(nèi)外多家諸如:美團、騰訊、快手、華為、中國移動等等企業(yè)青睞,運行在 1,000+ 企業(yè)的業(yè)務環(huán)境中。這些采用 NebulaGraph 作為作為他們圖技術(shù)底座的企業(yè)對 NebulaGraph 有著一致的反饋:
社區(qū)活躍,問題響應快;
性能極佳,能解決業(yè)務痛點;
穩(wěn)定持久,保障業(yè)務高可用;
國產(chǎn)開源,產(chǎn)品快速迭代;
未來可期,能應對未來的業(yè)務增長;
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ā)者組成,他們主要負責讓 NebulaGraph 產(chǎn)品更加穩(wěn)定、功能更加豐富、性能更佳。根據(jù)他們對整個 NebulaGraph 倉庫的貢獻,分為 4 種角色:PMC、Committer、Active Contributor 和 Contributor。
PMC,全稱 Project Management Committee,負責制定 NebulaGraph 產(chǎn)品功能規(guī)劃和主導 NebulaGraph 項目開發(fā)。
Contributor,由給 NebulaGraph 及其周邊倉庫做出貢獻的開發(fā)者組成。
Active Contributor,由給 NebulaGraph 及其周邊倉庫做出大貢獻的開發(fā)者組成。
Committer,由給 NebulaGraph 及其周邊倉庫做出巨大貢獻的開發(fā)者組成,具有對應倉庫的 pr 的 approve 權(quán)限。
User Group
User Group 由活躍在 NebulaGraph 論壇及其微信群、Slack 的用戶組成,他們引導其他用戶更好地了解、實踐 NebulaGraph,同 NebulaGraph 官方共建 NebulaGraph 社區(qū)。根據(jù)他們引導用戶的方法不同,我們將他們分為了 4 種角色:Participant、Writer、Ambassador 和 Partner。
Participant,他們嘗試幫忙解決他人問題,因此他們在論壇的身份標識是 好心人。根據(jù)他們后續(xù)的建設 NebulaGraph 社區(qū)的方式,分為:捉蟲小能手 Hunter、創(chuàng)造者 Creator 和啟蒙者 Explainer 等 3 種角色。
捉蟲小能手,是一群幫忙定位 bug 的社區(qū)用戶。
創(chuàng)造者,是一群幫忙改進 NebulaGraph 社區(qū)用戶,他們在社區(qū)中提出他們的反饋和建議。
啟蒙者是一群在論壇、微信群、Slack 等渠道回復其他社區(qū)用戶問題的用戶,根據(jù)他們回復被采納的情況,分為:啟蒙者、輔導員、引路人。
Writer,他們用文字的形式記錄他們的使用過程,幫助其他用戶更好地使用 NebulaGraph。根據(jù)他們產(chǎn)出文章的數(shù)量,分為:特約寫手 Writer、資深作家 Author、布道師 Preacher。
特約寫手,撰寫 1 篇相關測評或者實踐分享。如果內(nèi)容為測評類,用戶額外會獲得 NebulaGraph 測評員稱謂。
資深作家,為社區(qū)撰寫 2 篇相關測評或者實踐分享。
布道師:為社區(qū)撰寫 3 篇相關測評或者實踐分享。
Ambassador,NebulaGraph 大使用音、視頻形式向他人分享圖技術(shù),幫助其他開發(fā)者更好地認識、了解 NebulaGraph。
Partner,他們積極地組織線上、線下活動同其他開發(fā)者交流圖技術(shù),幫助其他開發(fā)者更好地認識、了解 NebulaGraph。
Part.03 運營體驗
開源社區(qū)的運營,歸根到底是人的關系維護,而 NebulaGraph 所屬領域為圖數(shù)據(jù)庫是最擅長解決關系的數(shù)據(jù)庫。NebulaGraph 在項目運營過程中,一直非常關注開發(fā)者和社區(qū)用戶對社區(qū)的認同感。 運營人員重視解決開發(fā)者、用戶的問題解決與否之余,時刻關注者社區(qū)用戶的成長,開啟了幫助開發(fā)者成長、深入項目開發(fā)的「源碼解讀」系列了解項目的架構(gòu)、代碼設計思路以及編碼風格。此外,還提供了供社區(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 提交了相關的存儲支持 pr#1817。 有來有往的是,NebulaGraph 社區(qū)用戶也反饋、捐獻了社區(qū)他們的項目實踐:
大數(shù)據(jù)生態(tài)
DataX:數(shù)據(jù)集成
nebula-real-time-exchange:數(shù)據(jù)實時同步工具
客戶端補充
nebula-node:Node.js 客戶端
nebula-php:PHP 客戶端
nebula-net:.NET 客戶端
Java 相關工具
ngbatis:針對 NebulaGraph + Springboot 的數(shù)據(jù)庫 ORM 框架
nebula-jdbc:JDBC 連接器
graph-ocean:nebula-java 的 ORM
graph-gateway:使用 Java 語言開發(fā)對接 NebulaGraph 圖數(shù)據(jù)庫的后端基礎服務工程
nebula-swagger-demo:NebulaGraph Swagger Springboot Demo Project
nebula2-demo:Nebula2.0 Java Client 使用 Demo
Python 相關工具
nebula-carina:Python ORM
Golang 相關工具
norm:Golang ORM
審核編輯 :李倩
-
數(shù)據(jù)庫
+關注
關注
7文章
3904瀏覽量
65818 -
C++
+關注
關注
22文章
2117瀏覽量
74823 -
ACL
+關注
關注
0文章
61瀏覽量
12364
原文標題:中國開源社區(qū)健康案例——NebulaGraph社區(qū)
文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
openKylin社區(qū)會員突破1000家
開源小滿社區(qū)首期技術(shù)交流會順利舉行
Banana Pi開源社區(qū)基于瑞芯微RK3588開發(fā)板,DeepSeek開發(fā)利器

SOPHGO RISC-V SoC Linux Kernel 社區(qū)郵件列表建立,歡迎加入開源社區(qū)為RISC-V生態(tài)完善添磚加瓦

共建繁榮生態(tài)|開鴻智谷榮獲“2024年度開源鴻蒙社區(qū)卓越單位”

RT-Thread榮登2024開源創(chuàng)新榜單,躋身中國十大開源社區(qū)

黃鶴開源社區(qū)正式發(fā)布
deepin榮獲2024年度開源社區(qū)獎
deepin社區(qū)落地開源生態(tài)發(fā)展合作倡議
deepin社區(qū)攜手共話開源新生代成長之路
從開源中來到開源中去-RT-Thread北京社區(qū)篇

評論