Categories
程式開發

曠視開源:從“復興”走向“商業化”


北京時間 2020 年 3 月 25 日,AI 獨角獸曠視科技宣布開源其 AI 生產力平台 Brain++ 的核心組件 — 深度學習框架天元(MegEngine)。在此前,被資本界譽為“AI第一股”的曠視科技交給港股交易所的招股書中,最開始是CEO印奇寫給投資人的信函,最開始便說到“深度學習是曠視的核心競爭力”。曠視表示並不想對比業界現有的主流深度學習框架,比如穀歌出品的TensorFlow 和Facebook 出品的PyTorch,曠視副總裁謝憶楠表示開源的目的是:“想讓更多人用我們的框架,找到更多能在產業落地的算法和部署的方案”。

但本文作者認為:

  1. 選擇開源本質上是個技術方向性問題,不是商業問題,更不能成為一種商業模式。
  2. 如果想把一個開源項目(project)做成一款成功的開源產品(product),這才是商業問題。
  3. 找到企業級客戶,“SaaS”的重點不是“Software”,而是“Service”,正如“雲服務”的重點不是雲,而是服務。
  4. 只有做到以開發者為導向,才能最終做到以客戶為中心。

正文

在美國版“知乎”Quora上搜“Open Source(開源)”,出來第一條問題是:

Linux的失敗真的是因為開源嗎?。其中一個回答給我很多啟發:

有些人把安卓和Chrome OS的成功歸結於Linux開源,但我認為兩者根本不相關。安卓和Chrome OS的成功並非得益於Linux/GNU/FOSS,而是因為他們有一個‘聰明的、高利潤的、閉源且專屬的商業模式’(smart, highly profitable, closed source, proprietary business model)”。

從IBM鯨吞RedHat、微軟收購GitHub到Elastic、MongoDB等初創公司相繼上市,這一系列事件早就不再是對開源本身的認可,而是標誌著開源業務作為一種商業行為(business),其價值和模式逐漸復興,終於獲得了資本市場的廣泛承認

同時,初創團隊和科技巨頭在各自開源商業化過程中的不同策略與相互間的競合關係,讓我獲得了更深層的理解。

毋庸置疑,IP(Intellectual Property,知識產權)造就了兩代偉大的科技公司和高壁壘的商業模式:

  • 以芯片銷售和基帶授權構建壟斷地位的英特爾和高通;
  • 以軟件授權PC廠商的微軟以及直接將原生操作系統和硬件捆綁銷售的蘋果。

後面兩家公司所締造的以開發者為中心的軟件及App生態,外加軟件本身的網絡效應,直接推動了互聯網、雲計算、大數據和如今AI等技術的發展。在這個過程中,用戶和開發者對平台的依賴再一次加固了生態的壁壘。

壁壘帶來壟斷,壟斷產生高利潤。

在所有技術的背後還能看到另外一家巨頭的影子——谷歌,其策略似乎跟上面所有公司的做法完全相反。從開源Chrome瀏覽器、安卓系統、到深度學習框架Tensorflow等技術,在A16Z去年喊出“開源正在吞噬軟件”之前,我已經堅定地認為谷歌是近十年來軟件技術發展的最大貢獻者和獲利者,開源是其最重要的商業策略之一。

但經過這段時間的研究,當我再看到Quora上的那個回答時,逐漸明白了一個基本邏輯:

選擇開源本質上是個技術方向性問題,不是商業問題,更不能成為一種商業模式。

“曠視開源是想讓更多人用我們的框架,找到更多能在產業落地的算法和部署的方案”,曠視副總裁謝憶楠向我說道,這是深度學習框架“天元”Alpha版開源的主要目的。

而技術難度在於首先要讓公司內部超過1400位研發人員基於統一技術標準真正在日常工作中用起來,其次需要將產業中落地的算法和模型內化後進一步反哺框架背後的算法。最後才是將接口封裝及標準化,並讓用慣Tensorflow、PyTorch的老手和研究員能藉助技術文檔,快速上手。

回到安卓系統的例子,當年谷歌開源的只是AOSP部分(Android Open Source Project,安卓開源項目),收費的是GMS(Google Mobile Service,谷歌移動服務),GMS就是谷歌旗下各種應用及API,包括我們熟知的地圖、郵箱、Youtube和應用商店等。

由於安卓的內核本身基於Linux,後者要求安卓的核心代碼必須免費公開。而GMS才是谷歌的“印鈔機”,通過軟件的網絡效應和巨大用戶基數,手機廠商最終不得不把它作為出廠標配,才讓谷歌延續了來自IP世界的“高利潤、閉源且專屬”的商業模式,奠定了其在移動操作系統的霸主地位。

曠視開源:從“復興”走向“商業化” 1

所以,從技術角度,涉及操作系統底層架構、操作性能、用戶界面等部分,任何開發者或硬件廠商都可以根據開源代碼進行二次開發。在遵守相關開源許可證的基礎上,二次開發者有權自由選擇是否開源,這取決於他們是否希望直接從中獲利。

此外,谷歌在開源Tensorflow後一年,旗下更多產品的性能得到快速提升,而自己的AI公司Deepmind也隨後宣布採用新一代Tensorflow作為底層算法框架。可見開源與否對大多數公司來說更是一個公開檢驗其核心技術領先性及可用性的機會。

HashiCorp是一家開發支持多雲部署開源工具的公司,這個月剛宣布完成1.75億美金的E輪融資。 CTO Armon在一次關於開源的討論會上說道:當面對開源或閉源的選擇時,團隊會先辨別問題是來自“技術複雜性(technical complexity)”還是涉及“組織架構(organizational)”。如果影響的是工具或產品的基本使用效果,這就是個技術問題,解決後必須開源;如果來自公司內部的孤島或效率問題,則不需要公開

其次,如果想把一個開源項目(project)做成一款成功的開源產品(product),這才是商業問題。

有個開源項目在上線初沒少在用戶面前吃閉門羹,團隊由UC Berkeley的幾位博士生組成,被拒絕的主要因為是用戶擔心團隊畢業後可能解散。於是在2013年,大家決定全職投入並成立了一家公司,叫Databricks,如今已經完成了F輪融資,估值超過60億美金。前三年團隊只做一件事情,推廣並行計算框架Spark項目並積極維護開發者社區。直到2015年,需求突然噴發,代碼貢獻量激增,才讓他們開始思考如何商業化。

這是大多數團隊都會經歷的一個過程,更有意思的是,Databricks的CEO Ali和HashiCorp的Armon都認為:成功的開源項目背後能持續提供核心支持的往往只是一個精簡的團隊或一家公司,最多兩家

“當想清楚為什麼要開源後,接下來要搞明白怎樣開源,包括版本迭代和場景落地”,這是謝憶楠給創業者的首要建議。曠視對開源的產品路線做了清晰的規劃,從支持的CPU類型到對多種嵌入式設備的覆蓋。

曠視開源:從“復興”走向“商業化” 2

(來源:曠視開源發布會)

並且,商業化對於初創團隊(或處於成長期的公司)與大公司相比,主要有以下幾點不同,僅供參考:

  • 出發點不同:大公司可能在一個項目的早期便開源,憑藉其號召力希望更多人一起“貢獻”迭代,初創團隊則會在產品相對成熟的時候再開放,希望盡快吸引用戶深度“使用”,注重完善產品在工業環境下的綜合表現。

“開源不是我的一時衝動,而是深思熟慮、謀劃已久”,物聯網開源大數據平台濤思數據的CEO陶建輝曾在自己的公號上寫道。三年時間寫代碼,不到十人的研發團隊,項目在GitHub上線僅三個月就獲得超過一萬個star,這對初創公司來說非常不易;

  • 戰略意義不同:無論產品還是生態可能僅是大公司商業戰略的一環,而對於初創公司產品和用戶就是全部。

