GitHub 標星超 26600,TiDB 社區運營的道與術!

採訪嘉賓 | 姚維

作者 | 夕顏

出品 | AI科技大本營(ID:rgznai100)

年前,企業級開源軟件服務供應商 PingCAP 宣佈完成 2.7 億美元的 D 輪融資,創造了全球數據庫歷史新的里程碑,也爲這家成立並不久(2015 年)卻已在海內外已有名氣的數據庫廠商注入了新的活力。

 

在國內外的各種榜單上,PingCAP 的產品都有了一定的知名度和影響力。在國內墨天輪對國產數據庫的排名中,PingCAP 一手打造,也是其最核心的分佈式數據庫產品 TiDB,自 2020 年 1 月起至今已經連續霸榜冠軍達 13 個月之久。

在全球範圍內,PingCAP 已經向包括中國、美國、歐洲、日本、東南亞等國家和地區,超過 1500 家企業提供服務,涉及金融、運營商、製造、零售、互聯網、政府等多個行業。在最能體現企業技術研發能力的 GitHub 上,TiDB 目前已總計獲得超過 26600 顆星,超過 1200 位開源代碼貢獻者,參與企業包括美團、知乎、伴魚、豐巢、小米、微衆銀行、UCloud、Zoom、Samsung、Square、PayPay 等,TiDB 已成爲全球基礎軟件領域的知名開源項目。

TiDB 之所以能夠獲得這樣的影響力,與其背後高度活躍的開源社區緊密相關,完整的『用戶——產品——Contributor 』社區飛輪也形成了 TiDB 獨具特色運營模式。

TiDB 社區有何運營之道?爲什麼能夠成爲國內少數幾個高度活躍的開發者社區?PingCAP 社區事業部總經理姚維與 AI 科技大本營對話,對外分享了 TiDB 社區的治理之道,及對開源的獨到見解。

 

一個技術創業者與 TiDB 的淵源

 

在加入 PingCAP 之前,姚維是一個典型的技術創業者。最初姚維創業,就想要做一個安卓推送系統,靠賣基礎設施賺錢,然而很遺憾,由於種種原因,姚維這次創業最終以失敗告終。

 

這次創業失敗後,姚維加入 360,做起了技術架構方面的工作,負責當時在中國很有名的開源項目——Atlas(MySQL 中間件服務)。這個項目與當時 PingCAP 創始人劉奇、黃東旭和崔秋在做的 TiDB 目標相同,都是爲了解決 MySQL 擴展性和侷限性問題,比如  MySQL 不支持跨節點事務,運維很不方便,可能出現熱點的單片等很難解決等問題。作爲 TiDB 最早的 contributor 之一,姚維與 PingCAP 的緣分就此展開。

 

加入 PingCAP 之後,姚維從一線寫代碼做內核開發,一路成長,目前負責 TiDB 社區管理。從一線技術到社區管理,姚維的工作內容發生了很多改變,精力也從之前寫代碼轉移到社區的運營和治理中來。

 

TiDB 開源社區爲什麼能壯大?

 

以開發者爲中心,是社區不斷壯大的基礎。比如不久剛結束的TiDB Hackathon ,就被譽爲『開發者的春晚』》。這次賽事吸引了海內外數千名技術愛好者參加,圍繞 TiDB 提交了各種各樣有創意性的作品。其中,最讓姚維印象深刻,也是作爲彩蛋出現的 TiCockpit(滑滑蛋)。

 

TiCockpit 是一款虛擬現實運維套件, 像一個駕駛艙一樣,它讓 DBA 能夠使用 VR 設備直觀地觀測 TiDB 集羣的指標, 帶給開發者沉浸式的運維體驗,和直觀的操作反饋。

 

遺憾的是,這個作品雖然趣味性強,但是與獲獎作品相比,落地性和實用性還是有所差距,因此並未獲獎。但這種大開腦洞的方案,爲優化 TiDB 提出更好的思路,這也是 TiDB 舉辦 Hackathon 的意義所在。

 

有人說 TiDB 是一家 Hackathon 驅動的公司,正是因爲 TiDB 的 Hackathon 是從社區出發,尊重每一個開發者的創意和想法,給他們充分的自由和空間,開發者纔會爲 TiDB 的貢獻出源源不斷的靈感,創造出無限可能。

 

從成立到現在,TiDB 社區已經獲得26,600+ Stars 、1200+ Contributors,以及衆多海外貢獻者,在 CNCF 2020 全球貢獻榜中,PingCAP 排名第六,在國內企業中貢獻排名第一。

 

PingCAP 開源社區爲什麼能壯大?姚維分享了其在開源社區運營中的經驗。

 

