![](https://hfnxjk.com/statics/images/logo.png)
你時不時會看到給咖啡嗆住或者將熱牛奶咖啡噴濺到顯示器上的新聞故事。微軟最近宣稱愛慕Linux無疑是這樣一則故事的絕佳例子。
按常理來說,微軟和自由開源軟件(FOSS)潮流應該是永久的敵人。在許多人看來,微軟就是貪婪過度的化身,而自由軟件運動對此說不。此外,微軟之前曾抨擊Linux是癌癥,抨擊FOSS社區是“一伙盜賊”。
我們可以理解為什么微軟一直害怕自由操作系統。倘若結合挑戰微軟核心產品線的開源應用程序,這威脅到了微軟在臺式機/筆記本電腦市場的霸主地位。
盡管微軟擔心其在臺式機市場的霸主地位難保,Web服務器市場卻是Linux已經帶來最大影響的領域之一。如今,大多數Web服務器是Linux系統。這包括大多數世界上最繁忙的網站。對微軟來說,看到這么多無人認領的許可收入準是無比痛苦。
手持設備是微軟在自由軟件面前節節敗退的另一個領域。曾幾何時,微軟的Windows CE和Pocket PC兩大操作系統處在移動計算的最前沿。想當初,基于Windows的個人數字助理(PDA)設備也算是市面上風光無限的設備。而這一切隨著蘋果發布iPhone后戛然而止。自那以后,安卓備受矚目,而Windows Mobile基本上遭到了忽視和遺忘。安卓平臺正是立足于自由開源組件。
安卓市場份額迅速擴大是由于這個平臺具有開放性。不像iOS,任何手機制造商都可以發布安卓手機。而且不像Windows Mobile,安卓沒有許可費。這對廣大消費者來說確實是好消息。這導致全球各地的制造商紛紛推出眾多功能強大、價格低廉的手機。這明確無誤地證明了FOSS軟件的價值。
輸掉Web和移動計算這場戰爭對微軟來說是慘痛的損失。如果你考慮一下這兩個市場加起來的規模,臺式機市場簡直如同一潭死水。沒人喜歡輸,尤其是關系到錢的時候。而微軟確實輸得一敗涂地。你可能會覺得微軟對此很是憤懣。在過去,微軟確實這樣。
微軟反擊Linux和FOSS時派得上用場的每件武器都用上了,從宣傳到專利威脅,不一而足;雖然這些攻擊減慢了大眾采用Linux的節奏,但微軟還是未能阻止Linux的步伐。
于是,當微軟開始在各種開源會議和活動上派發印有“微軟喜歡Linux”的T恤和徽章時,也就不難理解了。問題是,微軟果真鐘愛Linux呢?
當然,公關口號和免費T恤并不與真相劃等號。行動比話語更有說服力。如果你考慮一下微軟的種種行動,就會發現微軟的立場多了幾分曖昧。
一方面,微軟在招募數百名Linux開發員和系統管理員。它將其.NET Core框架作為跨平臺支持的開源項目來發布(那樣.NET應用程序可以在OS X和Linux上運行)。另外,它在與諸多Linux公司合作,將流行的發行版引入到其Azure平臺上。實際上,微軟甚至為其Azure數據中心開發了自己的Linux發行版。
另一方面,微軟繼續直接或通過傀儡公司,對開源項目發動法律攻擊。很顯然,對于專有軟件與自由軟件,微軟內心深處并沒有發生重大變化,那么為何公開宣布愛慕開源呢?
不言自明,微軟是一家營利性公司。它對股東們來說是一個投資工具,對員工們來說是收入來源。它所做的一切只有一個終極目標:營業收入。微軟的行動并不出于愛慕或者甚至出于討厭(不過討厭開源是常見的 指責)。
所以,問題不應該是“微軟是否真的愛慕Linux?”恰恰相反,我們應該問微軟準備如何從這一切中獲利。
我們不妨以.NET Core的開源版本為例。此舉讓人們很容易將.NET運行時環境移植到任何平臺。這擴大了微軟的.NET框架的覆蓋范圍,而不僅僅囿于Windows平臺。
開放.NET Core最終有望讓廣大.NET開發員可以針對OS X、Linux、iOS,甚至針對安卓開發跨平臺的應用程序,完全借助單一的代碼庫。
從開發員的角度看,這使得.NET框架比以前更具有吸引力。能夠通過單一的代碼庫覆蓋許多平臺,顯著擴大了使用.NET框架開發的任何應用程序的潛在目標市場。
此外,一個強大的開源社區將為開發員提供可以在自己的項目中重復使用的眾多代碼。因此,眾多開源項目的存在將造就.NET框架。
從好的方面來看,開放.NET Core減少了跨不同平臺的碎片化現象,意味著對消費者來說應用程序方面的選擇更廣泛。這意味著更多的選擇,無論在開源軟件,還是在專有應用程序方面。
從微軟的角度來看,這將獲得一大批開發員。微軟可通過眾多途徑來獲得利潤:銷售培訓、認證、技術支持、開發工具(包括Visual Studio)以及專有擴展件。
我們應該問自己的一個問題是,這對自由軟件社區有益還是有害?
.NET框架廣泛采用可能意味著與之競爭的開源項目最終消亡,迫使我們都跟著微軟的指揮棒轉。
除了.NET外,微軟在其Azure云計算平臺上支持Linux備受關注。請記住,Azure原本是Windows Azure。那是由于Windows Server曾是唯一得到支持的操作系統。而如今,Azure還支持許多Linux發行版。
有一個原因可以解釋這點:為了獲得需要和想要Linux服務的付費客戶。如果微軟不提供Linux虛擬機,那些客戶就會選擇其他廠商。
看來微軟清醒地意識到了這個事實:Linux已得到了人們的接受。既然微軟無法徹底消滅它,那就只好擁抱它。
這讓我們回到了這個問題:為何有那么大的動靜是關于微軟和Linux的。我們都在談論它,因為微軟希望我們想到它。畢竟,所有這些故事都可以追溯到微軟,無論通過新聞稿、博客文章還是會議上的公開聲明。這家公司正在不遺余力地讓大家注意它在Linux方面的專長。
微軟首席架構師Kamala Subramaniam宣布Azure云交換機(Azure Cloud Switch)的博文背后可能還有什么目的?ACS是一種自定義的Linux發行版,微軟用它來自動配置其Azure數據中心的交換機硬件。
ACS并非對外公開發布。它用于在Azure數據中心內部使用,別人也不太可能找到使用它的場合。實際上,Subramaniam在博客中聲明了同樣的這一點。
所以,微軟不會通過銷售ACS賺到任何錢,也不會通過贈送ACS來吸引用戶群。相反,微軟在想方設法讓人們注意Linux和Azure,加強其作為Linux云計算平臺的地位。
微軟最近喜歡上Linux對開源社區來說是好消息嗎?
我們不應該忘了微軟的口頭禪:擁抱、擴展和消滅(Embrace,Extend and Exterminate)。眼下,微軟正處于擁抱Linux的早期階段。微軟會不會通過自定義擴展件和專有“標準”來竭力分裂開源社區呢?讓時間來給出答案吧!
原文標題:Microsoft and Linux: True Romance or Toxic Love?