上世紀 90 年代初,21 歲大學生 Linus Torvalds 開源 Linux 操作系統,自此掀起全球開源浪潮。隨后“中國 Linux 第一人”宮敏博士用手提肩背的方式將 20 盒磁帶背回中國,磁帶里裝著 80G 容量的自由軟件,組建起中國第一個自由軟件庫,點燃中國開源之火。
20 年時間滑過,中國開源力量在全球舞臺上表現亮眼,喜訊不斷,捷報連連:今年 3 月,開源被列入“十四五”規劃;2020 年成立中國首個開源基金會開放原子開源基金會,推出中國首個國際通用開源協議木蘭。在融資資本上,PingCAP 完成 D 輪 2.7 億美元融資;TDengine 背后的濤思數據拿下 4700 萬美元 B 輪融資;如今深受開發者喜愛的分布式數據庫中間件 ShardingSphere,由其核心團隊組建的商業公司—— SphereEx 完成了數百萬美元天使輪融資。
在這背后,離不開兩位開源“趕集人”——Apache ShardingSphere 及 ElasticJob 創始人& PMC Chair 張亮、Apache ShardingSphere PMC 潘娟,多年來孜孜不倦地投入。CSDN 專訪兩位 SphereEx 創始人,聊聊這一路走來,從普通從事開源的工程師到成功創辦開源企業獲得融資的心路歷程。