以 TiDB 社區爲例,他認爲 PingCAP 開源社區壯大的根本原因,在於其更注重人的體驗,更關注人和社區中的每一個人的榮譽感和參與感。一般做開發者社區有這樣幾種方法,一種是從頂向下,通過渠道和宣傳吸引開發者;一種是從底向上的方法,這也是 PingCAP 現在所採用的方式,更關注社區開發者的進階和每個階段能做的事情與遇到的障礙,並通過榮譽上的激勵和組織建設,給社區用戶好的體驗,從而達到口口相傳,獲得傳播的目的。

 

無論是開發者還是用戶組,TiDB 社區都會爲進階的貢獻者準備對應的榮譽體系。比如開發者在社區中可以沿着 Contributor,Reviewer,Committer,Maintainer 的成長路徑。用戶組成員可以成爲 MVA(Most Valuable Advocate),MOA (Most Outstanding Advocate)等等。通過設計社區的參與規則和進階規則,讓貢獻者們能夠按照規則不斷有升級打怪的感覺。

 

同時,TiDB 社區還參考其他社區的玩法,設立相應的 SIG(Special Interest Group)。讓不同興趣愛好的人能夠在一個相對垂直的小組裏面找到同好,也讓彼此之間的協作更加緊密。

 

對社區而言,透明、公開、信任是基礎。所以 TiDB 社區中,包括技術方案,社區決策在內的討論,都是公開、透明的,所有的內容都會通過郵件組 lists.tidb.io 中進行展示及落地。TiDB 社區之前嘗試過多種討論的承載平臺,包括 Github、Slack、微信羣,最終還是堅持了國際通用的郵件組方式,因爲這種方式給異步工作以及討論回溯帶來非常好的用戶體驗。

 

另外,爲了降低參與社區的門檻, TiDB 還會爲貢獻者們設計一些針對性的課程,手把手的教大家學會開發和使用 TiDB,這些課程包括面向開發者的 Talent Plan,和麪向使用者的 PCTA,PCTP 培訓等課程。

項目治理要避免自嗨

 

在 TiDB 開源項目的治理中,姚維也積累了一些自己的經驗。

 

姚維認爲,開源項目治理最重要一件事,是要避免自嗨。比如看到 Apache 基金會、Linux 基金會、CNCF 基金會都有詳細的規則規範,新的開源項目上來就想照搬經驗,大概率是會失敗的。因爲這些開源社區的規則,是根據各自社羣的特點制定運轉的,協作和組織的方式有各自的特點,不一定是適用於所有開源社區。姚維認爲,可以借鑑已經做得很完善的開源社區的治理規則,但切記生搬硬套。TiDB 在開源項目治理中就借鑑了很多優秀開源社區的項目治理經驗,比如 Apache、Kubernetes、Linux 等,但是在面對國內開發者羣體時,還是會根據國內的人羣特有的一些習慣來做本地化。

做國際化的社區

 

另一個值得注意的問題是,通常在國內做開源社區時,大家會把做國內和海外分得特別清楚,但 PingCAP 似乎沒有考慮過這個問題,他們更多地是思考如何做一個國際化的開源社區,因此並沒有專門設計一套國內開發者規則,而是從全球化的角度,適應國際化的需求。這也是 PingCAP 在運營 TiDB 時所堅持的一點,避免把它做成一個只屬於中國的社區。

 

提到國際化,怎樣做才能免去國際化過程中的障礙, PingCAP 也做了一些嘗試。比如在運營上,國內社區的主陣地通常是微信羣、釘釘羣和 QQ 羣等社交平臺,但這種方式對於海外協作不夠友好。因此, PingCAP 優先 Slack 的運營,技術討論也建議開發者在郵件組中進行,這樣有利於回溯討論背景,而微信羣等國內社交平臺,則作爲活動通知和關係維護的渠道而存在。

 

姚維還特意提到,在國內做社區,中文和英文也是一定會面臨的問題,TiDB  也參考 Apache Flink 的做法。Flink 是 Apache 郵件組中唯一一個有中文郵件組的,他們會把中文的討論放在中文郵件組中,而默認的 dev 郵件列表是英文爲主。這樣,中文和英文的溝通問題可以得到比較好的解決。

開源與商業化

 

TiDB 是一個開源社區,如何在開源的基礎上獲得商業上的收益,是 TiDB 和所有社區運營者都在思考的問題,也是業界探討已久的一個話題。

 

很多時候大家可能會認爲,開源就意味着免費,開源與商業化背道而馳。但實踐證明,其實開源與商業化並非一對矛盾體。

 

