時不時的我們會讀到一個能讓你喝咖啡嗆到或者把熱拿鐵噴到你顯示器上的新聞故事。微軟最近宣布的對 Linux 的鐘愛就是這樣一個鮮明的例子。
從常識來講,微軟和自由開源軟件(FOSS)運動就是恒久的敵人。在很多人眼里,微軟體現了過分的貪婪,而這正為自由開源軟件運動(FOSS)所拒絕。另外,之前微軟就已經給自由開源軟件社區貼上了"一伙強盜"的標簽。
我們能夠理解為什么微軟一直以來都害怕免費的操作系統。免費操作系統結合挑戰微軟核心產品線的開源應用時,就威脅到了微軟在臺式機和筆記本電腦市場的控制地位。
盡管微軟有對在臺式機主導地位的擔憂,在網絡服務器市場 Linux 卻有著最高的影響力。今天,大多數的服務器都是 Linux 系統。包括世界上最繁忙的站點服務器。對微軟來說,看到這么多無法裝到兜里的許可證的營收一定是非常痛苦的。
掌上設備是微軟輸給自由軟件的另一個領域。曾幾何時,微軟的 Windows CE 和 Pocket PC 操作系統走在移動計算的前沿。Windows PDA 設備是最閃亮的和豪華的產品。但是這一切在蘋果公司發布了iPhone之后都結束了。從那時起,安卓就開始進入公眾視野,Windows 的移動產品開始被忽略被遺忘。而安卓平臺是建立在自由開源的組件的基礎上的。
由于安卓平臺的開放性,安卓的市場份額在迅速擴大。不像 IOS,任何一個手機制造商都可以發布安卓手機。也不像Windows 手機,安卓沒有許可費用。這對消費者來說是件好事。這也導致了許多強大卻又價格低廉的手機制造商在世界各地涌現。這非常明確的證明了自由開源軟件(FOSS)的價值。
在服務器和移動計算的角逐中失利對微軟來說是非常慘重的損失。考慮一下服務器和移動計算這兩個加起來所占有的市場大小,臺式機市場似乎是死水一潭。沒有人喜歡失敗,尤其是涉及到金錢。并且,微軟確實有許多東西正在慢慢失去。你可能期望著微軟自嘗苦果。在過去,確實如此。
微軟使用了各種可以支配的手段來對 Linux 和自由開源軟件(FOSS)進行反擊,從宣傳到專利威脅。盡管這種攻擊確實減慢了適配 Linux 的步伐,但卻從來沒有讓 Linux 的腳步停下。
所以,當微軟在開源大會和重大事件上拿出印有“Microsoft Loves Linux”的T恤和徽章時,請原諒我們表現出來的震驚。這是真的嗎?微軟真的愛 Linux ?
當然,公關的口號和免費的T恤并不代表真理。行動勝于雄辯。當你思考一下微軟的行動時,微軟的立場就變得有點模棱兩可了。
一方面,微軟招募了幾百名 Linux 開發者和系統管理員。將 .NET 核心框架作為一個開源的項目進行了發布,并提供了跨平臺的支持(這樣 .NET 就可以跑在 OS X 和 Linux 上了)。并且,微軟與 Linux 公司合作把最流行的發行版本放到了 Azure 平臺上。事實上,微軟已經走的如此之遠以至于要為 Azure 數據中心開發自己的 Linux 發行版了。
另一方面,微軟繼續直接通過法律或者傀儡公司來對開源項目進行攻擊。很明顯,微軟在與自由軟件的所有權較量上并沒有發自內心的進行大的道德轉變。那為什么要公開申明對 Linux 的鐘愛之情呢?
一個顯而易見的事實:微軟是一個經營性實體。對股東來說是一個投資工具,對雇員來說是收入來源。微軟所做的只有一個終極目標:盈利。微軟并沒有表現出來愛或者恨(盡管這是一個最常見的指控)。
所以問題不應該是"微軟真的愛 Linux 嗎?"相反,我們應該問,微軟是怎么從這一切中獲利的。
讓我們以 .NET 核心框架的開源發行為例。這一舉動使得 .NET 的運行時環境移植到任何平臺都很輕松。這使得微軟的 .NET 框架所涉及到的范圍遠遠大于 Windows 平臺。
開放 .NET 的核心包,最終使得 .NET 開發者開發跨平臺的 APP 成為可能,比如 OS X、Linux 甚至安卓——都基于同一個核心代碼庫。
從開發者角度來講,這使得 .NET 框架比之前更有吸引力了。能夠從單一的代碼庫觸及到多個平臺,使得使用 .NET 框架開發的任何 APP 戲劇性的擴大了潛在的目標市場。
另外,一個強大的開源社區能夠提供給開發者一些代碼來在他們自己的項目中進行復用。所以,開源項目的可利用性也將會成就 .NET 框架。
更進一步講,開放 .NET 的核心代碼能夠減少跨越不同平臺所產生的碎片,意味著對消費者來說有對 APP 更廣的選擇。無論是開源軟件還是專用的 APP,都有更多的選擇。
從微軟的角度來講,會得到一隊開發者大軍。微軟可以通過銷售培訓、證書、技術支持、開發者工具(包括 Visual Studio)和應用擴展來獲利。
我們應該自問的是,這對自由軟件社區有利還是有弊?
.NET 框架的大范圍適用意味著許多參與競爭的開源項目的消亡,迫使我們會跟著微軟的節奏走下去。
先拋開 .NET 不談,微軟正在花費大量的精力在 Azure 云計算平臺對 Linux 的支持上。要記得,Azure 最初是 Windows 的 Azure。Windows 服務器是唯一能夠支持 Azure 的操作系統。今天,Azure 也提供了對多個 Linux 發行版的支持。
關于此,有一個原因:付費給需要或者想要 Linux 服務的顧客。如果微軟不提供 Linux 虛擬機,那些顧客就會跟別人合作了。
看上去好像是微軟意識到“Linux 就在這里”的這樣一個現實。微軟不能真正的消滅它,所以必須接收它。
這又把我們帶回到那個問題:關于微軟和 Linux 為什么有這么多的流言?我們在談論這個問題,因為微軟希望我們思考這個問題。畢竟,所有這些談資都會追溯到微軟,不管是在新聞稿、博客還是會議上的公開聲明。微軟在努力吸引大家對其在 Linux 專業知識方面的注意力。
首席架構師 Kamala Subramaniam 的博文聲明 Azure Cloud Switch 背后的其他企圖會是什么?ACS 是一個定制的 Linux 發行版。微軟用它來對 Azure 數據中心的交換機硬件進行自動配置。
ACS 不是公開的。它是用于 Azure 內部使用的。別人也不太可能找到這個發行版其他的用途。事實上,Subramaniam 在她的博文中也表述了同樣的觀點。
所以,微軟不會通過賣 ACS 來獲利,也不會通過贈送它而增加用戶基數。相反,微軟在 Linux 和 Azure 上花費精力,以加強其在 Linux 云計算平臺方面的地位。
微軟最近迷上 Linux 對社區來說是好消息嗎?
我們不應該慢慢忘記微軟的“擁抱、擴展、消滅Embrace,Extend and Exterminate”的詛咒。現在,微軟處在擁抱 Linux 的初期階段。微軟會通過定制擴展和專有“標準”來分裂社區嗎?