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