本文作者Peter Wayner認為,在剛剛誕生的初級階段,開源軟件就像是公益之心帶給這個世界的一份圣潔禮物。程序員們努力工作,然后將自己的勞動成果交給任何一位能夠從中獲得幫助的用戶手中。這是一種純粹的慈善行為,每個人都將從中受益。那么開源和盈利到底有著什么關系呢?
然而隨著時間的推移,不少企業開始意識到自己完全可以從開源身上掘取利潤,并像以往那樣把軟件當作產品進行出售。如此一來,他們既做了好事、也得得到應有的回報。對于某些早期開源倡導者來說,這樣的思維方式并不會造成沖擊——相反,這是非常正常的發展方向。開源行業的領軍人物之一Richard Stallman就認為“言論自由”要比“免費啤酒”重要得多。他一直秉持著這樣的思路:企業可以對開源成果進行任何調整——只要他們不剝奪普通用戶修改代碼并發布成果的權利就行。
很多企業把Stallman的言論視為憑借開源賺取利潤并改變自身命運的神圣祝福。少數最聰明的家伙想到可以利用開源項目增強自身業務、推廣自家品牌并擴大企業在行業中的影響力。于是,開源已經不再像過去那樣屬于純粹的慈善行為——它開始變成另一種營銷工具,并通過異于以往的方式擠進了商業市場。
既然開源現在和盈利的關系如此難舍難分,那么接下來,我們就來講講利用開源來賺取利潤的的幾個途徑。雖然有些人會對這樣的行為、想法無法理解以至于排斥,但是繁榮的商業體系對項目的支持效果遠遠超過一堆代碼,畢竟面對前途未卜的未來,單靠慈善之心是不夠。
途徑一:利用開源進行低成本營銷
打廣告要價不菲、辦展覽燒錢神速,對于企業來說,營銷預算永遠極度吃緊。這時,很多企業開始將目光投向開源代碼,這絕對是一套理想而廉價的宣傳方案。以開源形式發布全部或者部分產品不僅能夠成功吸引到用戶的注意,同時還可以幫助他們了解產品的實際用途。既宣傳了產品、又吸引了客戶,有了這樣良好的宣傳基礎,營銷團隊能夠把更多精力放在與銷售活動相關的后續工作身上。
某些開源企業,例如MySQL,曾經明確表示,把關注重點放在有多少用戶能夠免費享受自己的產品上是個嚴重的錯誤。一般來說,企業不會到處宣揚自己的用戶中有九成以上根本沒付過錢——理由很簡單,由于開源軟件包的發布成本極低、向更多用戶提供產品根本不會產生多少額外支出。
從開源產品中賺取利潤的訣竅在于,確保自己打算用于收費的功能具備足夠的用戶吸引力,并借此為產品的其它組件提供經濟支持。收費的部分在整款產品中所占比例不能太大,但一定要擁有充足的理由讓目標客戶掏出錢來。有時候這可能是一項額外功能,例如保證那些關注穩定性的企業客戶能夠獲得全天候的軟件流暢運行效果。還有一些廠商要求一部分用戶以匿名方式幫助其推廣工作成果,作為回報,用戶能夠獲得產品的開源版本使用權。這些小技巧如今已經被全世界成千上萬企業所采用。
途徑二:利用開源代碼降低維護成本
遇上難題了?這里有一大堆代碼,自己找答案吧。
雖然這聽起來有些不盡人情,但很多開源企業確實會在技術支持工作中直接向用戶提供與問題對應的源代碼。那些專有型企業需要編寫復雜的描述文檔來解釋API的實際作用,但開源企業只需要將經過解碼的API扔到網上就行了。任何人都有權閱讀這些源代碼——而且大部分人也確實會讀讀看。時至今日,很多企業都會為自己的軟件產品設立一套技術支持論壇,難題在這里能夠更快得到解決。
很好,擁有良好說明文檔的開源軟件將成為每一位參與者的寶貴財富。有了這筆財富,客戶將有能力自己動手解決問題,而不必再坐等技術支持人員一點點發掘代碼內容。支持團隊能夠免去親手將代碼翻譯成英文的麻煩,因為這些工作完全可以交給充滿活力的技術社區來完成——每個人都能從開源中受益,標準的大團圓結局。
途徑三:利用開源降低開發成本
您的企業需要一款工具、資源庫或者組件,但組織內部開發實在成本高昂、難以承受。現在,只要大家腦子稍微一動、往開源上想想,項目就相當于已經完成一半了。花錢雇人添加必要功能也許太過愚蠢、太過慷慨,因為開源許可規定所有相關成果都必須拿出來同大家分享。但換個角度看,開源開發也能幫大家節約一半支出。如果這款軟件并不是業務流程中的關鍵性組成部分,那么利用開源很可能是一種聰明的省錢方式。
某些公司會通過向自己了解并信任的開發人員支付報酬來解決上述難題。另一些則利用自身的宣傳影響力替參與項目開發的人員造勢。目前,以BountrySource為代表的一些眾包網站允許用戶自行籌集資金雇傭程序員開發代碼。這些程序員與項目本身并無關系,搞定自己的工作后帶著錢離開,但他們的成果卻將長久留存。
在某些情況下,多家企業可以團結起來共同開發同一套開源代碼庫,這樣每家公司在做出貢獻時需要支付的成本就低得多。他們在節省資金的同時也打造出一套關鍵性工具,且每位參與者都有權加以使用——這實在是種經濟實惠的妙招。即使只找到一家合作伙伴,開發成本也能立刻被削減一半。如果是十家企業組成聯盟,那么成本就只相當于整個項目支出的十分之一。
途徑四:利用開源代碼打擊競爭對手
當谷歌剛剛推出其Android操作系統時,蘋果的iPhone在智能手機市場上正占據著壓倒性的數量優勢。然而Android作為一款開源平臺,能夠保證谷歌與其它手機制造廠商更輕松地攜手合作、從而創建起蓬勃發展的健康環境。每個人都可以使用來自這個開源聯盟的應用產品。開源許可使每家公司都以平等的參與者身份訪問項目、獲取源代碼并加以控制。他們選擇Android的同時也相當于選擇了安全的未來,因為他們知道谷歌不會放棄這個生機勃勃的項目。
這種共享式流程正變得越來越普遍。作為由Rackspace提供贊助的項目,OpenStack允許小型云廠商匯聚起來使用一套通用型平臺,其吸引力遠遠超過目前市場上占統治地位的Amazon云。客戶不僅能夠從多家廠商當中隨意做出選擇,同時也可以在自己的數據中心內部安裝云工具。所有圍繞OpenStack建立起來的云體系都采用同樣的基礎結構,而且同一套腳本也保證可以在任何環境下正常運行。
途徑五:利用開源資源創造競爭者
開源許可讓一件事情變得更加簡單:創造一位競爭者。從零開始建立一家新企業的過程中,我們只需要訪問源代碼庫并從中尋找可資利用的數據即可。在下載完成之后,大家可以直接將其整理為方案并馬上以競爭者的姿態向行業前輩叫板——沒錯,這一切都可以分分鐘搞定。
不過創造一位競爭者與為之持續提供技術支持有著本質不同。下載代碼毫無難度,但讓自身擁有基礎技能則需要耗時數月。要想成為真正的專家,整個過程甚至會持續數年。真正的競爭者意味著建立起一個技術團隊,且有能力為用戶提供真正的專業知識。
正因為如此,此類根基不牢的競爭者才僅僅出現在那些供給遠低于需求量的領域當中。幾年之前,當Hadoop引發技術行業的廣泛關注時,新興企業開始如雨后春筍般大量涌現。每家公司在寢階段都采用同樣的Hadoop核心,但隨著時間的推移,他們很快開始提供獨此一家的特殊附加方案。
途徑六:利用開源在市場上保持競爭力
開源世界的競爭是一條雙行道。盡管任何人都可以在幾秒鐘內參與進來并獲得源代碼,但他們通常需要在許可的約束下將自己的全部創新成果作為貢獻回饋給開源項目。如果新興競爭者水平高超,那么所有老牌強隊也將能夠獲取前者帶來的研發杰作。以GPL為代表的不少主流許可要求每位參與者都必須彼此分享技術果實。
這種除了共享還是共享的規則使新興參與者很難真正與現有領導者相抗衡。這些領導者能夠輕松獲得全部由后起之秀帶來的創新方案,而創新者則享受不到太多成果本身帶來的收益。這樣的規則在簡化了競爭者出現的機制之余,也使他們幾乎無法在競爭當中蓬勃發展。
作為早期開源推動者Cygnusr創始人,Michael Tiemann曾經頗有先見之明地表示:“非常幸運,開源模式再次派上了用場。除非新興競爭者能夠與我們旗下由一百多位工程師——其中大部分是受支持軟件的主要開發者或者維護者——所組成的技術團隊相對抗,否則他們無法取代我們‘GNU真正根源’這一穩固地位。即使從最樂觀的角度講,他們也只能通過添加增量功能讓客戶掏錢。不過由于軟件本身的開源屬性,他們所創造的所有價值都將反映在Cygnus這里。”
雖然這樣的言論聽起來像是來自邪惡的壟斷者,但其中也并非毫無破綻。如果當前開源領導者的工作做得不好,把資金投入到毫無意義的功能強化或者揮霍到毫無附加價值的方面,新興競爭者完全可以找機會取而代之——這并不是不可能的。
另外需要強調的是,如果有正當理由支持同一套代碼基礎分別存在于兩種方案當中,那么開源許可將無法制約后起之秀的發展。例如,同一款軟件具備兩種完全不同的使用途徑,那么兩個團隊能夠輕松將彼此的業務重點區分開來。總而言之,只要方案能夠指向另一個截然不同的競爭市場,那么新秀與老將之間就不再是勢不兩立的對手關系。
途徑七:利用開源進行討價還價
雖然不少開源許可都相當靈活,但其中一些正變得愈發嚴厲。作為其中最新的一項許可,Affero GPL堅持認為只要代碼被運行在公共服務器上、那么這些代碼就必須實現共享。這項嚴厲許可的出臺是由于在過去一段時期,開源行業發現某些開發商嘗試從開源軟件中獲益、但卻逃避為其做出貢獻。他們拒不向軟件提供“貢獻”,卻恬不知恥地加以運行——有鑒于此,GPL要求參與者只能在做出“貢獻”之后才有資格獲得共享權利。
某些開發商認為這樣的要求并不難做到。他們可能只是嘗試或者提供一些免費服務,分享自己對軟件的改進但前提是這些改進并沒有關鍵到會讓自己推動競爭優勢。但已經有越來越多的企業發現跟規則繞彎子比直接購買商業許可更麻煩。開源許可正以強大的力量推動參與企業走向產品支持的道路。
Affero GPL已經成為眾多新興項目的理想選擇,其中包括NoSQL數據存儲方案。以MongoDB為例,它就為自己的核心工具——數據庫搭配了該許可。不過該公司選擇了條件更為寬松的Apache許可對驅動程序加以保護,旨在鼓勵人們更積極地與其核心產品進行對接。
途徑八:利用開源開發共享式標準
每一種業務、每一類市場都需要一套執行標準,從而幫助客戶建立正確的期望、幫助企業了解該交付什么樣的產品。開源代碼往往能在建立這些標準的互操作性方面幫上大忙。
以HTML為例,我們利用這種語言來標記網絡上的文檔——但這項至關重要的標準也是Web瀏覽器行業競爭的根本性基石之一。一旦整個行業承認HTML標準的核心地位,那么瀏覽器廠商就能夠在功能而非內容方面做出創新并進行競爭。另一方面,內容提供方則需要保證自己生成的Web頁面能夠在所有可用瀏覽器上正常顯示。
開源工具往往與處于不斷發展態勢下的標準密不可分。以移動瀏覽器市場為例,蘋果公司率先創建出WebKit渲染引擎,并使其在很大程度成為移動瀏覽器的定義與標桿。然而最終使其發揚光大的卻是谷歌及其它Android廠商。蘋果可以繼續掌握這項技術的專利,但這意味著iPhone與其它智能手機之間的互操作性將受到嚴重制約,或者在每一次互操作時都需要將網頁(而且只是少數內容不多的網頁,大部分正常頁面無法實現翻譯)通過翻譯轉化成經過渲染、可為其它智能手機所讀取的內容。這很可能對移動市場的拓展造成嚴重的負面影響。因此,蘋果選擇將其作為開源工具包推向公眾,從而借助各市場競爭者之力將其打造成一套通用型標準。
途徑九:利用開源掌控未來
已經有眾多企業,有大有小,開始鼓勵自己的全職員工從事開源項目。有些公司甚至把花費大量資金創建的代碼直接貢獻給開源項目。為什么要這么做?這是為了確保自己在開源項目的代碼基礎中擁有足夠的影響力,而實現這一目標最簡單的辦法就是貢獻代碼行。
這種影響力永遠不會消退。所有重大項目,例如Linux的大多數重要貢獻者如今已經被證實都受到了所在公司的授意。當然,最終目標在于確保開源代碼仍然與企業自身的發展方向相吻合。如果資源庫或者工具不斷增長,新功能有可能同企業的專有工具之間出現兼容性問題。但如果該公司在新功能當中貢獻了大量代碼,則有能力確保最終成果適應自己的業務需求。正如Alto發明者Alan Kay所說,“掌控未來的最佳方式就是親手把它發明出來。”