微軟開源:一場內部策反的自我革命
2008 年夏天,微軟創始人比爾·蓋茨距離計劃中的退休時間只剩一周,他召集微軟高管開了一場關于開源軟件的會議。
出席會議的高管從開源的角度可以分成兩個陣營,一個是以 Windows Azure 負責人比爾·希爾夫和首席開源戰略師拉姆齊為代表的開源支持派,另一方就是以 CEO 鮑爾默為首的包括大多數微軟高管的開源反對派。所有人都看著即將退休的比爾·蓋茨。
他站起來,走到眾人面前,在白板上畫下了系統運作框架,其中包括版權、專利、代碼貢獻,最后指出:“微軟必須做出改變。”
這是微軟從上至下對開源改變態度的開始。
“愚蠢至極的開源”
熟悉開源歷史的人應該不會忘記,蓋茨曾在 33 年前用一封《致電腦愛好者的公開信》挑起了商業軟件對開源軟件前身自由軟件的戰爭。
1975 年,年僅 21 歲的蓋茨推出了第一代電腦基礎軟件 Basic 語言編譯器,受到了著名的“家用計算機俱樂部”的熱捧,但是其中付費購買正版磁盤者只有 10%,主要原因是俱樂部的規則是:會員可以從俱樂部帶走軟件磁盤,只要下次聚會帶回兩份拷貝分享給成員即可。
比爾·蓋茨認為自己的利益受到了侵害,在公開信中細數自己的開發成本,大罵對方“the thing you do is theft”(所作所為就是盜竊),甚至指出自由軟件的無償使用模式愚蠢至極,高質量軟件不可能被業余愛好者編寫出來。
* 《致電腦愛好者的公開信》部分
而在之后自由軟件與開源運動的發展過程中,微軟也一直扮演著頭號打壓者的角色。
1998 年,黑客埃里克·雷蒙德披露了著名的“萬圣節文件”。該文件由高級副總裁James Allchin 推動工程師 Vinod Valloppillil 所寫,旨在為微軟高層提供決策參考,這是一份微軟內部的機密文件。該文件顯示,微軟一直將開源視為假想敵,認為開源會切實傷害微軟利益。
除此之外,文件中還提出了對抗開源的具體方式,包括在公司內部引入開源模式,用高薪挖走開源界人才。
事實上,埃里克·雷蒙德還有另一個身份,就是開源運動領袖,他在前一年發表了革命綱領性書籍《大教堂與集市》,這本書一直被視為開源運動的《共產黨宣言》。
跟蓋茨持相同觀點的還有他的好友鮑爾默,在 2000 年接任微軟 CEO 后,鮑爾默在公開媒體上將開源操作系統 Linux 稱之為“癌癥”,執掌微軟期間用各種手段打壓 Linux。
開始帶領微軟走向開源的還是比爾·希爾夫。正如“萬圣節文件”中所制定的戰略,微軟在 2004 年挖來了前 IBM 開源戰略負責人比爾·希爾夫,在打給他的邀約電話中直接告訴他“我們不太了解開源軟件,我們需要了解的人。”
比爾·希爾夫成了微軟開源最早的布道者,他的主要工作就是指導微軟的人學習開源,教會他們開源項目如何運作,社區軟件如何運行,授權如何進行,并且幫助建立了微軟開源實驗室。
也就是這一年,微軟發布了第一個開源項目 WiX 工具集,該項目包括了編譯器、鏈接器、庫工具和反編譯器等,是微軟以 OSS 認證的許可證發布的第一個項目,采用的許可證是 Common Public License。
不久之后,比爾·希爾夫為微軟聘用到了拉姆齊,拉姆齊在微軟期間主導搭建了微軟開源實驗室團隊,后來出任全球開源軟件及 Linux 團隊項目主管,微軟首席開源戰略師。
* 2008 年 6 月,鮑爾默(左)和比爾·蓋茨在后者的辭任道別會上
與此同時,微軟高層對開源的敵視仍然沒有停止,CEO 鮑爾默在拉姆齊入職的 2006 年接受采訪時聲稱,微軟三大敵人分別是開源應用、谷歌、蘋果,其中開源仍然排在最前面。2007 年,微軟總法律顧問布拉德·史密斯和專利主管古鐵雷茲仍然聲稱,Linux 侵犯微軟 235 項專利,并表示要向所有使用 Linux 的企業收取費用。
從道義上來看,微軟早期的做法也并沒有缺失,在商言商,早期的主要盈利方式是靠售賣軟件,自然要保護授權,后期微軟做大,互聯網局勢也發生改變,微軟對開源轉變態度也符合當時的發展需求。
不過比爾·蓋茨開局后,長期以開源為敵的微軟公司具有很強的思維慣性,這讓拉姆齊開始時的工作受到了不少質疑。
直到 2008 年,比爾·蓋茨在自己退休前的會議上留下了關于“改變”的囑托,這讓微軟關于開源的意識形態發生變化,從此一日千里。
會議后不久,微軟收購了基于開源項目 Hadoop 開發的網絡服務公司 Powerset,在收購整合之時,微軟表示仍然允許其工程師群體向 Hadoop 開放源代碼。
拉姆齊團隊也開始開發基于開源軟件Zend、OpenNebula、 Eucalyptus、OpenScale和 Hadoop 等的云計算網絡服務原型產品。
微軟確立了與開源公司合作的四個準則,即確保開放鏈接、促進數據的可移植性、加強對行業標準的支持,在客戶和行業的開放合作方面投入更多。
同樣是這一年,微軟為 ADOdb 提交補丁,開始向 PHP 社區做出貢獻。
2009 年,微軟向自己的死敵 Linux 貢獻了兩萬行以上的代碼,在短時間內成為了 Linux 內核排名第一的貢獻者。
這年拉姆齊從微軟離職,先是進入創業公司 Apigee,之后又加入了谷歌。
但是,拉姆齊在微軟搭建起來的帶有開源精神的團隊卻保留了下來,之后這個團隊里的成員逐漸分散到微軟的各項業務當中,開源的理念自此逐漸滲透到微軟的毛細血管當中。
2011 年,微軟與 Joyent 公司和 Node.js 的作者 Ryan Dahl 一起將 Node.js 移植到了 Windows。這一舉意味著,建立在 Linux 上的 Node.js 可以在微軟的核心系統產品Windows 上運行了。
為了更好的擁抱開源,2012 年微軟成立全資子公司微軟開放技術公司,子公司總裁吉恩·保利給公司制定的目標就是“推動公司在開放性方面的投入,包括互操作性、開放標準和開源”。
* 鮑爾默(左)與微軟現任 CEO 納德拉
“微軟愛Linux!”
2014 年 10 月,微軟云業務發布會上納德拉喊出的“微軟愛Linux!”,與 13 年前鮑爾默那句“Linux 是顆毒瘤”顯示出當下與昨日鮮明的對照。
如果要為微軟近 20 年的發展歷程劃出一個分水嶺,第三任 CEO 薩提亞·納德拉的接棒毫無疑問是第一選項。
2014 年 2 月就任 CEO 之前,納德拉為微軟效力了 22 年,他風格溫和,但行事果斷,一上臺就以“移動為先,云為先”為微軟的未來定下基調,將其帶入全新的變革,這其中就包括在開源上的一連串動作。
鮑爾默時期,市值徘徊在 3000 億美金的微軟,曾在移動時代不斷試錯,卻只眼看著蘋果憑借 iPhone 睥睨世界,谷歌借助基于 Linux 內核開發的安卓后來居上,亞馬遜依靠 AWS 一騎絕塵。微軟仍是那個停留在昨日的世界并不斷敗壞路人緣的巨頭。
如果說,鮑爾默后期的微軟對開源是欲迎還拒,納德拉帶領下的微軟則直接向開源敞開了懷抱:在 GitHub 建立官方賬號,開源 .NET 框架,收回開源子公司 MS Open Tech,在雷德蒙德總部成立開源項目辦公室,無不昭示著微軟對開源的決心。
2015 年,微軟發布了開發者工具 Visual Studio Code,后者可運行在 Mac OS X、Windows 和 Linux 之上,如今已是開發者的首選 IDE,也是 GitHub 最受歡迎的項目之一。Linux 基金會執行董事 Jim Zemlin 表示,微軟已成為 Linux 與開源的熱情支持者,也是很多重要項目的積極參與者。
與其說微軟對開源態度的積極轉變是納德拉的英明,不如說這更是巨頭在時代驅動下的靈活轉身。計算機早已走過自己的精英時代,傳統軟件的開發模式越來越無力支撐 AI 時代的復雜需求,一個有勇氣面對現狀的企業也很難忽視 GitHub 上 4000 萬開發者的群力。而要在云業務中實現突破,開源幾乎是唯一選擇,因為云業務中有眾多基于 Linux 系統的虛擬機。
2016 年,微軟成為 GitHub 項目貢獻第一的組織,陸續開源了 Chakra JavaScript 引擎、Visual Studio 的 MSBuild 編譯引擎、Computational 網絡工具套件、Xamarin、支持 Linux 和 Mac OS X 的 PowerShell,并推出了運行在 Linux 系統下的 SQL Server 數據庫。
2018 年 10 月,加入開源專利聯盟 OIN(Open Invention Network)的微軟向前者開放了 6 萬項專利。
2018 年 10 月 27 日,微軟宣布收購 GitHub,75 億美元的高價顯示出巨頭身體的誠實。此時的納德拉用一句“all in 開源”又一次穩住了躁動的開發者。微軟承諾,收購完成后,GitHub 仍將獨立運營。而 Azure 與 GitHub 的集成,也被業界認為將是微軟追趕 AWS、布局未來的利器。
在這之前的 2017 年 4 月,微軟宣布關閉了開源軟件托管平臺 CodePlex。成立于 2006 年的 CodePlex 曾是微軟抵御 GitHub 的重要根據地。
當初憤怒地打出《致電腦愛好者的公開信》的蓋茨和曾經傲慢地高喊“開源軟件是知識產權的毒瘤”的鮑爾默,或許都沒有預料到,一個靠商用軟件充實財務報表的巨頭如今正成為一家開源軟件公司。
2019 年,微軟 Azure 云業務全年市場份額已經攀升至 16.9%,僅次于 AWS 的 32.3%。擁抱開源,云業務收入的強勢翻越,也鞏固著投資者的信心,萬億美元的市值坐實著微軟的重回巔峰。曾被貼上封閉、霸權標簽的巨頭正以開放的姿態重新贏得全世界開發者的青睞。
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。