左:張亮,右:潘娟
跌跌撞撞開源路,瞄準分布式數據庫中間件
時間撥回最初的啟程,2015 年是張亮從事開發的第 10 年。“十”似乎是個有魔法的數字,每個人在“十”的節點上,或多或少遇見難忘的人和事。
這一年,張亮開源了第一個項目分布式調度框架 ElasticJob,當前 Star 數為 7K+。隨后于 2016 年 1 月,開源數據庫分庫分表中間件 Sharding-JDBC(ShardingSphere 的前身),Sharding-JDBC 迅速引發開發者的關注度。
“早在 2008 年,我就想從事開源工作,當時自己開源了一個小項目,不過并不成功,star 數量寥寥可數。從 2008 年到 2016 年,這八年來我一直沒有放棄做開源基礎設施相關的項目,直到 2014 年起,我開始思考下一代基礎設施將會如何發展。我預感分布式應是關鍵的發展技術,于是我逐漸找到適合發展的開源路徑,找到畢生發揮余熱的事業。”張亮回憶往事。
談及 ShardingSphere 五年的發展歷程,每一步似乎走得穩妥與順利:
一開始,Sharding-JDBC 是一套擴展于 Java JDBC 層的分庫分表中間件,最初目標是透明化分庫分表所帶來的復雜度,包括數據源的管理、根據業務進行的SQL 改寫等。
隨著張亮將它帶進京東數科,在大公司里有了更大的落地應用場景。Sharding-JDBC 逐漸定位為面向云化的數據庫中間件,從分庫分表的 Java 開發框架演化成如今的分布式數據庫生態體系。
2018 年 11 月,ShardingSphere 進入 Apache 基金會孵化器,僅用時 17 個月,便于 2020 年正式從 Apache 基金會畢業,成為 Apache 頂級項目。至此 Sharding-JDBC 也完成到 ShardingSphere,再到 Apache ShardingSphere 的轉變。
當前的 ApacheShardingSphere 是一套開源的分布式數據庫中間件解決方案組成的生態圈,它由 3 款相互獨立,卻又能夠混合部署配合使用的產品組成。它們均提供標準化的數據分片、分布式事務和數據庫治理功能,可適用于如 Java 同構、異構語言、云原生等各種多樣化的應用場景。該項目在 GitHub 上收獲 14000+ Star 數,近 170 家公司落地應用,擁有超過 200 位貢獻者。
從 2016 年起,ShardingSphere 有了 5 年的技術和生態積累,且隨著近幾年國家大力支持基礎設施建設,國內開源發展紅火,讓開源項目增添更多商業化可能性,張亮和潘娟意識到是時候集合更多資源共同將 ShardingSphere 做大做強。于是 SphereEx 應運而生。
SphereEx 的創辦非常迅速。今年春節前,張亮和潘娟開始緊鑼密鼓籌備公司事宜,春節后便拿到首輪融資。“如果不算春節休假的話,差不多兩周左右的時間。”張亮說。
公司名稱“SphereEx”的含義深遠:“Sphere”是“ShardingSphere”的延續,代表“生態”,“Ex”是擴展和探索,“SphereEx”代表“生態+擴展”,表示大家對 ShardingSphere 未來有更多的拓展和延伸,因為從技術產品規劃上,除了ShardingSphere 外,公司還推出其他產品,如數據庫網格治理產品 Database Mesh,與 ShardingSphere 完全獨立的分布式調度平臺 ElasticJob 等,未來公司還有更多的開源項目和商業化項目。
從誕生到成立公司、獲得融資,ShardingSphere 花了 5 年時間,似乎在技術、生態、資本各方面走得順風順水。“五年成長時間正是一個標準的開源項目開始向商業化轉型所需時間”。
實際上,這一路走來遇到不少困難:當初 ShardingSphere 進入 Apache 基金會中間就歷經波折。由于最初 ShardingSphere 是張亮一人完成項目的 80% 代碼,Apache 基金會認為,這個項目屬于一個人掌控的項目,暫時不適合進入。隨后張亮積極在京東數科落地 ShardingSphere,讓越來越多的人參與進開源項目,并逐漸組成團隊來運營社區,讓 ShardingSphere 變成一個友好、分散、生態建設良好的項目,才順利從Apache 基金會畢業。
又如 ShardingSphere 中間進行了很多次轉型,從上文提到 ShardingSphere 經歷幾次更名就可以看出來,它可不是什么沒有故事的開源項目。其中關鍵的兩次重大變革就有:
一是從 Sharding-JDBC 演變成 ShardingSphere ,因為 Sharding-JDBC 一開始是 JDBC 的驅動端,而后研發了 Sharding-Proxy 工具,由于它已不再是單純的 JDBC 啟動端,以前的名稱不合適,于是更名為“ShardingSphere”,Sharding-JDBC 和 ShardingProxy 均為其子項目。
二是 ShardingSphere 逐步演變成一個可插拔平臺,擁有數據分片、數據加密、分布式治理、彈性遷移等功能,以及 160 多個模塊。
這中間的曲折演進過程不是張亮一個人掌握的,由于社區不斷成長、開發者和企業的使用優化,自然而然進行迭代的。
“ShardingSphere 像一棵擁有生命力的植物,它不是被某個開發者人工雕琢而成,而是吸取了眾多開發者的營養貢獻,自然成長發展。”張亮感慨道。
潘娟分享了一路見證 ShardingSphere 發展,總結了 ShardingSphere 深受開發者喜愛的原因:一是 ShardingSphere 給開發者和企業提供價值;二是趕上國內開源迅速成長的大環境;三是在大廠生根發芽,得到廣泛傳播;四是優秀團隊支持。
張亮理智地表示:“我們成立 SphereEx 公司后,并不代表成功,我們還在路上。只是以后大家能全情投入,共同朝著一個目標前進,F在遠沒有到論功行賞、評頭論足的時候,正在快速發展中。我們始終堅持以開放的心態歡迎更多的人參與進來,一個人走得會很快,很多人會走得很遠。”
從開發者轉為管理者,忙碌的現狀
筆者在紅杉成長中心辦公室見到兩位創始人,公司剛剛成立不久,兩位創始人現在忙于各項公司運行事項:研發產品、員工溝通、布道宣傳、各崗位招聘面試等。
一下子從開發者轉身為企業創始人,該如何面對角色轉變帶來的壓力?
張亮坦言四字箴言,被推著轉。在創辦公司過程中,他嘗試了很多以往沒有做過的事情,均是新鮮的體驗,例如對接投資、組建公司細節等。這段時間張亮的眼界和格局開放不少,更期待和更多人完成更多有趣的事情。
如今張亮每天要求自己把寫代碼的時間降低到 40-50% 左右。其他時間是跟各種人溝通協調,“公司現在剛搭建,人力招聘、辦公室等瑣碎事情都需要花一些心思。”
畢竟開源不像在原來“個人英雄主義”的時代,現在做開源一定是“團體作戰”,要想清楚該做什么事、往哪個方向發展,所以我們正組建團隊,讓更多人加入開源生態,減低個人瓶頸。
第一個目標是和團隊做好磨合。目前雖求賢若渴,但分別設置團隊 30、50、80 人的上限,假如團隊到 30 人時,先觀察團隊的磨合度,如果團隊磨合得還不錯,那么繼續招聘到 50 人;如果團隊還有些摩擦力,就先放緩招聘速度,如此類推。目前辦公室的規模是按照 50 人來設計的,因此今年的招聘目標為 50 人。
第二個目標是市場運營。今年將在社區運營下更多功夫,正確傳達 ShardingSphere 的理念和技術。另外預計在海外開展社區運營工作,甚至成立辦公室,讓 ShardingSphere 走向國際。
第三個目標是產品研發,將投入約 20 人在開發垂直領域功能,讓產品更加穩定。
同時張亮坦言,今年還沒有商業計劃,目前將全部精力用在產品研發、開源社區的建立上,讓 ShardingSphere 為開發者和企業發揮其價值,才有更多商業化機會。
與開源同成長
盡管上文談到國內開源發展的利好,可同時面臨窘境:據 CSDN 《2020-2021中國開發者調查報告》顯示,82% 的開發者在開源上每周投入時間不超過 5 小時,每周在開源項目上投入時長超過 30 小時的僅占比 2%。77% 的開發者表示,不曾在開源上獲得收入。
2018 年,張亮將 ShardingSphere 在京東數科做落地推廣時,時任 DBA 的潘娟驚喜地發現 ShardingSphere 與自己一直想要的訴求完全相符,正是自己一直想做卻沒做的項目,于是轉到張亮麾下,專門從事 ShardingSphere 的開源工作。
她坦言,當時初出茅廬,對開源一竅不通。但正是出于維護好、運營好項目的心態,驅使自己多吸收開源的知識來快速成長,同時積極參加開源 Meetup 活動、多與志同道合的開源人員溝通,心態慢慢開放和熱衷開源文化,順理成章地成為其中的“趕集人”。
潘娟在開源分享會上,遇到不少想從事開源卻沒有時間的開發者,由于國內外開源環境不同,譬如初入職場的新人,工作繁忙著急上手,要是讓他抽出時間來參加開源,確實較困難。
一是將開源組件引入公司項目,如果能將一個比較成熟和活躍的項目引入公司,自然而然可以在工作時間里參與到開源中。
二、假如無法在公司做開源,需要在業務時間參與開源的話,千萬不要認為這是一件添加更多壓力的工作,希望大家出于興趣愛好而參與開源,享受這個過程,從而獲得成長。并不一定規定大家在一周內必須參與多少時間,可以把時間拉長些,持續參加,慢慢積累。
三是加入 SphereEx 這類開源公司。潘娟進一步介紹參與開源的方式不一定就是貢獻代碼,還可以是回答問題,參與 MeetUp 活動等。譬如她剛開始參與 ShardingSphere 便是通過文檔翻譯形式參加,將項目的中文文檔翻譯成英文,提供給國外開發者閱讀,而后才逐漸成長為 SphereEx 創始人。
開源不是一蹴而就,腳踏實地方能仰望星空
對于開源生態建設,無疑是開源開發者的頭疼難題,ShardingSphere 獲得 14K+ Star,兩位創始人根據過往在生態建設的經驗,給出自己的思考:
張亮懇切表示,希望大家能融入開源的心態,做開源不是重復做一個輪子出來,就可以顛覆掉現有的開源生態。我們只有融入這個生態,共同玩轉開源。建設開源很關鍵的一點是,看清自己該做什么、不該做什么,該配合別人做什么、該讓別人配合自己做什么。
潘娟表示,一是只有做對他人有幫忙的開源產品,別人才愿意參與貢獻。二是保持開放的心態和開源的理念,參與開源社區和基金會,共建生態。三是多考慮一線用戶需求,從實際應用場景出發。四是核心團隊人員開拓自身視野,多關注國際化、生態行業發展,帶領大家走向更好的高度。
最后,談及最近幾年國內開源火熱發展現狀,張亮理性地提醒道,盡管當前國內開源發展現狀看起來很樂觀,但很多項目和國際頂級開源項目相比,差距較大。我們能否推出那些頂級開源項目還是未知數,未來還有很長的路要走。
另外,建設開源生態是需要積淀,不是簡單促成的。大家不要以為,現在大環境看起來不錯,便能一蹴而就獲得成功。我們需理性觀察,盡管當下開源火熱,但其中成功的開源項目和開源公司不是現在出現的,而是歷經三五年的靜默期和積累期,才順勢發力,獲得當前成就,所以希望大家腳踏實地,共建開源生態。
SphereEx 官網:http://www.sphere-ex.com/
https://shardingsphere.apache.org/
Apache ShardingSphere GitHub 地址:
https://github.com/apache/shardingsphere
張亮,ApacheMember,Apache ShardingSphere 及ElasticJob 創始人& PMC Chair,前京東科技架構專家、當當架構部總監。他擅長分布式架構、推崇優雅代碼、熱愛開源和技術分享。曾多次在大型技術峰會中擔任出品人和分享嘉賓。出版書籍《未來架構——從服務化到云原生》。
潘娟,ApacheMember 及 Apache ShardingSphere PMC,前京東科技高級 DBA,曾負責京東數科數據庫智能平臺的設計與研發,現專注于分布式數據庫 & 中間件生態及開源領域。被評為《2020中國開源先鋒人物》,多次受邀參加數據庫 & 架構領域的相關會議分享。