微軟開源:一場內部策反的自我革命

  • 2020 年 6 月 30 日
  • AI

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%。擁抱開源,雲業務收入的強勢翻越,也鞏固着投資者的信心,萬億美元的市值坐實着微軟的重回巔峰。曾被貼上封閉、霸權標籤的巨頭正以開放的姿態重新贏得全世界開發者的青睞。

推 薦 閱 讀