核心代碼全開源後,還能做出「卡」別人脖子的產品嗎?

情感導師 6207

 添加導師LINE:jaqg

獲取更多愛情挽回攻略 婚姻修復技巧 戀愛脫單幹貨

從左到右:唐小引(主持人)、蔣濤、陶建輝、黃東旭

整理 | 伍杏玲、王曉曼

最近 IT 界關於開源的討論很多,開源容器引擎 Docker、高校基礎數學軟件 Matlab 均受到禁令事件,引發大家對國產基礎軟件自主創新重要性的大規模討論。

尋找適合的開源軟件替代方案是一個燃眉之急,但如何建設好我國基礎軟件,改變被「卡脖子」的局面,是我們需要思考的事情。

核心代碼全開源後,還能做出「卡」別人脖子的產品嗎?

有一位 60 後程序員陶建輝,去年他將物聯網大數據平台 TDengine 10 多萬行代碼開源,霸榜 GitHub,兩個月 Star 數超 10000;今年 8 月,他再將 TDengine 核心集群版本開源了,連續 5 天霸榜 GitHub,在 IT 圈引起熱議。

為何濤思數據不遺餘力地將 TDengine 核心功能全部開源?未來開源平台該如何商業化?開源對國產基礎軟件有哪些影響?新基建東風下,對物聯網、大數據等技術有哪些新機遇與挑戰?

由 CSDN 重磅打造的高端對話欄目「大咖來了」,第六期《核心代碼開源,還能做出卡別人脖子的產品嗎?》,我們邀請到同樣關注中國開源發展的CSDN 創始人&董事長、極客幫創投創始合伙人蔣濤、濤思數據創始人陶建輝、PingCAP 聯合創始人兼 CTO 黃東旭,聚焦中國基礎軟件現狀,直面開發者在技術創新、開源、商業上的難題,幫助開發者捋清思路,為中國基礎軟件的發展做正能量傳播和普及。

立即點擊視頻觀看精彩瞬間:

以下是對話實錄:

「任性」開源 TDengine 集群版

陶建輝:濤思數據研發一款專門針對物聯網、工業互聯網、車聯網場景的大數據平台 TDengine,去年將其核心功能開源,但保留集群功能沒有開源。TDengine 在開源後的兩個月內 Star 數達到一萬,很多開發者試用後給了不少反饋,於是我們決定要把集群版開源。8 月 3 號,我們正式對外開源集群版功能,隨後的 5 天時間裡,TDengine 連續在 GitHub 全球趨勢排行榜位列第一。

為了這次開源,我們做了很多準備工作,包括代碼重構,我這位 60 後老程序員在疫情期間就寫了1萬多行代碼,從春節到現在我的 Pull Requests 有 161個。

黃東旭:我完全不意外 Jeff(陶建輝英文名)將TDengine 集群版開源,我倆認識已久,當時他公司還沒有註冊時我就建議他開源一事。畢竟 PingCAP 算是國內最早基於開源的模式來研發基礎軟件的公司,希望PingCAP 能作為一個榜樣帶領行業更多夥伴做開源。特別對於數據庫等基礎軟件而言,你不應該說拿閉源當做商業競爭優勢,而是要把源碼開放,以獲取更大的市場占有率。按照這個邏輯來說,假如 TDengine 不開源才讓我意外。

蔣濤:環境在變化,技術棧也在不斷發展,每種語言和軟件都有適應它的應用場景和它時代,所以我們將會擁有很多新機會。近年來,科技的發展離不開開源技術的推動,促進技術開源化和全球化。技術的開源給我們帶來很多紅利,同時產生非常多開源商業化成功的企業。

福特基金會出品的開源書籍《路與橋——現代世界數字基礎設施那些隱藏的勞動》裡講到,開源是數字世界的「路」和「橋」,路和橋是什麼東西?——操作系統和數據庫。

我們對數據庫進行一些統計,首先看到的是 Oracle,一篇 70 年代的論文延伸出1000 億 Oracle,這屬於上一代閉源數據庫。進入大數據時代後,帶來了MangoDB、Elasticsearch 等應用,開啟 NewSQL 時代。

當下我認為發展得較好的是那些開源的公司,TDengine 霸榜 GitHub 也從側面說明了這點。新的技術產品通過開源代碼是讓市場驗證產品是否真正有價值和有質量的重要手段。將核心功能開源,在美國擁有較好的模型——Open Core,隨着美國企業的開源商業化迭代,目前發展得相對較成熟,一些上市開源公司發展得不錯。

核心代碼開源後,如何商業化?

