Zilliz顧鈞:聊聊帶我走出程序員中年危機的開源項目

{"type":"doc","content":[{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"程序員的“中年危機”是個老生常談的話題。在焦慮氣氛的烘托下,35 歲儼然成了一個魔咒,也是程序員職業發展的分水嶺。本期"},{"type":"link","attrs":{"href":"https:\/\/www.infoq.cn\/video\/s0oeYcuGC5YGudWH5aIH?utm_source=home_video&utm_medium=article","title":null,"type":null},"content":[{"type":"text","text":"大咖說直播"}]},{"type":"text","text":",InfoQ 邀請到了 Zilliz 合夥人、首席佈道師顧鈞,結合他做"},{"type":"link","attrs":{"href":"https:\/\/milvus.io\/","title":null,"type":null},"content":[{"type":"text","text":"開源向量數據庫項目 Milvus"}]},{"type":"text","text":"的經驗,分享如何在開源中找到技術的樂趣,以及國產開源數據庫的機遇與挑戰。"}]}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"從0到在LF AI & DATA基金會畢業,開發Milvus積累了哪些經驗?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:很高興有機會和您進行交流,您方便簡單介紹一下自己嗎?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"顧鈞:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"大家好,我是顧鈞,來自 Zilliz。Zilliz 是一家基礎軟件領域的技術創業公司,我是 Zilliz Milvus 開源項目的首席佈道師,同時我也在國內外的一些開源基金會中做開源相關的推廣和社區合作的工作。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:此前您曾在一篇文章中提到,Milvus 向量數據庫是帶您走出程序員中年危機的開源項目。我們也注意到在今年 6 月份,Milvus 從 Linux 基金會旗下 Al 子基金 LF AI & DATA 畢業,今年 3 月,Milvus 論文也被數據管理國際頂會 SIGMOD 接收。您方便和我們介紹一下 Milvus 這個項目的開發背景以及設計思路嗎?它能解決的核心問題是什麼?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"顧鈞:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Milvus 向量數據庫是一個開源項目,其實早在 2018 年,我們就有了初步的構思。2018 年,我們在和用戶接觸的過程中發現,一些行業用戶已經開始嘗試把實驗室的 AI 算法帶到實際業務應用中,但當時整個 AI 應用開發所處的狀態是,應用開發需要把端到端所有的組件構建起來。這意味着,開發任何一個應用,都相當於端到端定製,這對於項目來說,人力成本會比較高。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"結合自身經驗,我們認爲,AI 應用的構建和傳統應用的構建過程是類似的,需要有大量通用化的組件來做支撐。不過實際上,在 AI 相關領域中,是缺少大量基礎構建的。於是在 2019 年的時候,我們就開始開發 Milvus 向量數據庫,並在 2019 年 10 月份開源。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"通過 Milvus 開源項目,我們希望傳達這樣的理念:用更加組件化的方式,幫助大家去構建 AI 應用。在全球範圍內,從去年開始,大家越來越多地去嘗試構建爲 AI 應用服務的基礎軟件組件,而 Milvus 就是其中很重要的一個向量數據庫組成部分。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:Milvus 涉及數據庫和 AI 這兩個領域,團隊在研發時遇到過哪些挑戰?是如何解決的?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"顧鈞:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"最大的挑戰就是如何去收集用戶的需求,並把用戶需求與固有的需求做優先級規劃。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"基礎軟件在研發過程中會存在很多不確定性。就 Milvus 而言,從數據庫的角度來講,它是一個系統軟件,雖然並不是傳統的數據庫,但會和數據庫下的基礎組件有一些共同需求,這些需求又有一定的優先級。同時,Milvus 也是爲 AI 應用去服務的基礎組件,它和傳統的數據庫又不一樣,需求中會帶有 AI 應用領域的一些特性。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"其中一個最典型的問題就是,你需要思考,是先把整個系統做好,還是優先考慮用戶側的需求,把服務 AI 應用相關的開發功能做好。這其實沒有標準答案,因爲一個成熟完善的系統,應該兼顧好這兩方面。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在這個過程中,我們需要不斷地去收集用戶反饋,結合用戶需求與數據庫系統本身的一些固有需求做出合理規劃。在某些版本中,會有側重點,但整體而言,我們希望在兩個層面都能不斷地往前推進,既能解決用戶的實際問題,也能確保穩定性。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"總結來說,如果沒有一個反饋良好的社區,沒有用戶的持續反饋,是很難做到這一點的。因爲一個新的基礎軟件,如果只是開發團隊自己在做的話,很容易陷入自我陶醉的狀態,這比較危險。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:除了做好需求規劃,團隊在開發 Milvus 的過程中,還積累了哪些經驗?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"顧鈞:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"主要是開源項目開發上的一些經驗。因爲 Milvus 是一個開源項目,我們需要用一些更加開源的方法、開源的實踐來做,這和傳統的軟件開發存在很大差異。Milvus 所有的代碼都是在 GitHub 上公開可見的,這對於團隊成員來說會增加很多額外流程,比如需要注意代碼風格、註釋等等。對於從前沒有做過開源項目的程序員來說,很容易忽略這部分內容,甚至認爲這是一種形式化。實際上,這是開源中相當重要的一部分。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"對於開發者來說,需要擁有易讀的代碼風格及註釋,還要有比較詳盡的文檔,這樣既不浪費社區開發者的精力,也能讓別人更容易理解我們正在做的事情,從而吸引更多的開發者參與到社區中來。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:像數據庫這樣的基礎軟件對可靠性、穩定性的要求普遍比較高,Milvus 是如何提高可靠性和穩定性的?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"顧鈞:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"做基礎軟件,在初期,它的穩定性肯定不是一個理想狀態,至於怎樣提升它的穩定性,主要從兩方面下功夫。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"一方面,需要從"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"軟件設計"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"的層面下功夫,這要求開發者具備一定的技術積累,開發者可以通過研讀論文中的最佳實踐來學習。另一方面,從開源項目角度來講,還有一個很重要的因素是"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"社區的反饋"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。畢竟你能做的測試有限,你可以測一些代碼覆蓋率,也可以做壓力測試,但是你很難像用戶那樣,在各種各樣的生產場景中使用。Milvus 瞄準了用戶痛點,大家也願意把這樣一個相對早期的開源項目放到生產環境中去,和我們一起成長。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:未來 Milvus 會重點關注哪些方向?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"顧鈞:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"我們對於 Milvus 的定位非常專注,它作爲向量數據庫,就是要去服務那些 AI 類型的應用,尤其是深度學習型的 AI 應用。從去年開始,MLOps 概念流行起來,開發 AI 型的應用需要 MLOps 的最佳實踐。Milvus 的目標就是要做 MLOps 中最重要、最基礎的數據庫服務組件。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"國產數據庫的機遇與挑戰"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:當前國產數據庫存在一定的機遇與挑戰,可以和我們分享下您的洞察嗎?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"顧鈞:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"早期國產數據庫廠商可能只有四家,這兩年確實如同雨後春筍一般冒出來特別多的國產數據庫公司,有開源的,也有不開源的。從根本上來講,國家層面對國產基礎軟件確實存在一定的需求,這也催生了很多團隊投身到這個創業賽道中。不過我認爲,現在國產數據庫數量確實是有點過多了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"當前,國產數據庫也確實存在一定的挑戰。數據庫尤其是 SQL 型數據庫,並不是一個特別新型的行業,它已經經歷了一個比較長期的發展,也有了很多比較成熟和穩定的產品,甚至有很多開源產品。像 MySQL、PostgreSQL 都已經相對比較穩定,也有很多用戶在生產環境中去使用這些開源項目。在這種情況下,團隊要發起一個新的數據庫項目,需要相當長的時間才能追趕上這些成熟的項目。同時,從商業層面來看,投入大量的時間,但回報卻不明顯。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"當然機遇也是存在的。比如我們在做的向量數據庫,它面向的是一個相對比較新的場景、新的領域,如果有更多的團隊能夠瞄準那些新賽道,去解決那些成熟數據庫無法滿足的需求的話,依然是有機會的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:具體有哪些新賽道值得關注?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"顧鈞:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"現在的基礎軟件公司和傳統的公司相比有很大的變化,傳統做基礎軟件的公司就是在寫一個軟件,但現在整個大趨勢是基礎軟件在往公有云轉。現在的公司在基礎軟件領域做研發,最終呈現出來的是一個公有云上的基礎軟件服務。也就是說,現在大家都是在做軟件,但未來大家要提供的是能力。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"這其中蘊藏着很多機會,比如 Presto 瞄準的就是一些數據庫的需求,它類似於聯邦數據庫,可以接很多不同的數據源,並用 SQL 語言查詢,把不同數據源的數據彙總在一起呈現給用戶。現在很多數據科學家也不用 SQL 語言,而是用 Python,所以有人去做 Python 統一的訪問連接層,Python 後端可以連接很多不同的數據庫、數據源,前面提供一個標準的 Python  訪問接入層,以此來迎合數據科學家的需求。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"像上述這些需求還是很多的,並且在全球範圍內,也有一些創業公司拿到了不錯的融資。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:對於數據庫的未來發展趨勢,能談談您的理解嗎?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"顧鈞:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"我覺得數據庫會是一個持續熱門的創業方向,因爲數據庫是大家都需要的基礎軟件,數據庫的雲服務也是大家非常需要的一個基本的雲服務。並且現在也得到了市場的印證,很多做基礎軟件的 SaaS 公司都在數據庫或和數據相關的領域,像 Snowflake 就是最典型的例子。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"從某種程度上來講,數據庫在未來的需求,會非常受前端應用的影響。"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"所以大家可以去關注前端應用的一些變化,這些變化一定會帶來數據庫的變化。就像在雲環境下的分佈式應用的需求,或者 AI 的一些需求,都會給分佈式的數據庫、AI 的數據庫帶來一定的需求。包括時序數據庫,現在有不少優秀的創業公司在提供自己的產品和能力,另外像聯邦數據庫也是一個重要方向。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"不過總的來說,"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"未來數據庫的呈現一定是在雲上的"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。如果大家想進入這個領域,一定要考慮好你的"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"數據庫怎麼在雲上提供能力,提供服務,怎麼以雲的方式去交付你的產品"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。當然這並不是要你從頭開發一個數據庫,現在也有很多公司基於一些開源項目去進行雲產品的擴展。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"國產基礎軟件開源已成趨勢"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:Milvus 向量數據庫在 2019 年就已經開源,當時團隊爲什麼會選擇開源?契機是什麼?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"顧鈞:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Milvus 實際上是向量數據庫中的第一個開源項目,同時我們也是第一個做向量數據庫的公司。我們想傳達的理念就是,對於 AI 應用開發,不應該再用端到端的方法,而是像傳統應用一樣,有模型的部分負責業務邏輯,有向量數據庫負責數據服務。Milvus 承載了這個理念,我們也需要進行宣傳,最直接、最有效的方法就是去做開源推廣。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在整個 Milvus 項目開源之前,我們先把基於 Milvus 的應用示例做了一個代碼庫,並放在 "},{"type":"link","attrs":{"href":"http:\/\/github.com\/milvus-io\/milvus","title":null,"type":null},"content":[{"type":"text","text":"GitHub"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 上開源,向大家展示 Milvus 的應用場景。有一些用戶嘗試之後,表現出了很濃厚的興趣,這讓我們意識到開源的想法是很靠譜的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:其實現在也有很多國產基礎軟件選擇開源,您覺得這會成爲一種趨勢嗎?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"顧鈞:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"我覺得這已經是一種趨勢了。現在做基礎軟件,基本上不開源已經是極少數的了。至少在國內來講,大家已經接受了開源的模式。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"這背後一個很重要的原因就是,硅谷的開源公司起到了很好的示範效應,它們首先讓大家看到,開源公司也能夠上市,也能夠把一個基礎軟件做起來。比如 Elastic Search 在前兩年就上市了,另外有些公司即使沒上市,在資本市場也十分受歡迎。從資本市場的角度來講,很多開源公司取得了不錯的融資成績,大家也願意跟進。從另一個角度來講,小型創業公司在早期,怎麼活下來是一件很有挑戰的事情,結合國外的開源示例以及開源理念,大家也會越來越多地選擇開源這種方式,這能幫助創業公司在早期更易生存下來。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:在您看來,開源數據庫未來的發展方向是什麼?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"顧鈞:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"從市場上來看,做開源數據庫的公司相對多了一些,大家的思考也更加理智,會把更多關注放在產品層面上。從技術上來講,任何一個項目都會有一些技術亮點,但是這些技術亮點不一定能夠帶來產品層面上的優勢。現在,很多人會基於基礎軟件去提供雲服務,甚至有一些硅谷初創公司直接就在做雲服務,基於開源軟件去提供雲上的服務。在過去,大家可能會覺得一個開源項目不控制在自己的公司手裏,就會感覺不牢靠,但從現在的趨勢來看,硅谷的投資人更傾向於接受這個產品本身,其中的技術也許不是由你主導的,但是你有產品化的能力和路徑,能把這個技術進行產品化,這纔是他們更關心的問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"我認爲大家對於開源數據庫的觀點和想法會不斷的往前走,現在你要加入到一個開源數據庫的生態當中是很容易的,因爲有很多開源數據庫的項目。但如果你要發起一個開源數據庫的項目,我覺得可能還要三思而後行,因爲項目太多,整個社區太分散,並不是一件好事情。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"在開源中找回技術的樂趣"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:您之前在一篇文章中提到 Milvus 帶您走出程序員中年危機,自己也在開源中找回了技術的樂趣,可以和我們分享下您與開源之間的故事嗎?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"顧鈞:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"其實我從大學畢業到現在一直都是數據庫工程師,做了 14 年的時間。數據庫工程師會有自己最熟悉和最擅長的一些數據庫門類及領域,像我原來一直都在金融 IT 領域,接觸的都是 IBM 的數據庫和傳統的數據庫。這期間恰逢開源數據庫崛起,你會發現,不管自己擅長 MySQL 還是 PostgreSQL,十幾年後湧現出的新數據庫和你原來使用的是不太一樣的。這會讓你不得不思考,爲什麼一個技術變得沒有那麼流行了?甚至你會發現這個趨勢變化有一點奇怪和反直覺的地方。我們始終面臨的一個挑戰是,越來越少的優秀系統工程師願意做數據庫管理員或是系統專家,大家只能更多的依賴自動化,或是一些標準化的流程,而包括 MySQL 在內的開源數據庫,其實是缺乏這些工具的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在互聯網場景下,很多人做的新技術、新項目,實際上是把原來的某些東西重做了一遍,雖說重做本身不是問題,但這樣做的意義究竟在哪裏?這是一個工程師必須要思考的問題,也是我在數據庫工程師職業生涯一直困擾我的問題。對於系統工程師來說,怎樣隨企業,隨行業,隨技術共同成長,這值得深思。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"當時我做了很多思考,後來也對自己的職業方向做了些調整。我過去在摩根士丹利的 IT 團隊做了 8 年的數據庫工程師、數據庫專家,轉型到華爲去做數據庫產品的戰略規劃,其實就是想要去更系統化地梳理所有數據庫產品,想探究爲什麼我們在這個領域會走到今天這樣的狀態。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在這個過程中,我也有很多有趣的收穫,也讓我覺得,我們在這個時代,很多 IT 領域的差距,尤其是在軟件領域,甚至基礎軟件領域的差距沒有那麼大。雖然我們現在還沒有像 Oracle 這麼好的數據庫,但我們是有機會在基礎軟件領域迎頭追趕的,這也是爲什麼我後來選擇加入一個創業公司,開始通過開源的方式去做數據庫產品。我希望通過開源的方式,提升我們的基礎軟件能力,從而和全球範圍內一些其他的基礎軟件公司去競爭。這對我來講也是非常有意義的事情。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:您第一次接觸開源是在什麼時候?當時您對於開源的理解和現在相比有哪些差異?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"顧鈞:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"我大概是在 2015 年左右的時候接觸到開源。當時我作爲數據庫工程師,更多的是在關注一些比較成熟的數據庫商用軟件。剛接觸到開源的時候,我也比較好奇,也在想開源爲什麼在一些互聯網行業中流行。當時我的想法是,開源可能就是因爲免費,大家願意去使用它。但是到今天,當自己也加入到一個開源項目中去的時候,會對開源有一個完全不一樣的理解。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"從我今天的角度來講,開源對不同的利益方有不同的意義。對個人來講,開源是一個很好的展現自我的方式,你加入到一個開源社區,可以做代碼的貢獻,也可以做非代碼的貢獻,比如幫助項目去做一些推廣,做一些演講和分享,寫一些技術博客,分享你是怎麼使用這個項目的。對於公司來講,開源能幫助你更容易地建立一個可持續的商業模式,或者運作模式。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"開源熱點事件評論"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:最近開源圈發生了兩件事,討論熱度比較高,也想和您聊一聊。第一件是某波蘭開發者買了臺國產安卓手機,她聯繫手機廠商想獲取部分源碼時,得到的回覆是,可共享的部分代碼需要在工作時間到深圳辦公室索取。於是這位波蘭開發者就找到了一位在深圳的博主,幫她上門自提開源代碼。雖然過程有些波折,但這家公司最後還是把相關源碼發給博主,並在官方論壇上公開。第二件事和 Apache Doris 有關,這個項目原本是百度在 2018 年貢獻給 Apache 軟件基金會的,2020 年,百度 Doris 團隊的個別同學離職創業,基於 Apache Doris 之前的版本做了自己的商業化閉源產品 DorisDB,前幾日,DorisDB 宣佈更名 StarRocks 並開源。您對於這兩件事是怎麼看的?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"顧鈞:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"先說第一個手機廠商的事情,我也看了一下前因後果,一開始可能很多人會覺得國內開發者不尊重開源協議,但我個人的想法是,這個手機廠商最初的反應是完全可以被理解的。因爲開源項目在開發的過程中,對於代碼的規範、文檔都有很高的要求。作爲一家手機廠商,它主要的業務輸出產品是手機,而不是代碼,一般來說很多公司對代碼的要求沒有那麼嚴格。而對於主要業務輸出是代碼的公司來說,則會要求嚴格,比如 Milvus 在項目在開源之前,我們會集中地做代碼規範化檢查和改寫,補充文檔,這是一個相當耗時間的事情。所以從這個角度來講,我不認爲那家手機廠商一開始的反應是惡意不想分享代碼,他可能是需要一些準備,想先檢查一下那些代碼,防止分享出去被人評價不規範。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"對於第二件事情,從個人角度來講,我覺得發生這樣的情況還是挺可惜的。這裏想先和大家分享一個前兩年發生在硅谷的類似的故事,就是我之前提到過的 Presto。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Presto 這個項目最初是由三位在 Facebook 工作的工程師寫的,並且開源出來。而 Facebook 這家公司對於開源的態度一直都比較佛系,他會開源很多項目,但這些開源項目通常不會選擇加入到基金會里去孵化。根據事件的主人公描述,Facebook 想把 Presto 項目拿出來,和 Linux 基金會一起成立一個子基金,專門去運作這個項目。當時 Presto 的發起人,三位工程師就不太滿意,他們認爲自己對這些項目付出了很多,不希望把這個項目加入到 Linux 基金會去,因爲這會讓整個項目的品牌轉移到 Linux 基金會,同時自己也沒辦法再去註冊相關的商標。當時恰逢開源公司融資狀況越來越好,三個人就決定離開 Facebook,自己做 Presto 的商業化產品,並且也起了一個不一樣的名字,避免產生誤解。這幾年,他們也拿到了很多融資,估值也很高。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"這其實也說明,對一款開源軟件來說,雖然社區、代碼確實很重要,但他們之所以能夠拿到這麼多融資,更重要的是他們讓別人相信他們有產品化的能力、方法和經驗。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"回到第二件事情本身,我覺得 DorisDB 最初叫這個名字,一定是對 Doris 這個項目有一定認同感的,但叫這樣比較容易混淆的名字確實不是一個很合適的做法。我認爲,開源是很好的方法與工具,但它不是最終的目的。如果你把開源當成了最終的目的,你就會糾結在社區以及名字的所有權上。一個開源社區最忌諱的還是社區被分裂,尤其像 Apache Doris 本身還在孵化階段,它的流行度還沒有達到一定程度,這種情況下,分裂社區是一個很不明智的做法。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:這是否說明現在有些企業或個人,對開源版權的重視程度並不高?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"顧鈞:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"我覺得不是的。因爲開源的許可證,像最典型的 Apache 2.0 開源許可證其實設計的還是比較完備的,它對於版權和專利的保護都是有過考慮的。在 Apache 2.0 框架下,你的專利是會授權給別人使用的,只要別人使用了基於 Apache 2.0 協議的軟件項目,他就可以無償使用你的專利。從法律層面來講,開源基金會對於版權的保護是沒有問題的,但確實有很多公司會出於自己的一些想法,對項目做些變化,比如 StarRocks 採用 Elastic License 2.0 作爲開源許可證,這個開源許可證是不被開源促進組織 OSI 認可的。不過 Elastic License 2.0 也有它存在的商業背景,幾年前大家炮轟公有云服務商,認爲他們不回饋開源。但從另一個角度來看,公有云廠商也的確貢獻了很多項目,可能有的公司不希望別人貢獻,結果導致有時候公有云廠商只能啓動一個新項目。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"開源賽道迎來融資爆發期"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:從去年到現在,國內發生了多起重大開源企業融資事件,Zilliz 也在去年 11 月完成了 4300 萬美元 B 輪融資,市場對開源賽道的熱情高漲,是否說明本土開源到了爆發期?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"顧鈞:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"我覺得不單單是國內的開源到了爆發期,全球範圍都是這樣的。比如美國有很多開源企業融資狀況一向很好,甚至在歐洲這樣整體創投環境不是很好的地方,也有開源企業拿到融資。之所以出現這樣的情況,一方面,當前開源的受衆越來越多,很多人在做項目的時候,會傾向於選擇開源的方式。尤其是在 AI 等新領域中,比如 AI 基礎軟件領域,這是一個新興領域,有很多公司在這個領域做項目,也有很多投資人看到這個領域,而這個領域中又恰好開源公司多一些。另一方面,像之前提到的,硅谷一些公司確實起到了示範作用,他們以開源的方式來顛覆傳統,這也會讓大家覺得,這對創業公司來說是個不錯的方法。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:當前開源賽道比較熱門的投資方向主要有哪些?什麼樣的開源項目能夠得到資本的青睞?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"顧鈞:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"因爲公司業務方向的關係,我平時會更多關注 AI 和數據領域,比如一些大數據、數據分析類的項目。在 AI 領域比較熱門的方向集中在 AI 基礎組件,此外還有一些是更垂直的應用,像國外比較流行的 Conversational  AI,專注的就是自然語言處理相關的會話智能技術賽道,此外還有機器視覺相關的方向,它會更偏向算法,但並不是只做算法,而是讓快速應用開發的框架去結合自動機器學習技術,幫助用戶快速地訓練模型,落地應用。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在數據領域,目前比較熱門的方向是數據類的雲服務項目,當然這些數據類的雲服務並不是說你一定要有個開源項目,你可以結合現有的開源項目去做雲服務,這也是一種很好的方式。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"另外,從技術的角度來講,確實有些技術相對比較難商業化,有些技術相對比較容易商業化。站在投資者的角度,大家希望最終能獲得正向的商業回報,所以更多會偏向能夠被商業化,能夠被產品化的基礎領域。這也給開源帶來了一些相應的挑戰,對於早期創業項目,如果大家都是開源的,都只是貢獻代碼,那麼差異並不大,但是慢慢地會產生差距。開源項目並不是憑空而出的,而是基於現有的一些開源技術構建的。那些容易被商業化,容易拿到融資的項目,能夠得到更好的生存環境,但是他所依賴的那些上游項目可能不那麼容易被商業化,這是一個比較大的挑戰。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"總結來說,如果是 ToC 項目,大家更看重的是你的想法,以及最終能不能落地成產品;如果是 ToB 項目,這需要一個客觀的時間週期,不能快速看到結果,大家更關注的是你有沒有能力去做這件事情,更關注你過往的成功經驗、產品化的能力,以及對生態的瞭解程度。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"程序員如何走出“中年危機”?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:最後也想和您聊一聊個人成長相關的話題。現在,程序員的“中年危機”已經成了老生常談的話題。對於那些面臨“中年危機”的程序員,您會給他們哪些建議?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"顧鈞:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在 IT 領域,技術是不斷進步的,不斷會有一些新東西出來,所以對於技術人來說,最重要的就是要保持學習和思考。這裏所說的學習不是要你完全理解這個新技術怎麼用,也不是要你花大量的時間去閱讀文檔。事實上,當你在一個領域積累到一定程度後,是比較容易再去學習或理解其他新事物的基本理念的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"一方面,還是要花時間去積累技術相關的經驗和想法,另一方面,也需要意識到成長並非是線性增長的,它可能會在某個節點不斷衰減,就像奢侈品一樣,最後一定不是一分價錢一分貨,可能你付出了十分的努力才換回來一分收穫。這個時候不要給自己太大的壓力,而是要調整好心態。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"我認爲當下對大家來說是一個好時期。像前段時間,光明日報說“996”是互聯網行業用工史上的一段彎路,現在全社會都希望大家有更多的時間去關注一些 996 以外的事情。比如,你可以參與開源社區中去,即便你不貢獻代碼,也可以做一些分享,組織活動等等。同時,開源社區比較開放,在這裏也可以接觸到更多的想法和人。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:您有哪些學習方法可以和大家分享?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"顧鈞:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"我在學習的時候習慣先從自己熟悉的部分向外拓展,比如當我所在的技術領域出現新事物時,我會研究下新事物和我過去熟悉的事物差距在哪裏,爲什麼會有這樣的差距,順着這條路線,我就會從自己比較熟悉的地方不斷去探索它的外沿。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"其實在每個大環境下,都會有一個大的主題,比如十年前可能是大數據,再之前是高性能數據庫等等。在大主題下面,大家可以去嘗試瞭解這個主題和自己工作的關係,找到一些結合點。這樣你就會發現,自己始終在與這些新理念保持同步的狀態。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"嘉賓介紹:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"顧鈞,Zilliz 合夥人、首席佈道師,LF AI&Data 基金會 TAC 成員,開放原子基金會開源導師。北大畢業 16 年以來專注於數據庫、大數據技術,尤其對 OLTP 平臺與場景有着豐富的經驗,先後任職於工商銀行、IBM、摩根士丹利、華爲等企業。"}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章