核心提示出品 | 開源中國受訪者 | 堵俊平為全面呈現開源與云的發展現狀,我們邀請到了華為云與計算開源業務總經理,開放原子開源基金會 TOC主席堵俊平來聊聊云廠商是如何看待開源與云的關系,又是如何擁抱開源的。以下為采訪實錄。開源中國:首先聊聊您過去 出品 | 開源中國受訪者 | 堵俊平為全面呈現開源與云的發展現狀,我們邀請到了華為云與計算開源業務總經理,開放原子開源基金會 TOC主席堵俊平來聊聊云廠商是如何看待開源與云的關系,又是如何擁抱開源的。以下為采訪實錄。開源中國:首先聊聊您過去做的云、開源相關的工作吧。堵俊平:我和云,包括云上的開源項目,有很長的淵源。早在 2009 年左右,我在 VMware 做云的開發,涉及公有云、私有云、混合云等相關產品。后來,我也參與了當時的一個正準備開源的 PaaS 平臺——Cloud Foundry 的開發,在2010至2013年期間,作為主任工程師帶領核心研發團隊,把 Hadoop 和vSphere以及Cloud Foundry 結合,做大數據云化的部署以及優化工作。現在看,在云上運行大數據是一件非常普遍的事情,但在 2010年前后,這個工作是非常領先的,當時沒有太多在云上部署與運行大數據系統的方案負責核心大數據計算平臺YARN,就特別關注Hadoop集群在云上的應用場景,尤其是資源的虛擬化、隔離、超賣以及容錯等各種場景。2018 年,我回到國內,入職騰訊負責大數據產品。從云產品的角度來說,參與開源項目可以培養客戶和用戶,引流,同時云廠商也可以做技術和企業級特性的增強服務,這是云廠商做開源的基本邏輯。當時我在騰訊云還推動了對 Apache 軟件基金會和開放原子開源基金會的項目捐獻與贊助。入職華為后,我主要負責云與計算領域的開源。目前更關注計算領域,但在云原生領域,我也在積極推動一些事情,比如 openEuler 在云上的推廣落地。除了華為云,我們也在和云合作,讓云成為 openEuler 的重點合作伙伴等等。在AI 領域,我們一直倡導云原生的 AI,推動 AI深度學習框架MindSpore、模型等產品與開源操作系統以及云原生做結合和創新,去解決云領域所遇到的問題。這些就是我在云領域做的一些和開源相關的事情。一、是正交關系,也是生態共同體開源中國:開源與云廠商之間是競合關系嗎?為什么?堵俊平:業界有一段話,開源吞噬軟件,云吞噬開源,聽起來像是大魚吃小魚的關系。我只同意前面半句,就是軟件確實在影響著人類生活的方方面面,然后軟件云化和軟件開源化都是很重要的趨勢,但云與開源之間不是誰吞噬誰的問題。如果一定要說吞噬、傳染,云其實也被開源傳染了,就好比吞下了“病毒”一樣,開源天然就是“傳染體質”。目前基本上純粹私有的云服務協議已經很難得到業界的認可了,相反開源開放的代碼、API 更容易得到業界的認可。所以這個問題的答案,從邏輯上來說是正交關系。同時,從概念上看,我認為云本身是一種商業模式,而開源是一種組織形式。那么無論是哪種商業模式,都可以用開源這種新的組織方式、生產關系來去構建。從這個角度看二者也不是競合而是正交關系,互相可以結合。開源中國:聚焦到當下的開源創企與云廠商之間的關系上,該如何看?堵俊平:我認為開源創企和云廠商之間更像是生態關系。現在我們看市場上的幾朵云:國內的阿里云、華為云、騰訊云,國外的 AWS、微軟、Google 的云服務,會發現一大特點——大的云廠商只剩下“幾朵”。但其實云廠商市場并不是天然長成這樣,早在 2009 年我剛開始做云的時候,那時候有很多中小型云廠商,但是到了 2014、2015 年,很多都在激烈的市場競爭中倒下了,或被收購或者破產。在經歷過一輪市場淘汰之后,只剩幾朵大的云。我認為這些大型云廠商前還應該加一個限定詞——IaaS,主要是以 Infrastructure 為主的。這些廠商為什么能活下來?一方面因為有超強的技術積累,另一方面資本也比較雄厚,可以滿足運營大型數據中心的技術支持、運營等需求。整體來看云資源,業界走向了薄利多銷的模式,有點像大型超市。我們經常說云本質上就是超市,超市可以賣自產的商品,也可以賣別人的產品。大型的云廠商則更像是連鎖型超市,而此時一些中小型的開源創企所做的項目和服務,就像是大型連鎖超市某個貨架中的某個商品。反過來說,如果這些大型超市不講武德,只賣自己的產品,或者看到好產品就直接搬回來,這種做法就會扼殺整個生態。早年很多人吐槽云廠商的這種行為,但是我們也能看到現在許多云廠商也在改進中,包括成立開源辦公室、大量贊助上游開源軟件基金會、在開源社區中投入工程師力量、給社區作貢獻等等。所以大型云廠商一定要注重回饋,這是義務,沒得選。另一方面,在整個生態的上游,是很有特色的中小軟件廠商。這些廠商一定要找到自身的核心競爭力在哪里。核心競爭力在開源項目上的戰略沒有問題,因為把產品開源出去有助于吸引用戶和客戶。但同時在充分競爭的云市場上,也要能提供自己獨特的能力,比如在提供企業支持服務的同時,也可以提供更好的性能、或是針對硬件或某些云基礎服務做獨到的優化等等,找準自身核心競爭力和市場定位。二、開源與云是如何相互促進的?開源中國:開源對云廠商的價值體現在哪些方面?反之呢?堵俊平:從歷史上來看,云廠商有幾件很痛苦的事。第一,本質上云是把所有企業內部的 IT 服務搬到線上,然后提供在線的產品和運維服務,而軟件產品和一般的商品不同,通常一朵云里會有成百上千個云服務,加上企業客戶的需求有很多類別,這樣云上所沉淀的東西就變得五花八門,同時產品分散。第二,開發成本和運維成本很高。在公有云大行其道之前,2008年或2009年左右我還在 VMware 的時候,當時大家討論未來是公有云還是私有云占主導的問題,一派認為私有云占據主導,原因可以用一句話來概括——“全世界的 IT 服務都是由一家公司來運維,這是不可想象的”,實際上 AWS 后面基本上是做到了,在云市場上占據了半壁江山。當下的市場中也是幾家公司就可以覆蓋全世界的云上 IT 服務。就是因為云結合開源,讓很多項目收斂化了,比較容易構建事實標準。當然并不是云廠商單方面去構建標準,而是因為云廠商提供了開源項目相關的服務,并且因為這個開源項目好用,所以能夠快速吸引用戶,從而實現事實標準。事實標準的存在有效降低了云服務的復雜性,雖然現在各個云廠商也提供了很多差異化的服務,但是大量主流的產品是收斂的,比如大數據方面,Hadoop、Spark、Flink 這些項目和服務都是標配,如果沒有這些項目,你會發現一個云廠商想要運維好多個不同的產品很難。另外如果沒有統一的事實標準,也會形成某種程度的綁架,很難從一朵云遷移到另一朵云。所以我認為某種程度上來說,開源造就了云。現在我們說云是一種趨勢,開源是一個重要手段,但如果沒有開源的配合,云尤其是公有云在當前取得的成就,不知道要往后推多少年。所以在我看來,云廠商做開源是義不容辭的義務,沒有什么可商量的余地。除了幫云廠商解決這兩個痛點以外,結合開源的商業模式可以建立很好的漏斗模型。由于開源產品免費、代碼開放,可以吸引很多技術愛好者,快速獲得一些原始的用戶積累,我們姑且稱之為“用戶流量”。然后基于漏斗模型分析,這些用戶有一部分會進入生產系統,到了生產系統之后,就會需要一些企業服務,或者說需要組建一個專門的團隊去做維護,也需要投入資源或者是工程師到開源社區中。如果不在開源社區投入資源,那么就得購買專業的云服務。所以無論何種方式,哪怕是免費用戶,最終也會一步步沉淀到云上和企業服務之上,從潛在客戶變成最終用戶。開源中國:反之,云對開源的價值體現在哪里?堵俊平:云是一個很好的,能夠幫助開源觸達最終用戶的方式。比如現在用戶想要嘗試使用一個新技術,不管是 Spark,還是 TensorFlow、MindSpore,如果想要試用,那么最快的方式就是先試用云廠商的云服務,速度是分鐘級甚至秒級別的。反之,如果按照傳統的方式,一個企業從購買硬件開始,直到完成部署、試用一套流程就需要花很長時間,可能到最后已經對開源項目失去興趣或者失去了時間窗口。所以,對于開源項目來說,云服務天然能夠拉近和用戶的距離,降低使用門檻,我認為這是很重要的一點。第二點,在構建盈利模式方面,云提供了一個非常好的商業模式。如果不用云服務,只是做線下發行版,或者專有支持,按照純線下的方式去構建商業模式會有兩個問題:一是傳統 ToB 的銷售模式,業務增長伴隨著銷售團隊、售后團隊成規模地增長,很難像互聯網公司一樣快速起量。另一個問題就是人員成本,尤其是售后的成本。比如客戶的現場 IT 情況往往比較復雜,防火墻設置、數據中心、操作系統版本、第三方庫的安裝方式都不一樣,這些問題造成的結果就是可能需要投入很多售后支持人員。當開源產品出現問題的時候,要花很多時間去 debug。我之前在頂級的大數據平臺公司,公司遭遇的問題就是每年也很賺錢,但同時還持續地虧損,而造成虧損的原因就是售后支持消耗了大量的人力。云的好處就是我們在一個可控平臺環境里,所遇到的技術問題會有所收斂,能快速解決。所以云服務對于開源而言,不敢說是最好,但至少是一個非常優質的商業模式。整體來看,開源與云的關系已經過了最“劍拔弩張”的時刻,開始尋求共生與合作,這個過程中,有什么關鍵事件推動嗎?任何新生事物的發展都有很多可能性。一方面,開源獨立發展的時間已有幾十年,節奏忽快忽慢,近幾年突然加快了。比如國內開放原子開源基金會的成立,從國家到各個公司也都非常關注開源,加大投入。另一方面,云是當下一個必然的技術趨勢,也有自己發展的生命周期。那么兩個獨立發展的事物交織到一起,必然會變得更加復雜,二者會互相促進,也會發生相碰撞,碰撞可能會反映在云廠商和一些開源創企之間,會有利益沖突,包括商業競爭。就像交響樂一樣,如果你只聽到一種聲音就會很單調,但是通過不斷碰撞之后,大家會明白:在一個生態里面,與其拼命去爭奪養分,不如形成一種共生的關系,互相依靠。這是一個從偶然走向必然的<<過程,當然其中也有一些關鍵節點去推動。比如說像 MongoDB 做許可證變更的時候,突然之間的轉變,那么大家就會反賓狗思開源項目為什么要這樣。當然不只有 MangoDB,同一時間段還有 Redis ,ElasticSearch等系列的項目變更許可證。一方面這些項目變更完許可證后還是不是嚴格意義上的開源項目,業界有較大爭議,比如 OSI就認為 SSPL 不算開源許可證,因為它的商業活動限制、歧視了云服務等應用場景。但從另一角度來看,這確實是開源創企的一次重要嘗試,而通過這樣的方式也能夠讓云廠商開始反思。比如 ElasticSearch 改了協議之后,AWS 就說要去支持上游社區的開發,甚至 fork 一個分支,繼續采用 Apache v2 許可證去推進開源項目和社區發展。我認為這些都是積極的信號,大家在同一個生態里,有互相賓果賓果 開獎競爭的時候,也會互相遮風擋雨。三、怎么做?Upstream First 可以是第一步開源中國:目前的狀況是,在許多開源項目作者眼里,云廠商從開源社區得到的益處和回饋不成正比。站在云廠商的角度,為什么會出現這種情況?回饋開源主要的困局是什么?堵俊平:因為我自己的業務是比較跨界的,所以我不能完全站在云廠商的角度,我更愿意站在開源的角度去看這個問題,不站任何業務立場。可能大家說前幾年輿論場上有一些抱怨,但其實我看到各個云廠商之間也加強了開源貢獻,因為大家發現開源是一個很重要的戰略手段,同時對開源領域的貢獻也會有相應回報。在開源領域做貢獻通常會有中長期回報,比如你貢獻的人才在社區得到鍛煉,就有了一個精干的團隊去持續迭代,同時也會更容易贏得客戶的信任。當然我們是鼓勵對開源社區做出了貢獻之后出來宣傳的,通過宣傳讓大家知道開源社區背后的主力貢獻者是誰。這時客戶會更相信你的技術實力。像華為之前在 Linux Kernel 社區的貢獻排到了第一,我們也是重點宣傳,也想讓業界知道操作系統開源領域背后真正的貢獻者是誰。這點很重要,因為客戶在選擇的時候容易被誤導,當客戶看到誰有真正的技術實力和能力去支持一款好的開源產品的時候,選擇會更加明確。那么某種程度上,云廠商也算是實現了商業回報,或者說是構造出一個完整的“貢獻-回報”價值鏈。從貢獻社區到收到回饋,整個的流程是比較長的,在這個鏈條中,如果任何一個環節出現問題,可能都會影響實際的收益。因此很多時候團隊在提出開源價值的時候,老板不太認可,也不太支持。但另一方面,如果走自研的路線,很容易講價值,因為所有的產品聽上去都是和競爭對手有差異化的能力34 月。所以單從講故事的角度來說,自研路線更容易講清楚的。但是把視野放大,如果大家都在強調自研,那市場就回到了二三十年前的老路。那么我現在想問有什么東西是真正原創賓果賓果中獎號碼的?我認為很少。絕大部分我們所謂“自研”的產品和技術,其實開源界都已有類似的項目,那么你怎么能保證你的小團隊可以在跟外部更廣大的團隊的競爭中獲勝?深思起來,這個其實一樣講不清楚邏輯。所以當下,走閉源這條路其實更難。很多團隊不選擇走開源的原因無非就是上級領導存在認知盲區,不知道外面有一個更大、更開放的世界存在。因為一旦開源,大家就會知道你這個所謂“自研”的東西99% 都是從開源借鑒的。很多時候強調自研而不開源,很像是“皇帝的新裝”。勇于開源,才能讓明眼人看出來,你的產品、技術、人才有幾斤幾兩。現在回看二三十年前的市場,當時的情況選擇閉源沒問樂透題。但現在我們能看到成功的閉源產品越來越少,反而是和開源開放生態結合的產品,或者說和開源有很好交互的產品,更容易完成生態的構建。當然開源開放并不是要求 100% 開源,把關鍵的、有競爭力的部分開源出來,普惠社區用戶和上下游的技術伙伴,就可以構建出好的生態模式來促進業務。開源中國:云廠商應該在多大的程度上去回饋開源?有沒有什么標準去衡量?具體可以怎么做?堵俊平:我認為投入多少,是每個廠商根據自己的商業規劃來去確定的,沒有嚴格的定義和要求。但是我認為,云廠商要養成一個好習慣——Upstream First。這不僅是一種利他主義,也不僅僅只是出于開源的精神,從工程實用性的角度,Upstream First 也是能帶來好處的。很多時候你維護了一個自己的分支,然后往里面放了些所謂自研的技術,但極大可能上游會逐漸出現比你優秀的代碼,而你的代碼還可能會和上游代碼起沖突。這時就需要不斷去根據社區最新版本做迭代,不斷 merge,合并沖突,成本很高,長遠來看也沒什么價值。所以,我認為沒有養成“Upstream First”的團隊并不是業務上有什么阻力,主要是態度和經驗問題。如果哪個團隊不遵從 Upstream First來盡可能合入上游,要么就是他認為開源模塊的維護不重要,要么就是和上游社區打交道的經驗不足,覺得推動困難,想隨便維護一下拉倒。這兩種情形對最終客戶都是不利的,都不可取。開源中國:華為云對于開源的態度是怎樣的?具體做了哪些事情?堵俊平:廣義上的開源,包括硬件開放和軟件開源是華為整體的戰略。在整體開源開放的戰略旗幟之下的,不同的業務團隊具體動作也會比較類似。其實在國內的開源界,華為的優質項目,整體也算是做得最多的了。像 openEuler、openGauss、MindSpore、OpenHarmony、KubeEdge、Volcano 等等,每一個軟件在相應領域里,在國內排名都非常靠前,甚至是第一的狀態。我們也希望可以從國內最優走向全球領先,現在華為的一些開源項目正在往這個目標努力,持續加大投入。全球的開源生態已經非常繁榮了,中國的開源生態也在快速發展中,我們希望華為可以成為中國開源的基石型的貢獻者,幫助國家把中國的開源生態格局構建起來,包括我們前段時間一直在推進的“開源雨林”計劃。像剛剛提到的關于云和開源之間出現摩擦,也有一個重要原因是很多用戶沒有付費的習慣,包括在使用開源項目之后不愿意回饋社區。但其實我們實際調研后發現,很多時候并不是用戶不愿意回饋,而是對開源的認知或者說實戰經驗不夠,比如有時候想到社區做貢獻,但是又覺得社區看起來好像是一個虛無縹緲的東西,從而貢獻無門。所以其實引導更多人參與到開源生態中來,是需要方法論來指導的。華為聯合開放原子、信通院、軟協等中立組織,通過“開源雨林”計劃,希望能從開源的消費端-最終用戶入手,提升他們的認知水平與貢獻意愿,從而幫助開源領域更多的開發者、初創公司在生態中找到自己的贏利點,最終實現整個生態的繁榮。我一直相信,開源生態最好的模式是雨林模式。在雨林中可以既長著參天大樹,也生存著一些小的苔蘚,它們共同生長,相互依賴,從而讓整個生態系統持續繁榮穩定。堵俊平現為華為計算開源業務總經理,開放原子開源基金會 TOC主席,LF AI & DATA基金會主席,Apache 軟件基金會 Member,ApacheHadoop PMC & Committer 以及 Apache NuttX, YuniKorn 等項目導師。加入華為前,歷任騰訊開源聯盟主席/數據平臺部總監,Hortonworks Hadoop 核心團隊負責人等角色,積累了在云計算,大數據以及開源領域長期的研發、管理和業務經驗,具有廣闊的技術視野和業界影響力。本文首發于開源精選集《開源觀止》第 3 期,更多精彩內容,請點擊查看:https://oscimg.oschina.net/public_shard/opensource-guanzhi-20220810.pdf
Posted in賓果賓果 bingo bingo相關討論區