微軟也開源:是真心、做 Show、還是….?
微軟已經參與了多個大型開源項目,包括 Hadoop 與 Docker。到底是什麼因素讓微軟放棄長久以來的「專有至上」理念?微軟與開源之間的關系在過去幾年中經歷了一次顛覆性的轉變。該公司對於開放源碼項目的態度由充滿敵意到接受,到底是什麼因素促成了這一切?
具體而言,微軟以往所憎惡的主要目標其實是 GNU 通用公共許可(簡稱 GPL),包括在該許可下的一系列開源軟件。微軟前任 CEO Steve Jobs 在 2001 年接受芝加哥《太陽報》的採訪時指出。根據該許可的要求,如果大家使用任何一款開源軟件,則必須保證自己的其它軟件也遵循開放源碼協定。
而作為微軟公司核心業務 Windows Server 操作系統的主要競爭對手,Linux 則是最有敵意的另一位。但如果從那時的角度出發,我們甚至無法想像微軟會採取幾乎完全相反的立場。時至今日,微軟已經完全接受開源行業。他們為開源項目作出貢獻,並將部分原有的專用軟件推向開放源碼,包括 ASP.NET Web 應用程序框架、Windows Phone 工具包以及 Azure .NET 軟件開發工具。此外,微軟還建立起 CodePlex。
更進一步,微軟還建立微軟開放技術公司。作為微軟全資子公司,這家年輕的企業承諾「專注於推進微軟將開放性機制用到整個企業以及軟件行業。」
開源社區高級主管 Gianugo Rabellino 指出微軟所說的「開放性」到底是何含義?開放本身要比開放源碼更加廣泛。它同時包含互操作性與開放標準。事實上,Rabellino 一直在強調開放源碼、開放標志與互操作性三大關鍵性因素,而微軟也將其作為其概念。
軟件市場日新月異,因此微軟也需要與時並進
最大的問題是:為什麼要進行改變?為什麼微軟對開源軟件的態度會從無到有?
市場已經起了變化,而且與 2002 年的狀況與完全不同。如今每個人都正在使用或者已經適應了開源機制,而微軟當然也不例外。
也許更具說服力的現實在於,Rabellino 暗示微軟軟件已經不再能壟斷企業用戶日常運作的基本方式。很多企業開始從雲端環境中以服務方式獲得自己需要的軟件。微軟已經不再是全世界關注的唯一焦點,因此它需要通過合作來求生存、求發展。
雲端機制開始將工作流程直接交給用戶,因此流程之下的相關軟件開始變得不再像過去那樣重要,Rabellino 指出真正重要的只是開放 API。
微軟的業務在於賺取利潤,因此只要能夠從中找到能獲得盈利的戰略,那麼轉而走上開源軟件與開放道路也並非是什麼不可想像的狀況。這可能正是事情的真相所在——而且也極為正常,沒必要為此大驚小怪。
然而 Rabellino 同時堅稱,微軟所做的已經遠遠超越了開源機制盈利,並且成為一位在開源中卓越的參與者。我們的成就絕不僅僅局限於實施開源碼,真正的重點在於實行開源碼的途徑。我們並沒有隨便選擇一款軟件產品進行開源碼並把代碼共享給全世界。我們追求的是實際又有效的優質貢獻。
Rabellino 還解釋了微軟如何幫助技術人員將 Linux 引入 Azure,在他看來這才是走向開源的最佳方式。我們本來可以提供相關專有驅動程序,但實際上並非如此簡單,我們對這些驅動也進行了開源處理;與此同時,微軟以積極的態度幫助技術人員將 Hadoop 與 Node.js 分別引入 Windows 與 Azure 環境。
微軟“謙遜態度”引入了開放源碼機制?
那麼,微軟是不是真的從過去那位開放源碼天敵轉變成了開放源碼 Fans?
與十年前相比,微軟如今所推進的一切實在令人無法想像,如果大家審視 Hadoop 或者 Docker 這類開源項目(兩者都有微軟參與其中),就會發現它們正是過去微軟一直在著力對抗並以自家產品進行壓制的競爭對像。
為什麼現在微軟不再以面臨大敵的態度對待他們?
首先,微軟現在取更為謙遜的發展概念,他們已經意識到,自己不可能取代並壓倒一切,除此之外,微軟也承認像 Hadoop 這樣的項目能夠以更好的方式處理和對應任務,而技術業界在某種程度上更偏愛這樣的解決方案。Hadoop 如今可謂人氣爆棚,而且儘管微軟公司也在努力打造自己的技術機制、但還是可以以項目贊助的身份與 Hortonworks 展開了合作。微軟開始意識到,無論技術實力多麼強大、也存在着自己不夠力量的業務範圍。
微軟同時發現,針對特定目標的最佳解決方案是利用開源項目,而市場對於微軟的開源項目需求也能給其專有軟件業務帶來收益。微軟選擇的是那些能夠為自身帶來收益的開源項目。這個重點在於「努力借用人們熟悉的要素來引導 Windows 開發工作。」
要確保 Azure 能夠支援 Linux 則是微軟在改進自家雲端運算方面作出的又一次嘗試;與類似的例子還有將 Node.js 移植到 Azure 當中。
如果微軟無法擊倒開源機制,那麼加入其中會是更好的應對辦法 🙂
Gartner 公司研究事務副總裁 Mark Driver 表示,微軟積極參與開源中也屬於一種很正常的營運概念。「如果我們無法擊敗對手,那就加入對方。」他解釋道:開放式創新可以說是互聯網發展的動力,而開源正好在開放範圍扮演著基礎機制的角色。也就是說,如果我們不投身於其中,根本無法真正成為互聯網行業中的一分子。
Driver 同時指出,微軟的開放與互操作性能給流動操作系統 Windows Phone 帶來更為顯著的市場吸引力。Windows Phone 一直在努力擴大自身市場的數據,如果開發人員能夠隨意根據喜好利用開源碼軟件創建自己的 Windows Phone 應用,那麼這款流動操作系統可能會獲得更為廣泛支持,而這對於一款操作系統的成功可謂至關重要。
微軟至少可以邀請開源開發人員加入到 Windows 陣營當中,從而避免與 Android 對抗。因為先入為主的抗拒心然令其處於劣勢。
建立開放技術公司,同以往的反開放源碼劃清界線
最後一個值得探討的問題在於,為什麼微軟要建立開放技術公司這個單獨的組織?從表面上看這種做法實在有些奇怪,特別是考慮到微軟並沒有將所涉及的開放源項目交給開放技術公司負責。舉例來說,Hadoop 項目的事務就由微軟自己負責推進。
Driver 的理論是,這一切都要歸咎微軟原本在反開源當中積累了不少較差的名聲。微軟犯下的最大錯誤就是將 Linux 視為一種潛在威脅,並進而將所有開源軟件都劃分到了自己的對立面,他表示「現在事實已經充分證明,這些開源項目並沒有真正威脅到微軟的地位。」
根據 Driver 的意見,創立開放技術公司實際上是一種懷柔政策,希望借此緩和開源業界對微軟過去的敵視態度、並逐步改變在他們心中已經根深蒂固的惡劣形像。開放技術公司是微軟的非軍事區,在這裡我們能夠一步步去除反開源活動所遺留下來的歷史難題。