(目錄)
本文整理自51CTO開源基礎軟體學習季直播公開課《打造卓越開源項目12條原則》,更多細節,可點選連結跳轉檢視。
因為專注開源領域十餘年,參與建設過ClickHouse、Dolphin,SeaTunnel等社群,現在是Apache基金會Member,也是Apache孵化器導師,是以常常在私下或公開場合被問及:從您的角度來看,究竟什麼樣的開源項目更有可能成功?如何把一個開源項目做好?近期,針對過往積累的開源相關碎片化知識進行梳理,歸納總結了打造卓越開源項目的12條原則,本次直播分享給大家。
一、全球開源潮流的分析
在分享打造卓越開源項目的12條原則之前,我們通過三張節選自OpenLogic 2022全球開源報告的三個圖表,來看看全球開源潮流是怎樣的。
如上二圖,可以從中看到一些明顯趨勢及使用者使用開源軟體需要面臨的挑戰:
- 在過去 12 個月中,77% 的受訪者在其組織中增加了對開源軟體的使用,36.5% 的受訪者表示他們的使用量顯着增加。
- 79% 的受訪者贊助(sponsor) 開源組織。
- 使用開源軟體的第一個原因是獲得創新,進而将降低成本排在第二位。更新檔的安全性和可用性也排名靠前。
- 采用開源軟體的第一大障礙是缺乏測試、使用、內建和支援的内部技能。
- 所有行業的開源軟體的第一大支援挑戰是人員經驗和熟練程度。
- 使用率總體增幅最高的是開源 DevOps 工具。雲原生 CI/CD 工具的采用率顯着提高。
- 最令人向往的新技術是容器和 Kubernetes。目前隻有 18% 的受訪者使用 Kubernetes,39% 有雲戰略,29% 有容器化戰略。
- 在所有組織規模中最高的是,41% 的小型組織擁有開源戰略。
- 銀行、保險和金融服務行業的 Innersource 項目數量最多。
-
隻有 13% 的組織擁有熟悉開源許可的法律團隊。
整個OpenLogic 2022全球開源報告内容有很多,大家能夠從中了解到全球諸多開源化的趨勢,更多詳情可點選檢視: [2022國際開源趨勢如何——速讀《2021全球開源趨勢報告》]
二、打造卓越開源項目的12條原則
對海外開源潮流有一定了解之後,我們來看看打造一個卓越的開源項目所需要的12條原則。這些原則是基于過往的經驗積累,針對開源初期規劃、開源産品、開源項目推廣、開源項目可持續發展這四方面進行深入探究,歸納總結而成,下面我們逐一延展開來。
開源初期規劃之初心
開源成功的機率非常小,整個過程遇到的挑戰繁多,明确初心尤為重要。在計劃做開源項目之前,一定要做好無人問津的準備,當堅持不下去的時候,初心便是動力。
我認為,開源是一種先進的項目開發工具,可以促使某個項目在全球範圍裡,不用重複造輪子,并且凝聚全球頂級智慧,去集中研究打造這個項目。
是以,我覺得做開源的初心就是把這些全球領先的智慧聚集起來,并且讓更多的人知道,是特别有成就感的事情。我們做開源的初心可以不一樣,但是一定要有,在後面遇到到坎坷與挑戰,才能秉承初心,咬牙堅持下去。
開源初期規劃之協定
開源初期做規劃的時候,協定是重中之重,用什麼樣的開源協定去開源,需要慎重取舍。開源協定可以了解為和客戶之間的合同,種類不同開源項目,它們的協定也會存在差異。

