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