開源數據庫上市公司MongoDB非常重視自助式開源產品“Community Server”,認為它是公司最重要的銷售漏斗。當開源社區中的用戶想在數據庫上搭建應用時,就可以免費試用託管式的DbaaS(Database as a Service,數據庫即服務)產品Atlas,當使用量進一步增加的時候便需要付費。隨後公司銷售將會在付費用戶群中繼續篩選具有更高階需求和付費能力的銷售目標,為他們提供企業級產品Enterprise Advanced,包括專屬服務器、運維工具等增值服務;

  • 運營策略不同:因此大公司建立“聯盟”(partnership),包括傳統軟件巨頭、諮詢公司、ISV(獨立軟件開發商)、集成商、SaaS服務商等夥伴,而初創團隊更注重維護“開發者社區”(community )。

尤其對於中國團隊,從一開始就應該注意國際化問題,“從英文文檔、教程、案例到輔導課程(tutorial)準備,建立嚴格的代碼審核流程,重視每一位用戶的貢獻”,一流科技的CEO袁進輝對我說道,他公司旗下的深度學習框架OneFlow也將在幾個月後開源。

所以,當做好了充足的思考和準備,決定要全身心投入到商業化運作的時候,“東風”在哪裡?

第三、找到企業級客戶,“SaaS”的重點不是“Software”,而是“Service”,正如“雲服務”的重點不是雲,而是服務。

儘管初創團隊和大公司在開源初期的出發點和策略有所不同,但當前者發展到後期或被大公司併購後,這些行為的邊界將會逐漸模糊,新的差異會很快出現:

  • 以前用戶大多是“開發者”,現在開發者不能完全代表他的“企業”,必須重新調研企業級客戶的真實且完整的需求;
  • 以前用戶發現了代碼錯誤提交的是“pull request”,然後等待你的回复,現在客戶會在半夜給你的客服致電,要求立刻處理問題;
  • 以前客戶習慣獨立下載軟件並私有部署,希望你在必要時提供在場支持和維護,現在他們習慣把更多應用和數據放在雲端,並希望你也能提供類似的“服務”和收費方式。

你會發現,這些新特點的出現基本跟開源與否無關。

以RedHat為首的開源1.0時代隨著RedHat在2018年被IBM以340億美金收購而落下帷幕,2.0時代的“東風”便是面對新特點之下全新的商業模式、產品路線和應用架構——

SaaS、“Developer-led(開發者導向)”以及雲原生。

我在《Salesforce後平台崛起的機會》中闡述了SaaS和雲原生的重要性和機會,這裡就“開發者導向”補充幾點:

  • 首先在開源初期,獲得社區裡的開發者支持(advocacy)至關重要,原因不再贅述;
  • 產品化後,需要進一步為開發者提供額外服務,讓他們能專注在應用級開發上。隨著開發者在公司採購決策的影響力增加,產品將很有可能形成面向企業級客戶的銷售轉化。這類似Zoom之所以能改變公司自上而下的採購模式,正是因為員工在企業IT採購中的影響力逐年上升;
  • 最後,深入企業級客戶的研發甚至業務流程,構建全棧方案。這對於在底層基礎設施層(infrastructure)從事相關開源項目的公司來說可能更重要,原因在後面會解釋。

陶建輝也分享過,“從一開始設計,就決定要打造一個全棧的時序數據處理工具,不僅只是一個時序數據庫,還提供緩存、流式計算、消息隊列、訂閱等系列功能”,才能最大程度減少產品對系統資源的消耗和維護的複雜度。

只有做到以開發者為導向,才能最終做到以客戶為中心。

最後,面對繞不開的“如果BAT(國外是FAANG)做了,你怎麼辦?”這個問題,謹慎選擇開源許可證,保護IP。

對開源許可證的類型,給大家做個快速歸納:

曠視開源:從“復興”走向“商業化” 3

