打造卓越開(kāi)源項(xiàng)目的12條原則
??想了解更多關(guān)于開(kāi)源的內(nèi)容,請(qǐng)?jiān)L問(wèn):??
??51CTO 開(kāi)源基礎(chǔ)軟件社區(qū)??
本文整理自51CTO開(kāi)源基礎(chǔ)軟件學(xué)習(xí)季直播公開(kāi)課??《打造卓越開(kāi)源項(xiàng)目12條原則》??,更多細(xì)節(jié),可點(diǎn)擊鏈接跳轉(zhuǎn)查看。
因?yàn)閷W㈤_(kāi)源領(lǐng)域十余年,參與建設(shè)過(guò)ClickHouse、Dolphin,SeaTunnel等社區(qū),現(xiàn)在是Apache基金會(huì)Member,也是Apache孵化器導(dǎo)師,所以常常在私下或公開(kāi)場(chǎng)合被問(wèn)及:從您的角度來(lái)看,究竟什么樣的開(kāi)源項(xiàng)目更有可能成功?如何把一個(gè)開(kāi)源項(xiàng)目做好?近期,針對(duì)過(guò)往積累的開(kāi)源相關(guān)碎片化知識(shí)進(jìn)行梳理,歸納總結(jié)了打造卓越開(kāi)源項(xiàng)目的12條原則,本次直播分享給大家。
一、全球開(kāi)源潮流的分析
在分享打造卓越開(kāi)源項(xiàng)目的12條原則之前,我們通過(guò)三張節(jié)選自O(shè)penLogic 2022全球開(kāi)源報(bào)告的三個(gè)圖表,來(lái)看看全球開(kāi)源潮流是怎樣的。
如上二圖,可以從中看到一些明顯趨勢(shì)及用戶使用開(kāi)源軟件需要面臨的挑戰(zhàn):
- 在過(guò)去 12 個(gè)月中,77% 的受訪者在其組織中增加了對(duì)開(kāi)源軟件的使用,36.5% 的受訪者表示他們的使用量顯著增加。
- 79% 的受訪者贊助(sponsor) 開(kāi)源組織。
- 使用開(kāi)源軟件的第一個(gè)原因是獲得創(chuàng)新,從而將降低成本排在第二位。補(bǔ)丁的安全性和可用性也排名靠前。
- 采用開(kāi)源軟件的第一大障礙是缺乏測(cè)試、使用、集成和支持的內(nèi)部技能。
- 所有行業(yè)的開(kāi)源軟件的第一大支持挑戰(zhàn)是人員經(jīng)驗(yàn)和熟練程度。
- 使用率總體增幅最高的是開(kāi)源 DevOps 工具。云原生 CI/CD 工具的采用率顯著提高。
- 最令人向往的新技術(shù)是容器和 Kubernetes。目前只有 18% 的受訪者使用 Kubernetes,39% 有云戰(zhàn)略,29% 有容器化戰(zhàn)略。
- 在所有組織規(guī)模中最高的是,41% 的小型組織擁有開(kāi)源戰(zhàn)略。
- 銀行、保險(xiǎn)和金融服務(wù)行業(yè)的 Innersource 項(xiàng)目數(shù)量最多。
- 只有 13% 的組織擁有熟悉開(kāi)源許可的法律團(tuán)隊(duì)。
整個(gè)OpenLogic 2022全球開(kāi)源報(bào)告內(nèi)容有很多,大家能夠從中了解到全球諸多開(kāi)源化的趨勢(shì),更多詳情可點(diǎn)擊查看: [??2022國(guó)際開(kāi)源趨勢(shì)如何——速讀《2021全球開(kāi)源趨勢(shì)報(bào)告》??]
二、打造卓越開(kāi)源項(xiàng)目的12條原則
對(duì)海外開(kāi)源潮流有一定了解之后,我們來(lái)看看打造一個(gè)卓越的開(kāi)源項(xiàng)目所需要的12條原則。這些原則是基于過(guò)往的經(jīng)驗(yàn)積累,針對(duì)開(kāi)源初期規(guī)劃、開(kāi)源產(chǎn)品、開(kāi)源項(xiàng)目推廣、開(kāi)源項(xiàng)目可持續(xù)發(fā)展這四方面進(jìn)行深入探究,歸納總結(jié)而成,下面我們逐一延展開(kāi)來(lái)。
開(kāi)源初期規(guī)劃之初心
開(kāi)源成功的概率非常小,整個(gè)過(guò)程遇到的挑戰(zhàn)繁多,明確初心尤為重要。在計(jì)劃做開(kāi)源項(xiàng)目之前,一定要做好無(wú)人問(wèn)津的準(zhǔn)備,當(dāng)堅(jiān)持不下去的時(shí)候,初心便是動(dòng)力。
我認(rèn)為,開(kāi)源是一種先進(jìn)的項(xiàng)目開(kāi)發(fā)工具,可以促使某個(gè)項(xiàng)目在全球范圍里,不用重復(fù)造輪子,并且凝聚全球頂級(jí)智慧,去集中研究打造這個(gè)項(xiàng)目。
所以,我覺(jué)得做開(kāi)源的初心就是把這些全球領(lǐng)先的智慧聚集起來(lái),并且讓更多的人知道,是特別有成就感的事情。我們做開(kāi)源的初心可以不一樣,但是一定要有,在后面遇到到坎坷與挑戰(zhàn),才能秉承初心,咬牙堅(jiān)持下去。
開(kāi)源初期規(guī)劃之協(xié)議
開(kāi)源初期做規(guī)劃的時(shí)候,協(xié)議是重中之重,用什么樣的開(kāi)源協(xié)議去開(kāi)源,需要慎重取舍。開(kāi)源協(xié)議可以理解為和客戶之間的合同,種類不同開(kāi)源項(xiàng)目,它們的協(xié)議也會(huì)存在差異。
如上圖所示,協(xié)議大致分為兩個(gè)角度,一種是當(dāng)別人使了你的開(kāi)源代碼,并做了修改,是不是要開(kāi)源?另一種是當(dāng)別人使用你的服務(wù)/類庫(kù),是不是要開(kāi)源?選擇哪種協(xié)議,最終的結(jié)果截然不同,所以一開(kāi)始就要慎重思量。
開(kāi)源初期規(guī)劃之周期
ClickHouse社區(qū)到中國(guó)至今,已有六個(gè)年頭,事實(shí)證明前期是需要一段時(shí)間積累,這個(gè)周期大致需要一年半到兩年時(shí)間。例如ClickHouse社區(qū),從零到五百用戶花費(fèi)一年多時(shí)間,后期隨著用戶增長(zhǎng),才會(huì)聚集很多能力參差不齊的各種用戶,找到適合的場(chǎng)景,最終像滾雪球一樣,越滾越大,用戶會(huì)如潮水一樣涌進(jìn)來(lái)。
還有技術(shù)的迭代周期,縱觀過(guò)去一些知名開(kāi)源項(xiàng)目的增長(zhǎng)趨勢(shì),如下圖所示:
通過(guò)這組數(shù)據(jù),我們發(fā)現(xiàn),每隔五年就會(huì)有一個(gè)新的開(kāi)源項(xiàng)目問(wèn)世,如果技術(shù)沒(méi)有把握好,五年左右就會(huì)被其他項(xiàng)目所替代。核心理念、產(chǎn)品理念、核心技術(shù)、核心團(tuán)隊(duì)直接決定你的開(kāi)源項(xiàng)目能否一直遙遙領(lǐng)先領(lǐng)先,也直接影響對(duì)應(yīng)的社區(qū)是否能經(jīng)久不衰。
開(kāi)源產(chǎn)品之定位
在開(kāi)源初期規(guī)劃時(shí)候,我們明確初心、選好協(xié)議、確定周期,接下來(lái)就要開(kāi)始打造開(kāi)源產(chǎn)品了,這里也有三個(gè)原則,分別是定位、調(diào)性與團(tuán)隊(duì)。
產(chǎn)品定位必須明確,明確知道解決了哪些問(wèn)題或痛點(diǎn),解決的究竟是偽需求還是真實(shí)存在。不要自我感覺(jué)良好,但沒(méi)用戶,社區(qū)終究也不會(huì)做起來(lái)。在這里,需要用一句話描述你開(kāi)源項(xiàng)目是什么,然后能夠清楚明了的知道產(chǎn)品的賽道,解決的問(wèn)題,產(chǎn)品的邊界。只有痛點(diǎn)明確,邊界清晰才有利于開(kāi)源項(xiàng)目的擴(kuò)展,如果什么都涉及的開(kāi)源項(xiàng)目,基本上均以失敗告終。
開(kāi)源產(chǎn)品之調(diào)性
開(kāi)源產(chǎn)品的調(diào)性是你的開(kāi)源項(xiàng)目在解決實(shí)際問(wèn)題時(shí),主打的用戶感知價(jià)值是什么?通俗來(lái)說(shuō),就是你這個(gè)開(kāi)源項(xiàng)目究竟是做什么的。如果一開(kāi)始就叫囂這“我是下一代XXXXX,我要顛覆YYYYYYY”,凡事這樣的開(kāi)源項(xiàng)目,很難做好,因?yàn)闆](méi)有自身的產(chǎn)品調(diào)性與價(jià)值主張。開(kāi)源,需要的是全人類的創(chuàng)新,而不是在“內(nèi)卷”。
產(chǎn)品需要有自己的調(diào)性,我們要像“火鍋”一樣做開(kāi)源。為什么要像火鍋呢?大家想起你這個(gè)產(chǎn)品,就能想到它是什么?當(dāng)我們一說(shuō)吃火鍋,就馬上想到熱氣騰騰的鍋?zhàn)樱獒u,各種肉,蔬菜,放到一起好吃且簡(jiǎn)單易做。同時(shí),具備強(qiáng)大的有號(hào)召力,一說(shuō)大家都想?yún)⑴c進(jìn)去。你的產(chǎn)品,也要做的和火鍋一樣,有自己的調(diào)性,特色,以及號(hào)召力。
開(kāi)源產(chǎn)品之團(tuán)隊(duì)
開(kāi)源產(chǎn)品的團(tuán)隊(duì)如何組建很有講究,比如在技術(shù)大牛與屌絲眾創(chuàng)之間,對(duì)于整個(gè)團(tuán)隊(duì)而言,后者要比前者合適,因?yàn)榧夹g(shù)大牛精力很有限,萬(wàn)一短時(shí)間內(nèi)有事情要忙,項(xiàng)目也就只能擱淺。你的開(kāi)源項(xiàng)目一定是有特別多的人參與,大部分人都在勤懇的做貢獻(xiàn),并真正融入到項(xiàng)目中去,才會(huì)有活力。團(tuán)隊(duì)對(duì)開(kāi)源的理解力,團(tuán)隊(duì)的韌性,也是能否做好開(kāi)源產(chǎn)品很關(guān)鍵的兩個(gè)因素。
開(kāi)源的創(chuàng)新主要來(lái)源于發(fā)動(dòng)的是群策群力的力量,像用戶的反饋、社區(qū)的開(kāi)發(fā)者、社區(qū)外的專家等,而不是1-2個(gè)技術(shù)大牛就可以。開(kāi)源,中高級(jí)的社區(qū)用戶和貢獻(xiàn)者往往會(huì)大于1-2個(gè)技術(shù)大牛,否則社區(qū)會(huì)不穩(wěn)定。
開(kāi)源項(xiàng)目推廣之借勢(shì)
開(kāi)源產(chǎn)品敲定之后,我們來(lái)看看如何做推廣與運(yùn)營(yíng),這里也是有三大原則,分別是:借勢(shì)、自傳播、影響力。
要如何借勢(shì)? 這里我們以ClickHouse與SeaTunnel這兩個(gè)社區(qū)的興起為例?,F(xiàn)在,ClickHouse在國(guó)內(nèi)比在海外火爆,那是因?yàn)樵诋?dāng)年推廣過(guò)程中,借了當(dāng)時(shí)興起的“用戶行為分析”的勢(shì)。在這種*客增長(zhǎng)的趨勢(shì)下,ClickHouse恰好適合與這個(gè)場(chǎng)景相契合。
而SeaTunnel之所以可以進(jìn)入Apache孵化器,是因?yàn)镾eaTunnel在早期是借了ClickHouse的勢(shì),因?yàn)镃lickHouse是個(gè)計(jì)算引擎,但ClickHouse有個(gè)弊端,就是在灌數(shù)的過(guò)程中經(jīng)常會(huì)出錯(cuò),SeaTunnel恰好可以解決這個(gè)問(wèn)題,延續(xù)到現(xiàn)在,形成了Bulk load模式,灌數(shù)到ClickHouse中極其方便。
借勢(shì)往往比造勢(shì)簡(jiǎn)單的多,一般情況下,也可以借基金會(huì)的勢(shì)。無(wú)論Apache基金會(huì),CNCF基金會(huì),以及各類的開(kāi)放原子基金會(huì)。
那么這些基金會(huì)有哪些“勢(shì)”呢?大致總結(jié)如下幾點(diǎn):
- 第三方的保護(hù)中立:產(chǎn)權(quán)中立,貢獻(xiàn)中立,品牌中立,協(xié)議確認(rèn)。
- 基金會(huì)內(nèi)的生態(tài):Apache基金會(huì) vs 大數(shù)據(jù)、AI CNCF vs 云原生。
- 基金會(huì)內(nèi)的導(dǎo)師:有經(jīng)驗(yàn)的領(lǐng)路人,出問(wèn)題時(shí)候的KOL。
- 更是多個(gè)項(xiàng)目之間會(huì)聯(lián)合Meetup,相互支持,相互發(fā)現(xiàn)和幫助。
開(kāi)源項(xiàng)目推廣之自傳播
優(yōu)秀的項(xiàng)目是自傳播出來(lái)的,而不是通過(guò)市場(chǎng)PR,因?yàn)樽詡鞑サ母怕试谀硞€(gè)小圈子里是爆炸性的,在這里有重要的三個(gè)點(diǎn):產(chǎn)品的口碑,人的口碑,社區(qū)的口碑。
產(chǎn)品的口碑,是你的產(chǎn)品究竟是不是真的好用,是否方便,在調(diào)性,在解決問(wèn)題上是否有自己的特性,是否實(shí)用。
人的口碑,是產(chǎn)品背后的支持者,是否靠譜,所在的圈子里口碑是否尚佳,也包括核心團(tuán)隊(duì)、項(xiàng)目PMC項(xiàng)目管理團(tuán)隊(duì)的所有人員口碑也很重要。
社區(qū)的口碑,Community over Code,社區(qū)勝于代碼,社區(qū)的氛圍是開(kāi)放的,還是封閉的,能夠容納不同意見(jiàn)的社區(qū),還是獨(dú)裁專政、就幾個(gè)大佬在說(shuō)話?社區(qū)的口碑好壞直接影響開(kāi)源項(xiàng)目最終的成果。
開(kāi)源項(xiàng)目推廣之影響力
影響力這里也是三方面,分別是人、用戶和社區(qū)。
一般情況下,深耕某個(gè)領(lǐng)域的專家做項(xiàng)目開(kāi)源,相對(duì)更容易成功,因?yàn)樗邆渥銐虻挠绊懥?,能夠觸達(dá)更多的用戶,找到充足的資源,促使他所負(fù)責(zé)的項(xiàng)目在初期就發(fā)展很快。
有相關(guān)領(lǐng)域?qū)<业挠绊懥€遠(yuǎn)遠(yuǎn)不夠,用戶水平也很關(guān)鍵,用戶如果大多是來(lái)自大廠或有一定知名度,TA們影響力聚合起來(lái)就能達(dá)到出奇的效果。
社區(qū)是否加入基金會(huì),社區(qū)里面的大咖與用戶級(jí)別是怎樣的,都直接決定社區(qū)的影響力。社區(qū)做的不好,不開(kāi)放,沒(méi)人氣,不夠活躍,到最后再好的代碼都會(huì)付之東流。
開(kāi)源項(xiàng)目可持續(xù)發(fā)展之閉環(huán)邏輯
開(kāi)源項(xiàng)目想要持續(xù)發(fā)展,不能光靠開(kāi)發(fā)者為愛(ài)發(fā)光,還是需要更多專職開(kāi)發(fā)者,光靠愛(ài)好者貢獻(xiàn)絕對(duì)不行,畢竟大家還是要養(yǎng)家糊口的。
對(duì)于開(kāi)源項(xiàng)目能否可持續(xù)發(fā)展,你的軟件保證體系、商業(yè)公司生態(tài)、以及商業(yè)模型都是決定性因素,這中間的閉環(huán)邏輯要想明白。
開(kāi)源項(xiàng)目可持續(xù)發(fā)展之商業(yè)化
商業(yè)化對(duì)于開(kāi)源項(xiàng)目可持續(xù)發(fā)展來(lái)說(shuō)是必要環(huán)節(jié),現(xiàn)在開(kāi)源在全球范圍里,開(kāi)源項(xiàng)目的商業(yè)化邏輯可行性已經(jīng)過(guò)驗(yàn)證,答案是肯定的。一般商業(yè)化基本上遵從四大模式,分別是Open-Core 開(kāi)放核心、Professional Services專業(yè)服務(wù)、Hosting 托管服與Marketplaces 市場(chǎng)。當(dāng)然,在實(shí)際實(shí)施過(guò)程中,公司往往會(huì)混合多種模式。
時(shí)至今日,對(duì)于成功的開(kāi)源公司來(lái)說(shuō),最常見(jiàn)的模式是開(kāi)放核心產(chǎn)品,且將與托管、服務(wù)作為第二和第三收入來(lái)源。如果這種組合對(duì)你的產(chǎn)品來(lái)說(shuō)是有效的,那么它可能是一個(gè)不錯(cuò)的選擇,不過(guò)它需要你考慮如何在商業(yè)產(chǎn)品和開(kāi)源產(chǎn)品之間做出明確區(qū)分。
當(dāng)然,在某些情況下,這些模型可能都不適用,你可能需要為自己產(chǎn)品找到獨(dú)特的商業(yè)模式。除了找到一個(gè)能夠讓公司規(guī)模發(fā)展的模式外,關(guān)鍵在于所選擇的模式要與產(chǎn)品的特性相吻合。同樣,創(chuàng)業(yè)者和整個(gè)社區(qū)的目標(biāo)和愿景也很重要。
開(kāi)源項(xiàng)目可持續(xù)發(fā)展之社區(qū)
可持續(xù)發(fā)展的開(kāi)源項(xiàng)目,你會(huì)發(fā)現(xiàn)人員、工作都是可變的,但是社區(qū)是永存的。想要可持續(xù)發(fā)展,社區(qū)不能去依賴某一個(gè)人或某幾個(gè)人,也不能依賴某一個(gè)公司,一定是得能夠此起彼伏的讓社區(qū)更有持續(xù)的生命活力。
綜上所述,是打造卓越開(kāi)源項(xiàng)目的12條原則的概述,在分享接近尾聲之時(shí),以SeaTunnel、ClickHouse、DolphinScheduler等為經(jīng)典案例,對(duì)這些原則進(jìn)行了驗(yàn)證,更多細(xì)致內(nèi)容請(qǐng)點(diǎn)擊觀看直播公開(kāi)課回放:??《打造卓越開(kāi)源項(xiàng)目12條原則》??。
??想了解更多關(guān)于開(kāi)源的內(nèi)容,請(qǐng)?jiān)L問(wèn):??