微软真的拥抱开源了吗? 

来源: 投稿
作者: 王练
2019-01-08 08:04:22

本文转自:码农翻身  作者:刘欣

前几天无意中看到一篇文章,标题是: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 给开源了呢?

展开阅读全文
点击加入讨论🔥(25) 发布并加入讨论🔥
25 评论
19 收藏
分享
返回顶部
顶部