免費的開源軟件如何賺錢?巨頭公司的開源經濟賬

對於絕大多數IT從業人員來說,開源(Open Source)是個繞不過去的話題。開源意味著任何人可以免費地訪問,下載,修改源代碼,甚至進一步將其用作商業用途。開源往往與免費劃等號。有趣的是,雖然免費,但是那些資本驅動的商業巨頭們卻紛紛投入巨資進行開源軟件的開發。那麼,開源軟件到底是如何賺錢?普通開發者又如何面對開源的大趨勢呢?

賣軟件 V.S. 賣服務

由於國內版權保護相對落後,中國人似乎不太習慣付費使用商業軟件。從Windows操作系統到Adobe全家桶,從MATLAB科研利器到各類工業設計軟件,中文互聯網上曾充斥大量“破解版”。人們習慣了購買硬件,然後在網上找一些破解軟件。實際上,像Microsoft、Oracle、Adobe等一些老牌商業軟件公司曾經紅極一時,他們靠銷售軟件許可證(License)賺得盆滿缽滿。時至今日,一款Windows 7家庭版在Amazon上標價為110美元,Windows 7專業版則要169美元。對於很多人來說,花1千塊錢買一個軟件似乎有些不可思議。但從另一個角度來講,微軟需要僱傭大量專職員工開發和維護它的操作系統,微軟是一個擁有十幾萬員工的超大公司(2016年數據),給這麼多員工開工資絕對是個不小的負擔。員工開發的源代碼是商業軟件公司知識產權的重要組成部分。因此,為了應對這麼龐大的成本,微軟不太可能將員工辛辛苦苦開發的軟件免費分享出去。

近幾年,風向似乎變了,一向貪婪的微軟似乎開始不相信“資本主義”了,開始搞起了“社會主義”,對外宣佈大家可以“免費”升級到Windows 10。不僅微軟在大肆宣揚“免費”的概念,其他一些公司更進一步,不僅免費而且還開源。Google在智能手機興起時就開源了安卓(Android)操作系統。將這些源代碼發佈到網上,任何人都可以免費下載、修改,然後繼續商用,難道資本家不想賺錢了嗎?

免費的開源軟件如何賺錢?巨頭公司的開源經濟賬

Windows由付費走向免費 來源:helpnetsecurity

其實,是競爭更加激烈了,錢不那麼好賺了,原來那種賣License的套路不那麼好用了。移動互聯網用戶已經遠超桌面電腦,很多事情原本需要在電腦上進行,現在手機也可以操作,如果繼續抱殘守缺,按照原來賣License的套路,微軟很難再佔領用戶市場了。

Windows雖然免費了,但是並沒有完全開源,也就是說其他人無法查看其源代碼。相比之下,安卓是一款正兒八經的開源軟件。10年前,智能手機還未普及,Google為了在蘋果、黑莓、諾基亞等手機操作系統商之間的戰爭之中爭得一席之位,將安卓開源了。因為免費,很多硬件廠商都採用了安卓系統,安卓提供了一個免費基礎,省去了很大一部分底層工作。這些工作耗時耗力,還難以短時間獲得收益。時至今日,智能手機界分為蘋果和安卓兩大陣營。除去蘋果外,三星、華為、Oppo、Vivo、小米等所有主流手機廠商都基於安卓系統進行了二次開發。

看起來,Google似乎在安卓上沒撈到什麼錢,實際上,谷歌的商業模式靠賣服務賺錢。安卓系統中最賺錢的服務之一是應用商店Google Play。2019年的數據顯示,Google Play營收293億美元。在應用商店領域,Google雖遠遜於蘋果,但它佔領了七成以上的手機操作系統市場,未來的增長潛力巨大。此外,Google的搜索、郵箱、地圖等服務都是歐美人高度依賴的應用,這些服務中一般都會有廣告商投放廣告,都是Google傳統的賺錢機器。

免費的開源軟件如何賺錢?巨頭公司的開源經濟賬

