微軟真的擁抱開源了嗎?

微軟真的擁抱開源了嗎?

點擊右上方,關注開源中國OSC頭條號,獲取最新技術資訊

前幾天無意中看到一篇文章,標題是:Tutorial: Build a Java EE and Postgresweb app in Azure,看起來挺普通的,但是這個文章出現在微軟的網站上, 那就變得不尋常了。

Java 是 Sun 發明的語言, Java EE 是各大廠商一起搞的標準,為了對抗他們,微軟當年特地搞出了新語言 C# 和 .NET 戰略。

Postgres 是開源的數據庫,而微軟自己的產品就是大名鼎鼎的 SQL Server。

這微軟什麼時候開始擁抱開源了?

再仔細看看這個文章左邊欄,會發現它支持更多的編程語言和開源系統,更重要的是這樣的系統都跑著 Linux 上面!

微軟真的擁抱開源了嗎?

這樣的文章如果十年前出現在微軟的網站上,絕對會讓人驚掉下巴。

因為微軟的產品有個很重要的特點,那就是封閉

開發語言要用自家的 C#, VB.NET......

數據庫要用自家的 SQL Server。

操作系統要用自家的 Windows Server。

開發的系統要跑在自家的 IIS 上。

開發工具當然是號稱最好用的 IDE :Visual Studio。

封閉性是大家最詬病微軟的一點,也是微軟攻城拔寨的利器。

現在微軟推出了雲服務Azure,不管你什麼語言,什麼數據庫,什麼系統,都可以運行,還是基於Linux這個開源的操作系統。

當然,可能有人說,這是雲服務嘛,雲服務肯定不能只支持自己產品, 得支持各種語言和系統,這不算什麼。

我們再來看看另外一個例子:Visual Studio Code

微軟真的擁抱開源了嗎?

2016年,Visual Studio Code 在 Stack overflow 舉辦的調查中,位居最流行開發工具榜單的第13位, 僅僅有7.2%的人在用它,然而,在2018年的調查中,它就躥升到了第一位, 有34.9%的人在使用,也包括老劉我。

Visual Studio Code 是個完全免費、開源的產品, 它是不是用微軟自己的當家語言 C# 開發的呢? 答案是否定的。

Visual Studio Code 是基於 Electron 搞起來的,Electron 又什麼?

Electron 是 GitHub 維護的一個開源框架(又是開源的!),讓程序員可以開發跨平臺 (Windows、Linux、MacOS) 的桌面 GUI 程序, 對前端非常友好,因為在開發 GUI 時,使用的是 JavaScript、HTML 和 CSS 。

Electron 的後臺是大名鼎鼎的 Node.js ,還有 Chromium 這個 Google 發起的開源瀏覽器。

全是開源的,還有競爭對手 Google 發起和主導的產品。

如果對比下 Visual Studio 和 Visual Studio Code 這兩個產品的界面,就會發現差距挺大的, 這個 Visual Studio Code 更加“時尚”,它的默認界面風格,字體顏色,甚至於設置方式都更加接近其他一些開源的編輯器如 Sublime、Atom 。

我不知道 Visual Studio Code 是怎麼做技術選型的,但是能選擇開源的產品來開發,而不是沿用固有思維,使用自己的語言和平臺來開發一個只能在自家平臺運行的產品, 這肯定需要公司層面的巨大變革: 從封閉到開放,擁抱開源。

值得一提的是 Visual Studio Code 的 Erich Gamma 帶著團隊搞的,這可是一位絕對的大牛啊,設計模式 GoF(四人幫)之一, 和 Kent Beck 合寫了JUnit,Eclipse Java Development Tool 的架構師, IBM Jazz、RTC 的主要開發人員。

這麼多工作,隨便拿出來一個就足以名垂青史,他一個人竟然全乾了。

Erich Gamma 做的幾乎都是開源的工作, 他原來在 IBM,2011年跳槽到了微軟,這樣的人才 IBM 沒有留住,實在是可惜可嘆啊。

從另外一方面看,Erich Gamma 跳槽到微軟也反應了微軟確實在擁抱開源,要不然 Erich Gamma 估計也不會去。

2001年,微軟的 CEO Steve Ballmer 說: 從知識產權保護角度來看, Linux 就是毒瘤並且無可救藥

13年後,微軟的新 CEO 薩提亞 ∙ 納德拉在上任時,公開宣示了微軟對 Linux 和開源的新感情, 當時我看到這個新聞,我還給同事信誓旦旦地說:微軟要開源?絕對不可能! 這就是市場口號而已!

現在看來被打臉了,微軟的確付出了真愛, 從程序員的角度看:

  • SQL Server 已經跑在 Linux 上
  • Visual Studio Code 被廣泛採用
  • TypeScript被 Google 採用,作為 Angular 的編程語言
  • NET Core 開源,實現了跨平臺運行
  • Windows 原生支持 Ubuntu Linux Bash
  • ......

微軟2016年是 GitHub 上貢獻最多的公司,2018年乾脆把 GitHub 給收購了,這也引起了不少爭議...... 這家公司確實是變了。

那麼問題來了: 微軟會不會把 Windows 和 Office 給開源了呢?

↓↓↓


分享到:


相關文章: