前幾天無意中看到壹篇文章,標題是: 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 和開源的新感情, 當時我看到這個新聞,我還給同事信誓旦旦地說:微軟要開源?絕對不可能! 這就是市場口號而已!
現在看來被打臉了,微軟的確付出了真愛, 從程序員的角度看:
微軟2016年是 GitHub 上貢獻最多的公司,2018年幹脆把 GitHub 給收購了,這也引起了不少爭議...... 這家公司確實是變了。
那麽問題來了: 微軟會不會把 Windows 和 Office 給開源了呢?
↓↓↓