Google Play全球收入近年增長趨勢 來源:statista.com

更有意思的是,Google不僅開源了手機操作系統,而且還在人工智能和雲計算領域開源了眾多軟件,比較著名的有深度學習框架TensorFlow和雲編排系統Kubernetes,這兩款軟件目前已經成為人工智能和雲計算領域絕對的王者。要知道,雲計算領域原本的老大是Amazon,其地位似乎不可撼動。面對雲計算這塊肥肉,Google不能不眼紅,但是Amazon在虛擬化領域積累太強,Google乾脆照搬當年開源安卓的套路,把Kubernetes這款容器雲計算操作系統開源了,而且加大對Kubernetes的宣傳和佈道。有Google的背書,大大小小的軟件公司瘋一般地轉向Kubernetes,使用Kubernetes改造升級自己的IT系統,假如這些中小公司的Kubernetes服務上雲,首選很可能是Google Cloud。Kubernetes雖然免費,但是Google Cloud的雲服務是收費的啊!仔細分析會發現,在Kubernetes開源這件事上,除了Amazon,包括微軟的Azure、阿里雲等廠商都非常積極,因為他們都想借此機會撼動Amazon的霸主地位。同樣,TensorFlow也是走一樣的套路。人工智能時代,如果有一款軟件可以一統天下,那麼可以依賴這款軟件賣培訓、賣專屬硬件、賣計算服務。賣服務已經植根於Google的DNA裡了。

免費的開源軟件如何賺錢?巨頭公司的開源經濟賬

Google開源項目有兩千個之多 來源:opensource.google

其實,這種賣服務的商業模式就跟互聯網時代的媒體行業一樣。互聯網媒體絕大多數的文章都免費發佈到網上,賺取流量和粉絲,有了流量和粉絲,打個廣告、帶個私貨甚至做了粉絲群,錢就這樣被賺走了。

眾人拾柴火焰高

俗話說,一人拾柴火不旺,眾人拾柴火焰高。這句話正好可以應用在開源軟件領域。一般地,公司內部在解決具體業務問題時發現一些場景具有很強的共性需求,需要一個組件來集中解決這一類問題,公司內部成立相應的開發團隊,開發出軟件的初代版本。初代軟件本身存在不少Bug,很多功能也不盡完善,開源之後,全世界的開發者都可以加入進來,幫忙改Bug、提方案、做設計。本來軟件只有公司內部有限的人來進行開發,開源之後將得到全世界開發者的支持。Google的TensorFlow開源之後,一度佔盡深度學習領域的風頭,而Facebook旗下的Torch卻不溫不火,被邊緣化。隨著Facebook將PyTorch開源,更多的人幫助其修改Bug,完善功能,PyTorch逐漸在學術圈流行起來,已經能和TensorFlow分庭抗禮。

實際上,開源軟件的迭代開發並沒有想象中那麼自由,也不是為所欲為。和很多公司的組織架構一樣,開源軟件有一個管理決策層,決定著整個軟件未來發展方向。下面以大數據領域著名的Apache軟件基金會(Apache Software Foundation)為例。Apache基金會有一個董事會(Board),董事會監督和管理整個基金會,基金會下的每個Apache項目都有一個項目管理委員會(Project Management Committee,PMC),PMC負責具體項目的管理工作。與員工在公司晉升類似,開源軟件開發者從最簡單的問題做起,直到有足夠影響力後,可以被提名為PMC成員。PMC有足夠的權利決定資源投入到哪些方向上,因此他們在一定程度上可以決定開源軟件的發展方向。很多商業公司非常重視開源軟件基金會中的席位,這意味著商業公司在基金會里有更多的話語權。因為PMC可以在一定程度影響軟件的發展,商業公司非常樂意在這些大型軟件基金會中掌握更多話語權。這也是為什麼很多大公司會重點培養開源軟件工程師,鼓勵他們在開源軟件基金會發出自己的聲音,甚至花重金捐助這些開源社區。