(來源:https://www.cnblogs.com/newcaoguo/p/7103249.html)

促使我思考這個問題來自以下幾個事件:

  • 原有的GPL協議,由於網絡服務(Web service)公司的興起(如Google)產生了一定漏洞,比如使用GPL協議下的開源軟件,它並不發佈於網絡之中而只是通過雲提供服務,則公司可以自由的使用GPL協議卻不開源自己私有的解決方案。所以,AGPL的出現就是為了彌補這個漏洞;
  • 2018年10月,MongoDB宣布其開源許可證從AGPL v3切換到自己定義的SSPL(Server Side Public License,服務器端公共許可證)。 SSPL會明確要求託管MongoDB實例的雲服務商(尤其在亞洲的公司,你們細品)要么從MongoDB獲取商業許可證,要么向社區開源其服務代碼,意在打擊逃避AGPL監督的行為;
  • 2019年1月,亞馬遜AWS推出託管文檔數據庫服務DocumentDB,與MongoDB完全兼容。官網宣稱可以“提供大規模運行關鍵任務型MongoDB 工作負載時所需的性能、可擴展性和可用性”,同時提出能幫助用戶“輕鬆地將本地或在亞馬遜雲上的MongoDB數據庫遷移到DocumentDB,並且幾乎不會出現停機”。產品推出後立即在開源社區引起巨大爭議,而MongoDB股價在當天下跌13%。

曠視開源:從“復興”走向“商業化” 4

AGPL雖然試圖在規則上彌補上述“Web service loophole(網絡服務漏洞)”的問題,但從MongoDB推出SSPL便知道效果不佳。更讓我擔心的是DocumentDB的出現把一個技術方向性問題直接推到了商業可行性層面,讓“雲服務”在眾多以SaaS模式進行開源商業化的初創公司面前成為了一把雙刃劍:

客戶把數據和計算交給開源公司,而開源公司的服務質量(包括性能、可擴展性和可用性)又取決於雲服務商(AWS、阿里或微軟等)同時其代碼還暴露在公開環境中。那麼無論從規模經濟還是服務質量來看,後者在基礎設施層上天然具有一定優勢。

當然,如同上面所說,隨著對全棧服務、混合雲部署以及在物聯網設備和邊緣上區別處理等特殊需求的出現,一開始就在雲上設計、開發並維護相關產品的初創公司會逐漸形成自己的護城河。

所以,當公司選擇了SaaS作為商業運作的基本模式後,判斷護城河堅固與否和其商業價值,最終還是會回到SaaS最核心的幾個指標:例如增長、流失率(Churn rate)和收入留存率(NDR)等

AI三要素算法、算力和數據中,谷歌對後兩者擁有足夠強的優勢,在開源安卓上嚐到甜頭後,2015年開源深度學習框架Tensorflow便成了順理成章的事情。百度也在2016年開源了其深度學習框架“飛槳”,上周清華大學正式對外開放自研的深度學習框架“計圖”,而這週輪到曠視的“天元”。有傳聞稱華為也計劃在今年開放早已上線的深度學習平台MindSpore,仔細看各家都有自己的技術特點和商業小算盤。

曠視開源:從“復興”走向“商業化” 5

未來在AI、基礎設施以及IoT等前沿領域和相關技術上,我們一定會看到更多國內開源項目及科技巨頭的行動。

但需要非常謹慎的是,這與所謂的“國產替代”不可相提並論。原因如下:

  • 開源社區是全球開發者同場競技和知識共享的地方,僅得到國內的“開發者支持”既沒有說服力也不夠有影響力;
  • 從“開發者導向”到“以客戶需求為中心”,除了個別敏感領域外,開源公司的客戶群體理應不分國別。何況如果連企業級客戶的安全及隱私性都無法保證,如何確保那些高危領域的安全呢?
  • 以SaaS為主要模式的開源產品,由於自助服務(Self-service)而形成的網絡效應,自然會為公司帶來全球性口碑。這將直接影響SaaS的核心指標,任何保護性政策都對公司長期商業價值沒有任何好處。

哪怕對於一切“國產替代”的項目,我非常認同松禾資本的董事總經理郭琤琤在《國產替代:沸騰的十年大潮 | 松禾研究》中的觀點:

“我們要的是真實的替代,不要偉大的備胎。”

那麼,在這個“開源正吞噬著軟件”的時代,我們將會看到什麼樣的項目和公司呢?

一個在前端經久不衰的開源服務,背後必然有一個具備高度凝聚力和全球化視野的開發團隊,以及圍繞這個團隊而組建的高度商業化運作的公司,這與國別無關。