跳出Linux內核的圈子:看Ubuntu的另類之路
原創【51CTO獨家特稿】之前一篇文章說到Linux社區一般以對Linux內核貢獻的代碼數量來評估貢獻度,而Ubuntu背后的Canonical則總是因為此類貢獻很少而備受指責。Linux基金會的2010年度報告顯示,Canonical從2.6.30內核以來,總共提交了109個補丁,占總量的0.2%,排在所有貢獻企業的第62位。很多Linux粉絲都拿這個數據擠兌Canonical,認為他光搞忽悠,不干實事。
但是,Ubuntu讓Linux走入了眾多平民的PC終端,這是一個不爭的事實。貢獻與功勞應如何評定?站在內核開發者的角度、桌面開發者的角度和用戶的角度,答案都不一樣。在為數不多的幾個商業Linux發行版里,Ubuntu走的是一條另類的道路——
Mark Shuttleworth
要說Ubuntu就不可能不從這位仁兄說起。Mark Richard Shuttleworth,1973年出生于南非的一個淘金小鎮Welkon,父母分別是外科醫生和幼兒園教師。
1995年在開普敦大學就讀財務和信息系統專業期間,Shuttleworth創建了專注于數字認證與網絡安全領域的Thawte公司,并因為在1999年將該企業賣給VeriSign而一躍成為了南非最年輕有為的本土富翁和企業家。
2002年,29歲的Shuttleworth搭乘俄羅斯聯盟號飛船,成為世界上第二位自費的太空游客。
Shuttleworth在上世紀90年代開始參與Debian的開發,是個如假包換的Debian Developer。早期負責Apache軟件包的維護,從成立Thawte公司開始到去太空旅游期間開始潛水,到2004年復出,并成立Canonical基金會開始資助Ubuntu的開發。
傳說Shuttleworth在2004年初的一次北極旅游之前將之前六個月的Debian郵件列表都下載了下來,在旅行途中一篇一篇翻閱,由此確定了Ubuntu項目的第一批開發者并一一進行招攬。
Shuttleworth、Ubuntu和Debian的淵源,很難用一兩句話解釋清楚。在Shuttleworth的Debian Wiki頁面中他寫道,“對于Debian的多元化,我十分認同。每一個Debian的衍生版都有其特殊的地方,這是Debian超越其他很多(非模塊化)項目之處。然而,正因為Debian是個通用型系統,使得它在任何一個領域都無法精通。Ubuntu之所以誕生,是因為我希望有一個專注于桌面的Debian版本。”
這就是Ubuntu誕生的故事:一個南非的年輕富翁企業家,跨上名為Debian的戰車,駛向Linux桌面的陣地。
2004年10月,第一個Ubuntu版本,代號Warty Warthog(長疣的疣豬)的Ubuntu 4.10誕生。大家知道Ubuntu的代號基本上都是動物的名字,而最初的這個名字,根據Shuttleworth其Ubuntu Wiki上的敘述,是這么來的:
當時Shuttleworth正在悉尼的某條游輪上觀光,一邊和當時的另一位Debian開發者Robert Collins聊天。以下就是Ubuntu項目第一位參與者和第二位參與者之間的對話:
(注:以下對話中,lifeless是Robert Collins的網名,sabdfl則是Shuttleworth的網名。sabdfl是Self-Appointed Benevolent Dictator for Life的縮寫,意思是“自封的終身好獨裁者”。BDFL一詞常用于開源社區當中,Linux之父Linus Torvalds、Python之父Guido van Rossum、PHP之父Rasmus Lerdorf等人都被人這樣稱呼過)
lifeless:第一個發行啥時候出? sabdfl:一定要迅猛。最多六個月。 lifeless:六個月!那可沒多少打磨的時間。 sabdfl:所以第一個版本的代號就叫長疣的疣豬吧。
于是,warthog也成為了最初Ubuntu開發團隊的代號。
2004年1月,Canonical啟動了開發協作平臺Launchpad。
2004年8月20日,Shuttleworth在Launchpad上提交了Ubuntu項目的第一個bug,bug#1的內容正是:微軟占有了太多市場份額。
2004年10月20日,Ubuntu 4.10發布。
2005年,Shuttleworth成立Ubuntu基金會,投入1億美元啟動資金。Ubuntu的另類之路,就此開啟……
#p#
另類之處1:讓開發者有錢賺
開源軟件的開發模式導致開發者不能像傳統開發者一樣盈利。開發社區往往比較忌諱社區成員通過開源項目盈利的事情,因為這會導致社區內部的不平衡,打擊義務開發者參與的熱情,繼而毀掉一個開源項目。
但凡企業運作開源項目,都是因為該項目對企業本身的運營有所助益。無論是項目本身有商業潛力也好,還是因為企業的其他業務跟這個開源項目有關聯也好,總之不是無緣無故或純粹出于喜好跑來做慈善。傳統上,企業要開發軟件,代碼無非那么幾個來源:要么從其他廠商或開發者手中購買軟件專利,要么雇傭開發者為自己寫代碼,再將這些代碼注冊為自己的專利。在互聯網時代的開源領域,開源軟件的開發者不太可能通過第一種方式獲取穩定的利益,這與商業的基礎理念不符(當然現在也有一些Donation的模式,有些運轉的還不錯,只是類似的模式仍然不太穩固);那么,開發者如果要通過開源軟件賺錢,比較可行的道路只有:讓企業雇傭自己。
雇傭開發者寫開源代碼,這在傳統軟件業中匪夷所思的事情,卻是當下軟件業中司空見慣的情景。紅帽目前全球有3000多員工;Novell在被收購前也有3000多員工;Canonical比較小,不過現在也有450多位員工。這些數字當然包含了行政、銷售、市場等非技術人員,但在這三家公司,參與開源項目開發的員工比重不會太低。還有更多開源軟件開發者散布于IBM、Google、Sun/Oracle、Intel、Broadcom、Citrix等大企業,甚至現在微軟內部也有參與開源項目的開發者。
同樣是雇傭開源軟件開發者,相比工程師氣息濃重的紅帽、IBM、Google等企業,Canonical的團隊更有些獨特的地方。加入Canonical的開發者都是怎樣的一群人?前不久,Ubuntu上流行的優化軟件Ubuntu Tweak的作者周鼎剛剛來到了北京,成為了一位Canonical員工。下面讓我們聽聽他的說法。(完整訪談實錄請參考《對話Ubuntu Tweak作者:站在用戶的角度玩Linux》一文)
“我第一個用的發行版其實是Fedora 6,不過接觸了一周就放棄了。”在說到自己使用的第一個發行版的時候,周鼎這樣說到。“06年那時候Ubuntu社區已經相當成熟了,在國內各大高校,還有一些電信機房,都有源。cn99你知道吧,實際上就是現在的163源。那時候Ubuntu的源非常多,中國南北都有,很容易找到一個離你比較近、速度比較快的。當時使用Fedora時,更新這些太麻煩了,后來用到Ubuntu就輕松多了,裝個軟件非常方便。”
本身身為喜歡折騰的發燒友用戶,周鼎對于用戶真正需要什么有自己的理解:“為什么Ubuntu會開發Unity?就是為了在用戶體驗上、用戶界面上自己進行更改。你知道Gnome 3、KDE 4,這些都是社區控制的,有些地方并不是很合理。比如Gnome 3,有很簡單的兩個例子:它的窗口沒有最小化按鈕,甚至連Power Off關機鍵都沒有,你覺得這個是對用戶負責的表現嗎?”周鼎還舉例說:“Compiz你知道嗎?Compiz的開發者smspillaz之前也是一個獨立開發者,現在也是Canonical的員工。Compiz之前是通用的,在所有發行版上都可以用。通用,就會犧牲其他方面的一些東西。而現在在Unity上,就可以根據發展的需要做相應的調整。”
“一想起Ubuntu不好就說它對內核貢獻少,我覺得這完全是工程師的角度,而沒有從用戶或其他方面的角度去想。實際上市場是非常重要的,你覺得呢?”周鼎對于以代碼量評定對Linux的貢獻程度的這個說法感到很不以為然。“據我所知,我們很多玩Linux的朋友,都會有一個共識。用一句比較流行的話來說就是,Ubuntu是我們的初戀。……我周圍玩Linux的這些朋友,基本都是一開始因為Ubuntu而喜歡上Linux,從而最終把它當作自己的職業的。所以說你覺得這是不是貢獻?”
對于Ubuntu桌面應用的前景,周鼎是十分看好的。“我不知道你最近有沒有注意到一個趨勢,就是軟件中心里面收費的應用,主要是游戲,越來越多了。……不光是游戲,軟件中心里面也有一些商業軟件,比如Windows上的UltraEdit,也有其他平臺上一些知名度比較高的軟件,也已經在Ubuntu軟件中心。這個在我06年開始玩的時候,還是不能想象的,Windows上的商業軟件,居然會登陸Linux平臺。但是現在我們也都看到這個趨勢了嘛。”周鼎還介紹了一些現在已經跟Ubuntu深度集成開發的應用:“Chrome最新版,Chrome 13,就直接用了Unity的API。比如你Chrome在下載東西,Unity的Launch上面會顯示一個“1”,代表當前有一個文件在下載,還有一個進度條。其他第三方的整合就更多了,開發者開始在自己的軟件里整合Unity的一些高級特性。Unity現在發布不到半年,有這樣的發展,我覺得是非常快的。這些都是用戶能夠享受到,能夠直接看到的一些進展。我覺得未來一年應該也會像Windows 7一樣,出現越來越多的第三方軟件。”
另類之處2:重視開發以外的貢獻
正如同周鼎在上面說到的工程師文化,在大部分Linux社區,相互交流的都是開發者,對項目的貢獻程度也完全視提交了多少patch,維護了哪些軟件包,總共貢獻了多少代碼所決定,從而決定了開發者在社區中的地位。
然而,Ubuntu社區為不同領域的參與者提供了更加豐富的貢獻、激勵機制。提交bug,文檔,翻譯,美工,在Launchpad系統上都進行了記錄,累積到用戶的Karma積分上。對于活躍的貢獻者,Ubuntu委員會會授予一些官方的貢獻者身份,如UM(Ubuntu成員)、PPU/UD(Ubuntu單包上傳者/開發者)、MOTU(宇宙大師)、UCD(Ubuntu核心開發者)等,并且提供ubuntu.com后綴的郵箱、將博客文章推送到Ubuntu Planet等好處。
值得注意的是,這里的Ubuntu委員會可不是什么Canonical的機構,而是社區自己的機構。最頂層的社區委員會共有8人,Mark Shuttleworth也在其中。2011屆的社區委員會中有3人來自Canonical(包括Shuttleworth),其他5人都是非Canonical員工。在Ubuntu社區機制當中,Canonical員工是沒有任何特權的,貢獻判定都由委員會評定。
社區委員會以下有Ubuntu區域委員會,分布在美洲、亞洲/大洋洲和EMEA(歐洲、中東和非洲),其功能是一樣的,就是授予活躍的貢獻者相應的身份。
另外還有LoCo委員會,即本地社區委員會,一開始由各個地方的Ubuntu社區成員自行發起成立,后來得到了社區委員會的官方認可。LoCo委員會在各地組織很多線下交流活動,這些貢獻也都被記錄下來。
在Ubuntu社區的體系中,開發者的貢獻反而被淡化了,以至于開發者社區不得不成立了“開發者成員委員會”,從而為Ubuntu開發者申請更多的權利。
另類之處3:對專有、非開源軟件的接受
由于Linux內核從屬于GPL v2的緣故,在Linux平臺上存在的專有、非開源軟件往往被自由軟件推崇者視為是邪惡的。Ubuntu源自Debian,而Debian是個不折不扣的自由軟件發行版,其軟件源對“自由”的要求可以用苛刻來形容。
然而,Ubuntu卻完全反其道而行之,成為了對專有軟件接納度最高的發行版之一。
根據Canonical目前的布局,Ubuntu Software Center(應用軟件商店)、Ubuntu One(云同步)、Ubuntu Music Store(音樂商店)將成為Ubuntu桌面盈利的關鍵點。這三款軟件本身,正如同一開始的Launchpad一樣,也并非是開源的。
在這三項當中,Ubuntu Software Center的布局尤其重要。用過Ubuntu的朋友們應該知道,傳統上,Ubuntu上安裝軟件和Debian一樣,可以從源代碼編譯,或用apt從網絡/本地軟件源獲取源代碼并直接安裝,也可以從二進制包(.deb)手動安裝。apt安裝方式在傳統上通過命令行執行,后來出現了新立得軟件管理器等圖形化操作方式。
在此基礎之上,Ubuntu還發展了一種獨特的ppa機制。這個機制上面周鼎的訪談中也介紹過:Linux軟件在整合入發行版的軟件源之前都會經過發行版打包者的重重測試,所以軟件源的軟件一般不全,版本也會比較老;而基于Launchpad搭建的ppa機制,則可以讓開發者簡單的在Ubuntu中實現自動更新的機制。下次Ubuntu Software Center的更新,據說將會與Launchpad ppa機制進行全面的整合。至于軟件中心的推薦、排名等機制,以及開發者支付渠道的開拓,相信Canonical早就有了相應的計劃,只待時機成熟。
另類之處4:Ubuntu的云計算之路
另外值得一提的是Ubuntu Server近年來的發展勢頭。在W3Techs等網站的數據統計中,Ubuntu在服務器領域已經成為CentOS、Debian之外的第三大流行的Web服務器發行版,已經排在了紅帽的前面。
Linux做服務器是有家傳基因的,基本上企業Linux發行版都是針對服務器。不過,Ubuntu的情況和紅帽、SUSE等扎根于企業IT基礎架構的發行版的情況不同:Ubuntu的崛起和VPS、Amazon EC2服務的關系密不可分。深知在企業級IT基礎架構方面,無論從技術還是服務支持方面都不太可能是這些老字號的對手,Ubuntu的服務器之路從一開始就瞄準了公有云,牢牢地與Eucalyptus、OpenStack等項目抱在一起。對于眾多個人站長和年輕的互聯網創業者而言,如果他們接觸過Ubuntu桌面,那么在云端建立虛擬服務器的時候選擇一臺Ubuntu的服務器,也是十分自然的選擇。
總結
2010年,Mark Shuttleworth按照之前的計劃退下了Canonical公司CEO一職,而接任這個擔子的,則是曾經負責Ubuntu One項目和Ubuntu企業服務事業部的Jane Silber女士。根據Silber女士的介紹,Canonical目前已經在英國倫敦、加拿大蒙特利爾、美國波士頓、臺灣臺北、以及中國上海等全球5個主要城市設立辦公室,而且接下來將會在北京設立全球第六個辦公室。六個辦公室有三個都在中國,可見中國在Canonical計劃中的重要性。
Canonical在中國市場主要有兩個方面的計劃:1、語言、時區、輸入法等本土化,以及QQ等本土應用的集成;2、與中國本土最大的電腦制造商進行合作和定制化。Canonical目前與戴爾、聯想和宏基已經有相當程度的合作,接下來也將在終端銷售層面的賣場展開進一步的推廣活動。
在Linux世界里,Ubuntu無疑是特殊的一個分支。無論開源社區界對Ubuntu有再多的不滿,但這條與眾不同的商業化道路,會給很多人帶來啟發。雖然目前Canonical尚未表示實現了收支平衡,但卻透露出收入一直在增長的消息,相信接下來幾年的云計算崛起時代,Canonical將會大有作為。讓Linux開發者有錢賺,除了將開發者招攬為員工之外,Ubuntu能否開辟出另一條更為多樣化的道路?Ubuntu能否在移動設備井噴,PC和上網本衰弱的當口,為Linux桌面開辟出一片穩固的領地?讓我們拭目以待!
【廣告時間】為了了解Linux桌面發行版當前的用戶群,51CTO現在在進行一項“Linux桌面發行版生存狀況大調查”。如果您正在使用或使用過Linux桌面,希望您能抽出幾分鐘填寫一下我們的調查問卷:
http://www.ekrvqnd.cn/survey/index.php?sid=37381&lang=zh-Hans
十分感謝您的參與!
【編輯推薦】