比爾蓋茨,一位改變開源軟件的人
在比爾·蓋茨退休前的一周召開了一場會議,會議的主題是關(guān)于開源軟件。
那是2008年夏天,多年以來開源社區(qū)將微軟公司視作頭號公敵。七年以前,微軟CEO史蒂夫·鮑爾默(Steve Ballmer)曾將Linux稱作“惡性腫瘤”。2007年夏天,微軟法律顧問布拉德·史密斯(Brad Smith)和授權(quán)許可主管霍拉西奧·古鐵雷茲(Horacio Gutierrez)告訴《財(cái)富》雜志,Linux侵犯了微軟的235項(xiàng)專利,并暗示將對任何使用Linux的大型企業(yè)收取授權(quán)費(fèi)。
與此同時(shí),微軟也逐漸意識到自由軟件運(yùn)動的力量,并開始探索向開發(fā)者數(shù)量日益增長的開源軟件社區(qū)示好的方式。在兩年的時(shí)間中,薩姆·拉姆齊(Sam Ramji)擔(dān)任了微軟開源戰(zhàn)略主管。每隔三個(gè)月,他會與蓋茨以及微軟其他高管會面,展示由一組微軟小型工程師團(tuán)隊(duì)收集的不同開源技術(shù)。
然而這天下午的會議與以往不同。在公司首席法律智囊史密斯和古鐵雷茲的邀請下,拉姆齊和蓋茨、微軟首席軟件架構(gòu)師雷伊·奧茲(Ray Ozzie),以及其他一些高管坐在一起,討論微軟是否真的可以開始使用開源軟件。拉姆齊和奧茲,站在他們支持微軟應(yīng)當(dāng)擁抱開源技術(shù)的一邊,而古鐵雷茲也給出了能使這一提議成為現(xiàn)實(shí)的法律框架。不過微軟其他高管對此提出強(qiáng)烈質(zhì)疑。
這時(shí),比爾·蓋茨站了起來。
他走到白板前,畫下一張系統(tǒng)如何運(yùn)作的框架,其中包括版權(quán)、代碼貢獻(xiàn)和專利。蓋茨斬釘截鐵地表示,微軟必須做出改變。
拉姆齊此時(shí)已經(jīng)擔(dān)任微軟的首席開源戰(zhàn)略師超過3年半時(shí)間。對他來說,蓋茨站起來的那一刻就是微軟改變對自由軟件的態(tài)度。拉姆齊表示:“開源社區(qū),甚至整個(gè)科技行業(yè)都不相信蓋茨真正理解開源,包括開源為何變得非常重要,為何成為了競爭優(yōu)勢,以及為何當(dāng)競爭對手開始使用開源技術(shù)的同時(shí)時(shí),微軟也必須這么做。蓋茨實(shí)際已經(jīng)領(lǐng)悟到,在那一刻,他教會我們所有人。”
從外界來看,似乎微軟已經(jīng)徹底改變了態(tài)度。微軟近期為Windows Azure中加入了兩項(xiàng)開源技術(shù)平臺,并和其他支持開源企業(yè)一樣,向開源項(xiàng)目貢獻(xiàn)代碼。這些都不是小型的開源項(xiàng)目,而是知名的大型開源項(xiàng)目,包括Node.js和Hadoop。這在以前是不可能的。
微軟的改變是由于這樣一群人,例如薩姆·拉姆齊,以及聘用他的比爾·希爾夫(Bill Hilf),當(dāng)然還有比爾·蓋茨。不過微軟這樣的轉(zhuǎn)變也反映了科技行業(yè)正在發(fā)生巨大的變化趨勢。隨著越來越多的應(yīng)用從本地?cái)?shù)據(jù)中心轉(zhuǎn)移至云計(jì)算系統(tǒng),例如亞馬遜Amazon Web服務(wù)和微軟Windows Azure中,軟件經(jīng)濟(jì)也在發(fā)生著變化。以往,企業(yè)付費(fèi)給微軟等公司的軟件,再將微軟的軟件安裝在自己的服務(wù)器上?,F(xiàn)在,企業(yè)更多地愿意付費(fèi)使用在線服務(wù)。通過在Windows Azure之上提供開源軟件,這是微軟一條的確可以賺錢的方法。
Windows Azure負(fù)責(zé)人希爾夫表示:“憑借Azure,我們通過提供計(jì)算能力、存儲空間和網(wǎng)絡(luò)帶寬賺錢。我們希望我們將能夠提供更多類型的應(yīng)用程序和系統(tǒng),所以開源技術(shù)能夠幫助(業(yè)務(wù))迅速提升……我們在Azure上提供Node.js并非完全是利他的,這也是推動微軟業(yè)務(wù)發(fā)展的一種方式。”
比爾·希爾夫(Bill Hilf),微軟開源技術(shù)先驅(qū) 相片提供: Microsoft
希爾夫曾是一名Linux開發(fā)者。2000年代初,他曾是IBM的高級架構(gòu)師,利用Linux與其他開源軟件搭建過大型商業(yè)業(yè)務(wù)。他還曾負(fù)責(zé)過 IBM的開源戰(zhàn)略。1990年代末,IBM曾經(jīng)在Linux業(yè)務(wù)領(lǐng)域投下重注,以對抗微軟。這時(shí),在2004年,希爾夫接到了一通來自微軟的電話。
希爾夫回憶道:“微軟給我打來電話,對我說:‘我們不太了解開源軟件,我們需要了解的人。’我就像是成為微軟這顆星球上的第一名宇航員。”
希爾夫的主要任務(wù)(至少在最初階段)是教會微軟的人了解開源。他表示:“我花費(fèi)了大量時(shí)間指導(dǎo)他人,例如開源過程是怎樣的:開源項(xiàng)目如何運(yùn)作,互聯(lián)網(wǎng)上的社區(qū)軟件如何工作,授權(quán)如何進(jìn)行,人們是否真的為此無償工作等。”他同時(shí)也幫助建立了微軟內(nèi)部的開源實(shí)驗(yàn)室,并與同事一起在安裝Windows軟件PC平臺上搭建Linux系統(tǒng)進(jìn)行批量測試。對于一家長期回避像Samba項(xiàng)目的公司,這是一個(gè)重要的許諾。Samba也是一個(gè)開源項(xiàng)目,能幫助Windows計(jì)算機(jī)與Linux文件服務(wù)器通信。
與此同時(shí),希爾夫的實(shí)驗(yàn)室開始探索新項(xiàng)目,推動現(xiàn)有開源工作的發(fā)展。在他微軟職業(yè)生涯結(jié)束前,希爾夫開始接觸到開源社區(qū)的一些成員。他表示:“我們希望了解微軟與開源社區(qū)合作的方式,不僅是了解開源社區(qū)如何運(yùn)作,以及我們是否能實(shí)現(xiàn)互動,更希望尋找我們可以相互推動的領(lǐng)域。”
希爾夫表示,基于這樣的想法推動微軟參與了Node.js和Hadoop。去年,微軟不僅宣布將把Node.js和Hadoop等Linux技術(shù)移植到Windows中,還表示將直接向開源社區(qū)貢獻(xiàn)代碼。
希爾夫表示:“我們有一個(gè)專門的團(tuán)隊(duì)從事這一工作。我們已經(jīng)進(jìn)入實(shí)際工程開發(fā)工作中。我們將取得的成果置于開源協(xié)議下,并通過Github等組織發(fā)布這些成果。這在六年前是不可想象的。”
去年秋季,微軟甚至還為Samba貢獻(xiàn)了代碼。Samba的貢獻(xiàn)者之一克里斯托弗·赫特爾(Christopher Hertel)寫道:“時(shí)間退回到幾年前,微軟程序員提交代碼將會讓人感到不可思議。但爭端已基本結(jié)束,時(shí)代也發(fā)生了改變。”他指出:“大部分人并未注意到貢獻(xiàn)者的來源,若發(fā)生在四年前也是遙不可及的事情,但我們中的一些人將其視為里程碑,并希望表達(dá)我們對此的贊賞。”
微軟的最佳狀態(tài)是在它坐立不安的時(shí)候
微軟已經(jīng)走過了漫長的道路。2006年,當(dāng)希爾夫聘請拉姆齊負(fù)責(zé)微軟的開源項(xiàng)目時(shí),微軟與自由軟件行業(yè)的關(guān)系十分緊張。一年后,史密斯和古鐵雷茲在接受《財(cái)富》雜志采訪時(shí)公開威脅Linux。當(dāng)拉姆齊接受微軟的聘請時(shí),事后他回憶說,他曾對自己將扮演的角色感到懷疑和擔(dān)憂。
事物的發(fā)展總是有起有落,不過他與蓋茨的會議意味著巨大的改變終將發(fā)生。在這次會議之后不久,微軟收購了語義搜索創(chuàng)業(yè)企業(yè) Powerset,而該公司是最先基于Hadoop項(xiàng)目開發(fā)網(wǎng)絡(luò)服務(wù)的公司之一。在整合期間后,微軟允許Powerset的工程師繼續(xù)向Hadoop貢獻(xiàn)代碼,而該服務(wù)也在一段時(shí)間內(nèi)繼續(xù)基于Hadoop。不過Powerset最終放棄了Hadoop,轉(zhuǎn)而采用微軟的自有技術(shù),至少一名主要的開源代碼貢獻(xiàn)者離開了微軟。不過Powerset至少設(shè)定了正確的方向。
在此后的一年中,拉姆齊和他的團(tuán)隊(duì)開發(fā)了類似亞馬遜的云計(jì)算網(wǎng)絡(luò)服務(wù)原型產(chǎn)品,這完全基于開源軟件,例如Zend、OpenNebula、 Eucalyptus、OpenScale和Hadoop等。拉姆齊回憶稱:“我們就像測試小分隊(duì)。我們會說:‘你認(rèn)為你是領(lǐng)先的?讓你看看通過開源兩周的時(shí)間,還有通過Linux天才能對你的項(xiàng)目做些什么。’”
拉姆齊表示,這一項(xiàng)目曾引起了微軟智囊團(tuán)的深深不安。微軟當(dāng)時(shí)已開始利用自有技術(shù)開發(fā)Windows Azure,代號Red Dog。對拉姆齊來說,這種“深深不安”是件好事。他認(rèn)為:“微軟的最佳狀態(tài)是在它坐立不安的時(shí)候。這正是微軟的精神,這是一家以危機(jī)為導(dǎo)向的公司。”
微軟正在變?yōu)楣雀?/strong>
拉姆齊于2009年離開微軟,加入一家名為Apigee的初創(chuàng)企業(yè),抓住這一領(lǐng)域的發(fā)展機(jī)遇與開源運(yùn)動早期類似:致力于將全球的網(wǎng)絡(luò)服務(wù)集成到應(yīng)用程序接口或說API。不過,他在雷德蒙德留下自己的烙印。
拉姆齊表示:“我認(rèn)為,我們建立的團(tuán)隊(duì)是我工作過的最優(yōu)秀團(tuán)隊(duì)。著實(shí)執(zhí)行一個(gè)信條是將外部的事物引入內(nèi)部。在這個(gè)世界中,我們無法繼續(xù)僅僅依靠自有技術(shù),那只能將我們變成沙文主義者——搖旗吶喊的狂熱微軟粉絲。”此后,該團(tuán)隊(duì)的成員隨后分散至微軟內(nèi)部的其他團(tuán)隊(duì),并傳播了這樣的思想。
Windows Azure仍基于微軟自有技術(shù)軟件。不過令許多人感到驚訝的是,該服務(wù)向開發(fā)者提供了多種開源工具,幫助他們開發(fā)自己的應(yīng)用。這不僅包括Node.js和 Hadoop,也包括Java和PHP等開源語言。微軟甚至表示,將允許開發(fā)者在Windows Azure之上運(yùn)行Linux。
拉姆齊承認(rèn),微軟在一定程度上也在發(fā)生了改變,因?yàn)槭澜缫呀?jīng)發(fā)生了變化。他援引維克多·雨果(Victor Hugo)的名言:“當(dāng)一種思想的時(shí)代來臨時(shí),世界上沒有比這更強(qiáng)大的力量。”他更通俗的語言形容到:“對于開源這塊巧克力來說,云計(jì)算就是花生醬。”
不過,作為長期以來的開源軟件的公敵,微軟仍然備受質(zhì)疑,即微軟是否真正改變了自己的做法。資深開源用戶、2001年微軟反壟斷案后的監(jiān)督者羅恩·施奈爾(Ron Schnell)表示:“就我個(gè)人而言,我認(rèn)為微軟在開源時(shí)代的篇章還未開始書寫。微軟還需要向開源運(yùn)動做更多貢獻(xiàn),才能被視作開源運(yùn)動的朋友。”
在采訪尾聲時(shí),施奈爾表示,所有歸宗于金錢。他表示:“開源解決方案對于財(cái)務(wù)報(bào)表沒有太大好處。問題在于,在云計(jì)算獲得成功導(dǎo)致Windows等桌面操作系統(tǒng)必要性的降低情況下,微軟是否仍能獲得以往的高額利潤?”這是問題的一方面,但云計(jì)算的發(fā)展也使得企業(yè)通過開源軟件盈利更容易,顯然,微軟認(rèn)識到了這點(diǎn)。
多年以來,人們總是容易認(rèn)為谷歌是開源運(yùn)動的朋友,而微軟則對自由軟件保持著距離。不過作為互聯(lián)網(wǎng)服務(wù),谷歌與微軟所處的位置有很大不同,微軟主要通過銷售軟件授權(quán)碼才取得了今天的地位。如今,微軟也正變成為一家互聯(lián)網(wǎng)公司,變得更像谷歌——不單是通過一種方式。
是的!微軟正在多起案例中向Android手機(jī)廠商收取授權(quán)費(fèi),而Android系統(tǒng)正基于Linux。這表明,微軟在軟件行業(yè)中處境仍舊復(fù)雜。盡管微軟已經(jīng)向互聯(lián)網(wǎng)實(shí)現(xiàn)戰(zhàn)略轉(zhuǎn)移,但仍是一家依賴傳統(tǒng)軟件業(yè)務(wù)的公司,并依然有心想采取措施保護(hù)傳統(tǒng)業(yè)務(wù)。不過,微軟與Android陣營之間的斗爭與以往不同。作為谷歌的一個(gè)項(xiàng)目,Android作為谷歌項(xiàng)目并非那么開源。
現(xiàn)實(shí)并不是一個(gè)非黑即白的二元世界,軟件世界同樣如此,并不是每個(gè)人都意識到這一點(diǎn)。但比爾蓋茨做到,而微軟更因此受益。
【編輯推薦】