陶建輝:有人將TDengine和其他數據庫做對比,但類似 InfluxDB 、監控數據庫 Prometheus 沒有開源集群版本(註:InfluxDB 曾開源集群版後又閉源了)。於是我想走在前面,率先開源TDengine集群。

也許有人問,將核心代碼後是不是就沒辦法賺錢了?

答案是:No!

MangoDB 早就開源集群版,且市值超過 120 億美金。那麼濤思數據後續該如何賺錢?不外乎以下三方面:

一、依靠輔助性功能,Open Core 確實將真正核心技術功能開源(如TDengine的表、集群等功能),但其他「細微末節」的功能,如異地容災、備份、審計等超大型客戶需要的輔助功能,我們並沒有開源,MangoDB 也是採用這種模式。

二、依靠服務,一些開源公司儘管軟件是免費的,但有強大的技術支持團隊來升級和維護軟件,我們也可以依靠這項服務商業化。

三、如今我們步入雲時代,當開發者普遍認可 TDengine 等基礎軟件後,我再在阿里雲、騰訊雲、亞馬遜雲上提供 TDengine 雲服務,是順其自然的事。我想自己做雲服務,想提供物聯網的存儲服務,這項服務一定是能賺得到錢的。

大家千萬不要認為開源僅是情懷,如果我們不能創造商業價值,公司不能盈利的話,沒辦法繼續開源。如今開源已走過從前靠一兩個人寫開源軟件的時代,而是大家一起寫,像TDengine 的 C 語言代碼達 30 萬行,這不可能是一兩個人能寫的。我們還要持續發展,因此是必須要賺錢的。

我堅信靠以上三個方法養活公司!

黃東旭:很多人認為的開源軟件盈利模式是通過提供一些企業級特性功能或部分代碼閉源,然後通過開源 Open Core 快速占領市場。

一些投資人也問我,你們閉源的代碼是什麼?

我回答,幾乎沒有閉源的東西。

他問,那你怎麼掙錢的?沒有企業特性你們公司是怎麼發展?

我反問道,有哪家開源軟件公司是通過真正的企業級特性取得特別大的成功?像公認發展較成功的開源企業 Red Hat,其企業版比開源版功能要少。MangoDB 最近在資本市場的優異表現很大層度取決於在雲端的雲產品而不是 open core。

開源軟件的商業價值並不取決於代碼本身,而是產品背後的商業價值。比如研發金融級數據庫,儘管是開源的,企業用戶如果想用在核心系統里,一定會來找過來做更多功能,這是產品本身的價值,不會因為它開源或不開源有影響。假如做一個圖書管理系統,不管開源與否,其整體價值是有限的。所以我認為開源軟件商業化命題其實是說軟件本身的商業化。

在國內,開源的商業模式有點像「賣保險」:用戶在一個嚴肅的系統里用開源產品,假如出現問題,肯定希望廠商能第一時間提供專業的解決服務,那麼這項服務就是產品的價值。

如何打造一款國產基礎軟件?

陶建輝:我是通訊軟件開發出身的,以前從沒做過基礎軟件開發,是個喜歡跨界創新的人。我認為很難去開發基礎軟件,不是難在原理上,而是在具體實現上將存在很多問題,主要表現在:

一是產品性能,假如寫不對幾行代碼,產品性能就降低了。

二是穩定性,開發者要處理各種各樣的場景,如某個文件讀錯了要怎麼處理,數據就出了問題怎麼辦?

三是基礎軟件需要規範和標準。當 IT 系統很龐大時,產生的模塊眾多,此時模塊間要形成約定,讓團隊默契工作,這中間需要一個好的工程規範。隨着互聯網的發展,中國誕生了阿里、百度、美團、小米等發展很好的互聯網公司,但這些公司主要做互聯網的服務。濤思數據和 PingCAP 做的是標準化產品,這跟互聯網服務的開發是不一樣的,互聯網服務可以隨時更改,沒有硬性規定 API 等,而標準產品跟互聯網服務的差別很大。基礎軟件不好研發,難度相當大,開發者沒有受過好的訓練是沒辦法完成的。

黃東旭:雖然基礎軟件很難做,但我思考更多的是怎麼「人盡其才」。一是我們明白一個人的能力是有限的,PingCAP 有將近 300 人,在社區裡有很多 TiDB 用戶,但難在如何將這些人組織起來?

假如一個設計師想給 TiDB 做插畫,有沒有一套流程和體系能讓他方便地貢獻?又如開發者發現一個 Bug,你能不能在 5 分鐘內修好這個 Bug?如何吸引他人做貢獻,及時給反饋,提供獎勵,如何將遊戲規則設計好是更困難的。