姚維分析道,關於開源與商業化的共贏共存模式,已經歷過數次迭代。在 Linux 這一代的潮流中,開源的概念在當時並沒有很多人關注,大家更多地是講免費與自由。接下來,紅帽進行了典型的商業化嘗試,模式基本上是出售服務和品牌。但在姚維看來,相對於微軟和 Oracle,紅帽在開源商業化上的嘗試僅僅算是不溫不火的成功。

 

到第二代,出現了 Open Core 模式,比如 MongoDB,ElasticSearch 等等。再到最近這些年,開源與雲產生聯繫。雲帶來了類似於 SaaS 的規模化效應方式,雲+開源成爲一種更好的商業模式。

 

PingCAP 從來不擔心開源與免費之間的衝突,而是認爲只有符合經濟學意義上的開源,纔是一種可持續的模式。

PingCAP 的開源之道

 

開源是 PingCAP 從創立之初就堅持的企業發展戰略,認爲開源是當前全球化背景下基礎軟件領域成功的唯一道路。

 

開源與商業並不衝突。堅持開源的 PingCAP,迄今爲止從開源中也得到了一些實實在在的收益。

 

談及此,姚維提到了埃裏克·斯蒂芬·雷蒙在《大教堂和市集》中寫到的大教堂模式(The Cathedral model):源代碼在軟件發行後公開,但在軟件的每個版本開發過程中是由一個專屬的團隊所控管的),姚維也非常認可開源的“集市”模式。他認爲,這種集中式、有規劃的開發模式的優勢,就在於有足夠多的眼睛幫你發現複雜系統中隱藏的,根本不可能由開發者自己或測試人員發現的問題,由此帶來的高速迭代,是“大教堂”方式開發的軟件所不能比擬的。

 

(大教堂和市集封面,來源:維基百科)

 

這是 PingCAP 堅持開源的原因之一,而開源所帶來的收益,PingCAP 也可以切身感受到。比如對於 PingCAP 產品的發展的推動,短短几年之內,TiDB 就發展成如今這樣的成熟產品。

 

第二個收益,是開源這種更加開放的文化,爲 PingCAP 內部的決策和組織形式帶來很多幫助。紅帽總裁兼 CEO Jim Whitehurst 在出版的《開放式組織》一書中,曾詳細解析了這家公司是如何在公司範圍內收集所有人的建議作爲決策依據的機制,呼籲企業組織從20世紀傳統的管理模式中解放出來,擁抱開放式組織模式。受到感染,PingCAP 也在踐行類似的文化,比如此次舉辦的黑客馬拉松,初版的整體設計機制,就是通過開源社區的反饋和意見來決策的,初賽和最終決賽的賽制,也是一名社區成員提出的。這種公開、開放的文化對於工程師來說是友好的,因爲工程師就是一個喜歡公開透明、開放的羣體,PingCAP 的開源文化,成爲其招攬優秀工程師的重要因素。

 

第三個就是商業和市場上的收益,開源使得 PingCAP 的每一次測評都會吸引大量開發者參與,甚至自發寫下體驗文章,無形中,用戶和開發者的背書提高了 PingCAP 產品的可信度,商業上的效益自然隨之而來。

 

當然,開源也爲 PingCAP 帶來互聯網公司對其技術棧的信任,能夠被技術能力較強的互聯網公司用起來的技術棧,通常代表着下一代技術的發展方向,如果不開源,這些產品可能到不了這些互聯網公司的面前。

 

從此次採訪中,姚維對外界分享了開源社區運營上的獨到見解,相信對於國內類似開源社區來說也是一個不錯的借鑑。可以看到,作爲一家企業級開源軟件服務提供商,PingCAP 志在全球,開源開放的態度對於其構建國際化生態體系,顯然大有裨益,無論是口碑建設還是商業收益,通過社區兼收幷蓄海內外開發者的優勢和長處,都會讓 PingCAP 走得更遠。

 

採訪嘉賓

 

姚維,PingCAP 社區事業部總經理。曾在奇虎360基礎架構組負責開源 MySQL中間件Atlas, 2012年創業做過安卓推送系統聚能推。加入 PingCAP 後曾帶領 TiDB SQL Infra組,TiKV 事務組,PD 組等技術團隊,現在主要聚焦在社區生態開拓和開源社區治理等領域。

更多精彩推薦
☞讀懂深度遷移學習,看這文就夠了 | 贈書
☞『帶你學AI』一文帶你搞懂OCR識別算法CRNN:解析+源碼
☞龍泉寺賢超法師:用 AI 爲古籍經書識別、斷句、翻譯
☞微信十週年,騰訊曬成績單了!
點分享點收藏點點贊點在看
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章