如上圖所示,協定大緻分為兩個角度,一種是當别人使了你的開源代碼,并做了修改,是不是要開源?另一種是當别人使用你的服務/類庫,是不是要開源?選擇哪種協定,最終的結果截然不同,是以一開始就要慎重思量。
開源初期規劃之周期
ClickHouse社群到中國至今,已有六個年頭,事實證明前期是需要一段時間積累,這個周期大緻需要一年半到兩年時間。例如ClickHouse社群,從零到五百使用者花費一年多時間,後期随着使用者增長,才會聚集很多能力參差不齊的各種使用者,找到适合的場景,最終像滾雪球一樣,越滾越大,使用者會如潮水一樣湧進來。
還有技術的疊代周期,縱觀過去一些知名開源項目的增長趨勢,如下圖所示:
通過這組資料,我們發現,每隔五年就會有一個新的開源項目問世,如果技術沒有把握好,五年左右就會被其他項目所替代。核心理念、産品理念、核心技術、核心團隊直接決定你的開源項目能否一直遙遙領先領先,也直接影響對應的社群是否能經久不衰。
開源産品之定位
在開源初期規劃時候,我們明确初心、選好協定、确定周期,接下來就要開始打造開源産品了,這裡也有三個原則,分别是定位、調性與團隊。
産品定位必須明确,明确知道解決了哪些問題或痛點,解決的究竟是僞需求還是真實存在。不要自我感覺良好,但沒使用者,社群終究也不會做起來。在這裡,需要用一句話描述你開源項目是什麼,然後能夠清楚明了的知道産品的賽道,解決的問題,産品的邊界。隻有痛點明确,邊界清晰才有利于開源項目的擴充,如果什麼都涉及的開源項目,基本上均以失敗告終。
開源産品之調性
開源産品的調性是你的開源項目在解決實際問題時,主打的使用者感覺價值是什麼?通俗來說,就是你這個開源項目究竟是做什麼的。如果一開始就叫嚣這“我是下一代XXXXX,我要颠覆YYYYYYY”,凡事這樣的開源項目,很難做好,因為沒有自身的産品調性與價值主張。開源,需要的是全人類的創新,而不是在“内卷”。
産品需要有自己的調性,我們要像“火鍋”一樣做開源。為什麼要像火鍋呢?大家想起你這個産品,就能想到它是什麼?當我們一說吃火鍋,就馬上想到熱氣騰騰的鍋子,麻醬,各種肉,蔬菜,放到一起好吃且簡單易做。同時,具備強大的有号召力,一說大家都想參與進去。你的産品,也要做的和火鍋一樣,有自己的調性,特色,以及号召力。
開源産品之團隊
開源産品的團隊如何組建很有講究,比如在技術大牛與屌絲衆創之間,對于整個團隊而言,後者要比前者合适,因為技術大牛精力很有限,萬一短時間内有事情要忙,項目也就隻能擱淺。你的開源項目一定是有特别多的人參與,大部分人都在勤懇的做貢獻,并真正融入到項目中去,才會有活力。團隊對開源的了解力,團隊的韌性,也是能否做好開源産品很關鍵的兩個因素。
開源的創新主要來源于發動的是群策群力的力量,像使用者的回報、社群的開發者、社群外的專家等,而不是1-2個技術大牛就可以。開源,中進階的社群使用者和貢獻者往往會大于1-2個技術大牛,否則社群會不穩定。
開源項目推廣之借勢
開源産品敲定之後,我們來看看如何做推廣與營運,這裡也是有三大原則,分别是:借勢、自傳播、影響力。
要如何借勢? 這裡我們以ClickHouse與SeaTunnel這兩個社群的興起為例。現在,ClickHouse在國内比在海外火爆,那是因為在當年推廣過程中,借了當時興起的“使用者行為分析”的勢。在這種*客增長的趨勢下,ClickHouse恰好适合與這個場景相契合。
而SeaTunnel之是以可以進入Apache孵化器,是因為SeaTunnel在早期是借了ClickHouse的勢,因為ClickHouse是個計算引擎,但ClickHouse有個弊端,就是在灌數的過程中經常會出錯,SeaTunnel恰好可以解決這個問題,延續到現在,形成了Bulk load模式,灌數到ClickHouse中極其友善。
借勢往往比造勢簡單的多,一般情況下,也可以借基金會的勢。無論Apache基金會,CNCF基金會,以及各類的開放原子基金會。
那麼這些基金會有哪些“勢”呢?大緻總結如下幾點:
- 第三方的保護中立:産權中立,貢獻中立,品牌中立,協定确認
- 基金會内的生态:Apache基金會 vs 大資料、AI CNCF vs 雲原生;
- 基金會内的導師:有經驗的領路人,出問題時候的KOL
- 更是多個項目之間會聯合Meetup,互相支援,互相發現和幫助。
開源項目推廣之自傳播
優秀的項目是自傳播出來的,而不是通過市場PR,因為自傳播的機率在某個小圈子裡是爆炸性的,在這裡有重要的三個點:産品的口碑,人的口碑,社群的口碑。
産品的口碑,是你的産品究竟是不是真的好用,是否友善,在調性,在解決問題上是否有自己的特性,是否實用。
人的口碑,是産品背後的支援者,是否靠譜,所在的圈子裡口碑是否尚佳,也包括核心團隊、項目PMC項目管理團隊的所有人員口碑也很重要。
社群的口碑,Community over Code,社群勝于代碼,社群的氛圍是開放的,還是封閉的,能夠容納不同意見的社群,還是獨裁專政、就幾個大佬在說話?社群的口碑好壞直接影響開源項目最終的成果。
開源項目推廣之影響力
影響力這裡也是三方面,分别是人、使用者和社群。
一般情況下,深耕某個領域的專家做項目開源,相對更容易成功,因為他具備足夠的影響力,能夠觸達更多的使用者,找到充足的資源,促使他所負責的項目在初期就發展很快。
有相關領域專家的影響力還遠遠不夠,使用者水準也很關鍵,使用者如果大多是來自大廠或有一定知名度,TA們影響力聚合起來就能達到出奇的效果。
社群是否加入基金會,社群裡面的大咖與使用者級别是怎樣的,都直接決定社群的影響力。社群做的不好,不開放,沒人氣,不夠活躍,到最後再好的代碼都會付之東流。
開源項目可持續發展之閉環邏輯
開源項目想要持續發展,不能光靠開發者為愛發光,還是需要更多專職開發者,光靠愛好者貢獻絕對不行,畢竟大家還是要養家糊口的。
對于開源項目能否可持續發展,你的軟體保證體系、商業公司生态、以及商業模型都是決定性因素,這中間的閉環邏輯要想明白。
開源項目可持續發展之商業化
商業化對于開源項目可持續發展來說是必要環節,現在開源在全球範圍裡,開源項目的商業化邏輯可行性已經過驗證,答案是肯定的。一般商業化基本上遵從四大模式,分别是
Open-Core 開放核心
、
Professional Services專業服務
、
Hosting 托管服與Marketplaces 市場
。當然,在實際實施過程中,公司往往會混合多種模式。
時至今日,對于成功的開源公司來說,最常見的模式是開放核心産品,且将與托管、服務作為第二和第三收入來源。如果這種組合對你的産品來說是有效的,那麼它可能是一個不錯的選擇,不過它需要你考慮如何在商業産品和開源産品之間做出明确區分。
當然,在某些情況下,這些模型可能都不适用,你可能需要為自己産品找到獨特的商業模式。除了找到一個能夠讓公司規模發展的模式外,關鍵在于所選擇的模式要與産品的特性相吻合。同樣,創業者和整個社群的目标和願景也很重要。
開源項目可持續發展之社群
可持續發展的開源項目,你會發現人員、工作都是可變的,但是社群是永存的。想要可持續發展,社群不能去依賴某一個人或某幾個人,也不能依賴某一個公司,一定是得能夠此起彼伏的讓社群更有持續的生命活力。
綜上所述,是打造卓越開源項目的12條原則的概述,在分享接近尾聲之時,以SeaTunnel、ClickHouse、DolphinScheduler等為經典案例,對這些原則進行了驗證,更多細緻内容請點選觀看直播公開課回放:《打造卓越開源項目12條原則》