二是,國內開源軟件有一個天然的劣勢,美國開源軟件假如能拿下硅谷就差不多說可以拿下全球,但中國開源軟件很難做全球化,從 Day one 就要開始思考和布局這塊。

蔣濤:國內是在技術全球化和開源化的紅利基礎上,才有了互聯網應用、移動互聯網應用等的大發展,這是享受技術的成果。

當下存在兩個機會:一是大企業的業務龐大,開源技術滿足不了其場景需求,甚至連商業化軟件也滿足不了。這些公司達到一定體量後,將會帶來技術上新要求和進步。所以像阿里內部有很多自主開發系統,有一些是開源的。

二是隨着濤思數據和 PingCAP 等技術公司的成長,我們發現市場還有一些空缺和機會,中國可以做出自己的技術公司。如今整體環境和場景發生較大的改變,與 2015 年左右不同,那時無論是從商業前景看,技術公司的市場接受度是較弱的。

所以說,當大公司成長起來後,其有基礎軟件的需求和打造的能力。當下市場也提供這樣的機會,往後將會有更多的技術公司在科技全球化後,這些技術能連接全球。如何聯接全世界?開源就是最好的連接方式。

陶建輝:開源是中國軟件企業走向全球的最好的途徑。

開源對基礎軟件的影響

黃東旭:開源軟件找到了很好的商業模式——雲。過去,沒有雲或者雲服務不成熟時,大家會將開源軟件按照傳統閉源軟件的私有化部署、License 等方式收費,其實是很彆扭。

「雲」模式本質上縮短了從用戶對你的認知到最後完成價值交換的流程,傳統軟件或者閉源軟件可能中間有一步,比如介入銷售,做 POC、線下部署或容量規劃等。但在雲上,從認知到開賬號使用、綁定信用卡,從小變大是完全的商業模式變化。

當我們 5 年前剛開始創業時,很多人認為做數據庫挺困難的。但我們從第一天開始就認定擁抱雲,走全球化路線,這是這個時代開源軟件唯一的出路。

陶建輝:濤思數據從 Day One 起就定位做一個全球化的公司。不管開源與否,基礎軟件如果不面向全球的話是沒有辦法生存的,因為中國基礎軟件市場只貢獻了全球31%的收入。

在已有 Oracle、Red Hat 等情況下,如果只做中國市場是不可能成為全球獨角獸的,因此我從 Day one 就決定做面向全球的公司,加上我有「海歸」背景,在美國工作過十幾年,我們團隊的18個人其中6人也是「海歸」,因此我們有全面的英文文檔。最近有做物聯網的德國人誇我們的網站寫得很專業。我覺得很自豪,大家認可我們這一點。所以說我們必須面向全球化,不面向全球化的基礎軟件沒有出路。

蔣濤:中國市場是有機會的,但現在環境需要有一個改善的過程。雲對中國公司來說是最好的商業機會,畢竟賣 License 的方式在中國運行的效果較弱。

全球技術公司在中國獲得的收入占比是非常小。但是在未來,一是隨着雲計算的發展,二是中國公司逐漸認識到,用開源軟件的成本也挺高的,如果能用雲或者得到原廠商的支持,成本比自己去做這件事情要有效的。

上雲背後還有應用系統的問題,用戶採用數據庫時,是自己維護,還是依賴原生廠商或雲廠商維護?應該是依靠第三方廠商幫忙維護的,因為技術正不斷地發展,不管開源閉源,運維是非常重要的。

是你自己雇一個運維的人,還是找專業公司好?像 TiDB 有 300 人,他們對系統里每一行代碼都是清楚的,其實你去依託它的服務是更有效的。

開源降低了市場的成本,有人願意花錢解決問題,有人是花時間解決問題。我們將軟件開源後,先培育程序員花時間研究它,等研究到一定程度,有錢了,就會想找專業的人解決運維。

黃東旭:我也分析過這個現象,有句俗話是「有錢的捧個錢場,沒錢的捧個人場。」對於企業來說,這背後的核心原因是風險控制,當沒有預算投入到開源軟件時,作為企業要運行自己的業務,如果這裡面出了風險怎麼辦?風險控制在互聯網公司或者在研發能力較強的公司里轉換成人力資源的投入,就是程序員研究。對於金融機構,他們可以用錢來做風險控制,這本質上是風險控制的原因。

陶建輝:還有一種情況是,客戶只想花力氣不想掏錢,他就想省錢,你乾脆不給他用。因為你不給他用,他去用其他相對差的產品,這實際是通過開源加劇了壟斷或者加劇了分化。

如果大家都閉源,那麼一個數據庫就都能瓜分到一部分市場。但開源後,產品做得很好可加劇市場的重新劃分,有可能全球 80% 的物聯網用戶在用 TDengine,不會用其它閉源產品。如此一來,便能將競爭對手的空間完全擠掉,我們就有機會獲得市場份額。

黃東旭:做開源軟件就像修一條高速公路,最土的賺錢辦法是建一個收費站。

收過路費是最土的賺錢方式,當你作為一個修路的廠商,如果把路修好,應該儘可能讓更多人來走這條路,在走這條路的過程中,不管是建設加油站,還是建設其它東西,賺錢的方式很多,玩法很多。

我們從去年開始認真地做國際化,到今年海外收入已占到公司總收入中的較大比例。海外市場較合規,很多人覺得外國人的付費能力好,願意給錢,所以是個好市場。

這背後是一整套監管系統在助力的,美國 SaaS 公司是一級級通過 Compliance 構建起來。大家會疑惑為什麼美國公司做很簡單的小工具就能做成一個大 SaaS 公司?這背後不僅僅是因為產品價值,還有整套市場的監管、法律體系、合規要求。然而國內市場還沒有到達那一步,所以很多時候大家處在野蠻生長的狀態。

如何做「卡別人脖子」的技術產品?

陶建輝:「卡脖子」即一個公司占據市場,假如不願意給你使用,就沒有別的選擇。如果某款產品僅占 1% 的市場份額,那它「卡不了脖子」,因為還有其他賣家可提供同類產品。

在基礎軟件上要想卡脖子就要占據相當大的市場份額,或者形成「你中有我,我中有你的局面」,只要市場份額足夠大,就可以「卡住」別人。

我認為在細分領域——物聯網大數據處理上,我們有機會做出一個「卡脖子」的產品,TA有可能成為橫霸全球的產品,占據全球市場份額較大,這時候可以說「卡」了別人,或者「壟斷」。TDengine開源的主要核心目的是:壟斷全球市場。

黃東旭:我對這個問題有不一樣的見解。我特別反感「卡脖子」,為什麼一定要「卡別人脖子」才能算成功?

壟斷是創造商業價值的很好手段,但其目的不是為了壟斷,而是讓客戶成功。對於很多用戶來說,如果我說要「卡你脖子」,那麼大家就不敢用了;但如果你說「我絕對不會卡你脖子,甚至還能防止別人卡你脖子」,那麼用戶就會心甘情願來用你的產品。創造商業價值是通過客戶的成功實現的,這點要比創造壟斷更為重要的事情。壟斷不一定是好事,要看壟斷到底對行業或社會是否帶來價值。

蔣濤:過去「卡脖子」是那些商業閉源軟件,例如以前 Windows 都「卡大家脖子」,大家要用的話就得交費。Linux 是大學生寫的操作系統,但如今 Linux 獲得巨大的成功。

真正的「卡脖子」,只會推進中國科技的大發展。如果中國面臨巨大的「卡脖子」危機,那我們就得自己做了,這是促進創業的機會,過去這個基於是不存在的,例如一個做 EDA 軟件的廠商如何和 Synopsys 競爭?沒法競爭。

不競爭的話就必須弄個 B Plan。如今中國有這麼多優秀的程序員和軟件,存在「不卡」的產品,如 Linux 基金會用中英文發公告說不受限制,歡迎中國使用。

程序員的小團隊是可以做大事的,所以我們不要怕「卡脖子」,真「卡」了,將湧現很多中國發展的機會,反而是好事。通過「卡脖子」鍛煉出來的能力,能成為走向全球的競爭力。

黃東旭:核心問題是好的場景和需求才能打造出好的產品。過去美國那些很牛的軟件是在上世紀 80、90 年代科技特別進步時推出的,因為當時有這些需求才促使軟件發展。

近幾年來,中國的分布式系統、數據庫等軟件發展飛快,正是因為美團、滴滴等大移動互聯網公司的業務和需求發展壯大了,大家需要更新的技術來解決問題,我們不是自己拍腦袋出來創業,而是這個時代的呼喚。大白話是錢在哪兒或者說需求在哪兒,就能誕生出什麼樣的產品來。

陶建輝:我個人更看重新的細分賽道,畢竟在老的賽道如桌面操作系統,我認為很難有人能顛覆微軟,手機操作系統很難顛覆安卓。所以我們更應該關注新的細分賽道,如物聯網大數據處理、自動駕駛等。像濤思數據,最驕傲的是我們產品的各項性能指標比 InfluxDB 好得多,我們的查詢速度是快10倍、20倍,我認為我們是有很大的優勢,但這個市場很細分,不像 TiDB 占據主流市場。

黃東旭:這點我跟陶總的想法有不一樣的地方,涉及到市場選擇,到底選細分領域還是選更大的領域?我們的答案是選一個天花板更高的,因為選細分的話很容易能做到第一,假如這個「第一」可能價值 100 億美金,如果想要做到像Oracle,價值 1600 億美金的話,這不是一個細分的市場能帶來的價值。

蔣濤:我認為都是有機會的,首先是大領域的千億級機會,但這裡面可能僅出來幾個勝出者,而接下來的百億級機會可能有幾十個。而其他細分領域也是有很多點可以做的,所謂「不想當元帥的肯定不是好士兵」,但元帥只有一個,假如要想走元帥的路需要歷經磨難。

但做團長是相對容易的,先當團長後再往上走,例如老陶創業濤思數據,這是他第三次創業。別看他現在底氣十足,第一次創業時是很焦慮的。現在有很多可以創業的點,大家可以先做「make something people want」,做有意思、有用的產品,可以從最小的事情開始做起,例如給TiDB做點貢獻,提個issue,指出一個 Bug,加入一些開源社區。我們鍛煉一批開發者出來,加速國內技術發展。

陶建輝:「卡脖子」時代是技術人員創業的黃金時期,最近這10、20 年是技術人員很好的發展窗口,各位程序員應該加入我們這類技術公司共同創業。

建議開發者

蔣濤:開源是全球每個開發者都能參與的事情,「卡脖子」給中國帶來一個特殊機會,增加市場機遇,這對中國開發者而言,未來 5-10 年是最好的時代。現在 GitHub Public 代碼倉有一億多,我們統計大概有 2000 多萬個活躍的,這是個巨大的寶庫。

如今中國處於特別缺 API 的時代,大家不能把所有的事情都做完,每個人做一個功能就夠,再跟其他的系統結合一起,共同產生更大的網絡效應和技術價值。後續我們可以成立類似於「技術開放聯盟」,大家遵守一定的標準來執行,當下政府也在進行一些工作,這中間需要一個過程。

陶建輝:對於研發基礎軟件的人而言,春天真的到了。中國軟件工程師的數量比 20 年前多了 10 倍以上,那麼多軟件工程師由他們孵化新的工具和平台,這是我們做基礎軟件公司的機會。

黃東旭:小時候剛開始學編程時,網上培訓資料很少,現在是很好的時代,因為相關技術知識搜索便捷。譬如你要寫分布式數據庫,不需要把大學的課程從頭讀一遍,可以查看開源軟件和有很多免費資料學習,學完後還能參與進來,這對於工程師來說,得到非常快的提升,這是第一個建議。

第二個建議不是給程序員,而是給友商和合作夥伴,希望大家擁有更大的格局,大家的一些合作、一些互通有無,可形成網狀效應,能帶來更大的商業價值。這裡有特別好的例子是 AWS,我們在 AWS 做全託管的雲服務,不需要跟 AWS 談戰略合作,只用其提供的 API 就能完全搞定。

陶建輝:和我念大學的時代相比,現在由於開源的發展,新一代的學習機會較好,因為開源軟件里有很多寫得特別好的軟件,比如可以直接到 GitHub 上看我老陶寫的代碼,還有很多別的好代碼。另外,你可以參與 TiDB、TDengine等開源項目,共同解決問題。那麼在找工作時,假如你幫TiDB、TDengine 解決過 Bug,在面試時是很有用。

我從開源社區聘用了兩個人,我發現一位程序員為我們找 Bug、改Bug。我馬上給他發郵件,邀請他加入我們團隊。因此對在座的各位大學生和工作時間較短的人來說,這是你證明自己能力的途徑。假如你在華為做軟件開發,寫的代碼別人看不見,別人不知道你水平怎麼樣,但你說 TDengine 某個模塊是我寫的,我給它解決了 Bug,那面試官就對你有更多的了解。

評論列表

頭像
2023-08-04 15:08:58

寫的東西感觸很深,對情感上幫助很大

頭像
2023-07-08 20:07:04

發了正能量的信息了 還是不回怎麼辦呢?

 添加導師LINE:jaqg

獲取更多愛情挽回攻略 婚姻修復技巧 戀愛脫單幹貨

發表評論 (已有2條評論)