微軟真的擁抱開源了嗎?
前幾天無意中看到一篇文章,標(biāo)題是:Tutorial: Build a Java EE and Postgresweb app in Azure,看起來挺普通的,但是這個文章出現(xiàn)在微軟的網(wǎng)站上, 那就變得不尋常了。
Java 是Sun發(fā)明的語言, Java EE是各大廠商一起搞的標(biāo)準(zhǔn),為了對抗他們,微軟當(dāng)年特地搞出了新語言C#和.NET戰(zhàn)略。
Postgres是開源的數(shù)據(jù)庫,而微軟自己的產(chǎn)品就是大名鼎鼎的SQL Server。
這微軟什么時候開始擁抱開源了?
再仔細(xì)看看這個文章左邊欄,會發(fā)現(xiàn)它支持更多的編程語言和開源系統(tǒng),更重要的是這樣的系統(tǒng)都跑著Linux 上面!
這樣的文章如果十年前出現(xiàn)在微軟的網(wǎng)站上,絕對會讓人驚掉下巴。
因為微軟的產(chǎn)品有個很重要的特點,那就是封閉:
開發(fā)語言要用自家的C#, VB.NET......
數(shù)據(jù)庫要用自家的SQL Server。
操作系統(tǒng)要用自家的Windows Server。
開發(fā)的系統(tǒng)要跑在自家的IIS上。
開發(fā)工具當(dāng)然是號稱***用的IDE :Visual Studio。
封閉性是大家最詬病微軟的一點,也是微軟攻城拔寨的利器。
現(xiàn)在微軟推出了云服務(wù)Azure,不管你什么語言,什么數(shù)據(jù)庫,什么系統(tǒng),都可以運行,還是基于Linux這個開源的操作系統(tǒng)。
當(dāng)然,可能有人說,這是云服務(wù)嘛,云服務(wù)肯定不能只支持自己產(chǎn)品, 得支持各種語言和系統(tǒng),這不算什么。
我們再來看看另外一個例子:Visual Studio Code 。
2016年,Visual Studio Code在Stack overflow舉辦的調(diào)查中,位居***開發(fā)工具榜單的第13位, 僅僅有7.2%的人在用它,然而,在2018年的調(diào)查中,它就躥升到了***位, 有34.9%的人在使用,也包括老劉我。
Visual Studio Code是個完全免費、開源的產(chǎn)品, 它是不是用微軟自己的當(dāng)家語言C#開發(fā)的呢? 答案是否定的。
Visual Studio Code是基于Electron搞起來的,Electron又什么?
Electron 是GitHub維護的一個開源框架(又是開源的!),讓程序員可以開發(fā)跨平臺(Windows,Linux,MacOS) 的桌面GUI程序, 對前端非常友好,因為在開發(fā)GUI時,使用的是JavaScript,HTML和CSS。
Electron 的后臺是大名鼎鼎的Node.js,還有Chromium這個Google發(fā)起的開源瀏覽器。
全是開源的,還有競爭對手Google發(fā)起和主導(dǎo)的產(chǎn)品。
如果對比下Visual Studio和Visual Studio Code這兩個產(chǎn)品的界面,就會發(fā)現(xiàn)差距挺大的, 這個Visual Studio Code更加“時尚”,它的默認(rèn)界面風(fēng)格,字體顏色,甚至于設(shè)置方式都更加接近其他一些開源的編輯器如Sublime, Atom。
我不知道Visual Studio Code是怎么做技術(shù)選型的,但是能選擇開源的產(chǎn)品來開發(fā),而不是沿用固有思維,使用自己的語言和平臺來開發(fā)一個只能在自家平臺運行的產(chǎn)品,這肯定需要公司層面的巨大變革: 從封閉到開放,擁抱開源。
值得一提的是Visual Studio Code的Erich Gamma帶著團隊搞的,這可是一位絕對的大牛啊,設(shè)計模式GoF(四人幫)之一, 和Kent Beck 合寫了JUnit,Eclipse Java Development Tool的架構(gòu)師, IBM Jazz, RTC 的主要開發(fā)人員。
這么多工作,隨便拿出來一個就足以名垂青史,他一個人竟然全干了。
Erich Gamma 做的幾乎都是開源的工作, 他原來在IBM,2011年跳槽到了微軟,這樣的人才IBM沒有留住,實在是可惜可嘆啊。
從另外一方面看,Erich Gamma跳槽到微軟也反應(yīng)了微軟確實在擁抱開源,要不然Erich Gamma估計也不會去。
2001年,微軟的CEO Steve Ballmer 說: 從知識產(chǎn)權(quán)保護角度來看, Linux 就是毒瘤并且無可救藥。
13年后,微軟的新CEO薩提亞 ∙ 納德拉在上任時,公開宣示了微軟對 Linux 和開源的新感情, 當(dāng)時我看到這個新聞,我還給同事信誓旦旦地說:微軟要開源?絕對不可能! 這就是市場口號而已!
現(xiàn)在看來被打臉了,微軟的確付出了真愛, 從程序員的角度看:
SQL Server 已經(jīng)跑在Linux上
Visual Studio Code被廣泛采用
TypeScript被Google采用,作為Angular的編程語言。 .
NET Core開源,實現(xiàn)了跨平臺運行
Windows原生支持 Ubuntu Linux Bash......
微軟2016年是GitHub上貢獻(xiàn)最多的公司,2018年干脆把GitHub給收購了,這也引起了不少爭議...... 這家公司確實是變了。
那么問題來了: 微軟會不會把Windows和Office 給開源了呢?
【本文為51CTO專欄作者“劉欣”的原創(chuàng)稿件,轉(zhuǎn)載請通過作者微信公眾號coderising獲取授權(quán)】