微軟和 Linux :真正的浪漫還是有毒的愛情?

linux.cn發表於2016-04-06

時不時的我們會讀到一個能讓你喝咖啡嗆到或者把熱拿鐵噴到你顯示器上的新聞故事。微軟最近宣佈的對 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 的初期階段。微軟會通過定製擴充套件和專有“標準”來分裂社群嗎?

發表評論吧,讓我們知道你是怎麼想的。

相關文章