微軟為何鐘情開源技術?
開源應用程序自動部署引擎Docker將在本周公布1.0版本,看似與開源軟件勢不兩立的微軟和Rackspace 、IBM、谷歌、Canonical、Red Hat等公司一樣,都是這款開源軟件的功勛之臣。據ZDnet報道,Docker使用整合包(containers)替代虛擬機,能讓多款應用程序同時在一個服務器上運行,讓開發者和系統管理員輕松地部署分布式應用程序。
擁有豐富軟件技術寶庫的微軟,為這款開源軟件貢獻了諸多微軟技術,測試人員已經能在Linux虛擬機中運行預覽版的Docker on Azure。 但在本周的DockerCon show上,微軟代表將使用Azure虛擬機擴展軟件把Docker部署到Linux虛擬機之中。在Azure上運行時,Docker集成了跨平臺的 Azure CLI工具套件,并讓用戶更簡便地登陸到Docker on Azure。
微軟開源技術的發展
Docker僅僅是微軟力挺開源技術的最新案例,他們對開源技術的熱衷要從2006年微軟開放源技術中心(OSTC)成立開始談起。在此之前,微軟和Linux幾乎是勢不兩立的。微軟第二任CEO鮑爾默曾在2001年把Linux稱作惡性腫瘤,2007年夏天的時候微軟還指責Linux侵犯了微軟的235項專利,暗示將索要授權費。
與此同時,微軟內部關于開源軟件的討論開始出現變化。在首席開源戰略師薩姆·拉姆齊、微軟開源先驅比爾·希爾夫(Bill Hilf)等人的積極推動下,蓋茨在公司內部會議上表達了對微軟擁抱開源的支持,隨后微軟開源技術中心就此誕生。
微軟在開源技術上的努力很快有了成果,2007年他們首次破天荒地向Linux貢獻了3個驅動程序,2萬行源代碼,引發業內強烈關注。這3個驅動程 序主要改進了Linux運行在微軟虛擬環境Hyper-V的支持,同年微軟加入了總部位于美國加州的開源組織Open Source Initiative(OSI)。
隨著對開源技術支持力度的不斷加大,2012年微軟開放技術開始獨立運營,成立了微軟開放技術公司(Microsoft Open Technologies)。同年,微軟對Linux源代碼貢獻終于擠進前20強,排在Red Hat、谷歌、IBM、英特爾等公司之后,殊為難能可貴。
2014年1月,微軟開放技術公司全資子公司——微軟開放技術(上海)有限公司正式成立,再次擴大了微軟開放技術版圖。
微軟開放技術成果
獨立運營的微軟開放技術公司已經取得很多成果,微軟已經宣布將Node.js和Hadoop等Linux技術移植到Windows。他們還陸續開放 ASP.NET、MVC、Web API、Entity Framework、SignalR、VS Web Essentials、Azure SDK等一系列微軟技術的源代碼。Build 2014大會上,微軟宣布開放.Net編譯器Roslyn及WinJS源代碼,并成立.Net Foundation基金會開源更多.Net組件和代碼庫。
除以上開源技術外,微軟還和各大開源社區DMTF, ISO, OASIS, W3C在開發開源云計算的標準(如 OData, AMQP, WS-Management 及OVF )方面展開深入合作,保證這些技術在Windows Azure云計算平臺上的高效率運用。
此外,微軟還與國際標準化制定機構W3C’s HTML、IETF’s HTTPBis、Ecma 推動行業技術標準的制定,在WebRTC、HTTP/2.0、W3C 網絡平臺文檔等諸多標準化技術領域作出了一系列貢獻。
同時,為幫助微軟Widows 8和Windows Phone平臺生態系統的發展,他們積極推動PhoneGap (即 Apache Cordova) jQuery Mobile、Sencha Touch、SQLite 和 SharpDX等等開源和跨平臺工具在Windows Phone的應用開發,為JQuery支持Windows應用商店提供技術支持等等。
(也許有人會想起,微軟一直在向Android設備制造商收取授權費。實際上Android一直被谷歌公司牢牢掌握,據 VisionMobile 2011年發布的報告,Android開放程度僅有23%,遠不及同期Symbian的58%和Linux的71%。同時,收 取授權費與否和支持開源技術并無太大關系)
微軟為何鐘情開放技術
與非營利機構不同,企業是以盈利為目的的。在納斯達克上市的微軟公司,更有必要向每位投資者負責,為股東帶來更多投資回報。投資于開放技術無法獲取直接經濟收益,卻能給微軟帶來間接回報。
微軟開放技術公司的宗旨是成為溝通微軟技術與非微軟技術的橋梁。
微軟云計算平臺Azure是微軟技術與非微軟技術最大、最重要的聚集地,微軟允許用戶在Azure上通過虛擬機運行Linux操作系統,使用 Oracle 數據庫和中間件,使用非Windows開發工具Java、Ruby、PHP和Python。把微軟帶進開放技術世界的比爾·希爾夫,就曾擔任微軟云計算平 臺產品總經理。微軟云計算業務現掌門人斯科特·古斯里,同樣是位開放技術的倡導者。微軟在開放技術領域作出的許多努力,例如本文開頭的Docker軟件, 都為Azure更好服務使用非微軟技術的客戶,占領更廣闊的市場份額,作出了很大貢獻。
除Azure外,Windows、Windows Phone等微軟生態系統經常需要開源技術如Linux的支持,如微軟為Linux首次貢獻的2萬行源代碼主要是為Linux運行于微軟虛擬化產品 Hyper-V提供支持。同時微軟大力擁抱開源技術,可以博得大批開源技術開發者的歡心,讓他們有機會為微軟技術生態系統貢獻力量。
為了在行業技術標準上獲得足夠話語權,微軟有必要參與到行業技術標準的制定中來。在開放的行業技術標準中加入微軟貢獻的技術,可以幫助微軟產品如IE瀏覽器更好地與競爭對手產品展開競爭,其重要性不言而喻。
微軟始終保持著全球最大軟件公司的霸主地位,在計算機軟件產業中擁有巨大影響力。即便如此,大量非微軟技術,尤其是開源技術在計算機產業內依然扮演 著不容忽視的重要作用。微軟擁抱非微軟技術,溝通微軟技術與非微軟技術,符合微軟、其他軟件公司或組織、開發者、用戶等所有產業內參與者的利益。
來自: WPDang