免費的開源軟件如何賺錢?巨頭公司的開源經濟賬

Kubernetes所在的CNCF基金會白金贊助商

仔細觀察Kubernetes所在的CNCF基金會白金贊助商,不難發現,這些公司基本上是當前世界上頂級的雲計算服務提供商。每家公司都希望在開源基金會中爭取更大話語權,當然,這些公司也會得到一定的回饋。在這場全球的競爭中,沒有任何一家公司足夠自信,敢另起爐灶,否則很可能在快速的技術變革中被主流所淘汰。

這種大公司入局的開源軟件模式有點像國家之間成立的各類國際組織,組織內的各個成員國雖然是競爭對手,但是為了共同的目的,求同存異,共同影響未來的趨勢。

中國的開源軟件現狀

開源在一定程度上對大公司是有商業利益的,國內巨頭已經重視在這方面的投入。

免費的開源軟件如何賺錢?巨頭公司的開源經濟賬

2019年4月中國互聯網公司開源情況數據統計 來源:InfoQ

上圖為InfoQ 2019年3月統計的國內各大公司開源情況,一個結論是:

  • 大前端(前端和移動開發)項目最多,因為前端代碼一般不涉密,方便開源。
  • 阿里巴巴在各個維度上都位居國內首位。
  • 百度有 4 個是人工智能領域項目,在眾多公司中別樹一幟,包括 Paddle、Apollo 等都比較受歡迎。
  • 騰訊過去不太重視開源,但現在已經積極靠近各大開源基金會。
  • 華為雖然項目少,但基本全是基礎設施領域的項目,如 ServiceComb、CarbonData、LiteOS 等。
  • 小米有幾個操作系統相關的項目較受歡迎,在大數據領域貢獻不小。

但是,這些中國巨頭在底層關鍵項目上和國外仍然有一定差距。

開發者應積極參與開源項目

全球化浪潮下的今天,開源軟件沒有國界。作為一名開發者個體,非常有必要關注開源軟件領域。參與開源軟件的開發,成為項目的主力,最大的收益人其實是開發者自己。

一方面,開源軟件孵化於大公司,又經過專業委員會的管理和運作,從技術規範到管理模式都多多少少有大公司的影子。對於希望進一步提升自己的開發者,優秀的開源項目是一本實戰教科書。比如,我最近一直在閱讀Apache Flink的源代碼,從前期設計,到分支修改,到單元測試,到Code Review,再到代碼合併,都有一定的流程和規範,即使註釋也必須描述得非常清晰,以便其他開發者能夠明白當初的設計意圖。這些規範甚至比絕大多數公司都正規。開源項目的經歷,對於開發者個人的技術和管理都是一次精進。

另一方面,好的開源項目是會說話的簡歷,能夠代表一個人的綜合實力。2019年,小米吸引了語音識別領域的大牛Daniel Povey,他是語音識別領域著名開源項目Kaldi的創始人。當他離開約翰·霍普金斯大學尋求新的工作機會時,全世界的人工智能研發機構爭相對他發出邀請。他拒絕了美國硅谷的Offer,希望來中國工作。在中國,他得到了清華北大、上海交大等一系列高校和巨頭公司的邀請,後來加入了小米。同樣,深度學習框架Caffe作者賈揚清曾先後在谷歌大腦、Facebook工作,年紀輕輕的他現在已經是阿里巴巴技術副總裁。當然,這些大牛畢竟鳳毛麟角,但普通人通過參與開源項目,也可以打怪升級,逐步提升自己。開源軟件PMC肯定能得到各大公司的追捧,即使是一個普通參與者,也能得到用人單位的認可。

小結

在開源浪潮中,商業IT巨頭一直在引領時代,其他公司則拿來即用,必要時會購買大公司的開源軟件服務。開發者參與開源項目能夠增強自身競爭力,是個很好的提升自我的機會。


分享到:


相關文章: