2014年,微软首次发行.NET Core以及其源代码,但是微软之前的版本只能用于测试。今天是微软第一次官方支持使用Linux和OS X(Windows的两大竞争对手)的现实操作平台。Linux主要供应商之一Red Hat也宣布:其将在Red Hat Enterprise Linux操作系统上官方支持.NET。
这些都意味着微软内部发生了重大的改变,同时整个软件行业也发生了改变。在过去的10年中,从谷歌到Facebook,再到Twitter,全球商业科技公司越来越多地使用Linux和其他的开源软件,来建立它们的网上服务和其他的科技。因此,IT供应商也越来越接近开源状态,而微软就是主要供应商之一。为了完成目标,微软必须确保.NET处于开源状态,同时其他重要的微软IT工具可以在所有的操作系统上运行,这就包括Linux。
微软在.NET上大做文章时,它同时还发行了能够运行Linux的SQL服务器数据库软件。数据库本身并不开源,但是这是微软第一次为Linux提供产品。先前,微软只支持在自家的操作系统上运行软件。这说明,世界在改变,微软也随之在改变。
微软开放部分.NET环境已有数年了。2009年,其开始了首个程序框架,名为ASP.NET MVC 。微软也帮助几个重要的开源软件(包括数据处理平台Hadoop以及代码工具Node.js)移植到Windows平台。但是即使是其在宣布在Azure云端服务器上支持Linux之后,微软仍然没有为Linux操作系统书写过多的软件。微软能帮你做的,就是运行Linux系统,但是要使用Linux平台的软件,就得靠自己了。
2014年,这种状况开始改变:微软宣布不仅对.NET中心开源,还会将之移植到Linux和OS X上。然后在今年年初,微软收购了一家叫做 Xamarin的公司,后者长期帮助开发者使用.NET技术来为更加广泛的平台(包括Linux以及Android、iOS等操作系统)建立软件。
微软的动机
微软此次支持Linux并开源软件的动机并不是毫无私心的。其实,这对于微软的生存至关重要。在过去的几年中,Linux在网络服务器市场上挤掉了Windows服务器,开发者蜂拥而至去开源程序语言,以及如Ruby on Rails、Python和谷歌的Go language等框架来建立下一代应用。微软开发者部门副主席Julia Liuson表示:她的团队害怕微软在将来会威风不再。“如果你问开发者,他们会对Visual Studio给予高度评价,但是我们必须与时俱进,才能在风起云涌的市场中立于不败之地。”
而要赢得竞争的方式是显而易见的:开源。因此,Liuson和她的同事们现在正在努力让.NET变得更加开放,让它不仅能够在Windows平台上运行,还能在任何开发者想要使用的平台上运行。
对Windows的威胁?
Liuson表示她们并不担心开源.NET将会减少Windows通行证的销售量,因为开发者并不会一开始就考虑使用Windows。但是现在,他们也许将会考虑微软 Visual Studio和Xamarin产品,或者使用Azure云端服务,来取代亚马逊和谷歌的服务。
据悉,来自 1300 家企业的超过 18000 名开发人员参与了.NET Core 1.0 的贡献工作,微软方面表示,其同时指出这一新版本还包含.NET 标准库,旨在帮助开发人员更轻松地 “复用其编写的运行在服务器、云端、桌面乃至包括 Windows、iOS 与 Android 在内的各类设备上的应用程序时,所使用的代码与技能。”
Illyriad Games负责人 James Niesewand表示微软的此次开源将会方便他们直接修复问题,这样一来,他们再也不用花很长世间等待微软来修复,也不用在出问题时从头开始写程序。
他表示:“三年前,如果我们发现了.NET问题,我们会撰写一份问题报告,然后呈递给微软。几周后,我们会收到回复表示微软已承认此问题;但是也许是在一年之后,微软才会真正修复此问题。而现在,我们可以直接自己修复问题,然后由微软批准,这个过程只需数小时,大大节省了时间。”
微软从此次开源中获益颇多。微软在其自己的云端服务器中使用.NET,因此,从理论上讲,从Illyriad和其他开发者平台上做出的完善,到头来也会促进微软的发展。这和Facebook和谷歌开发和发展软件的方式如出一辙。如果一个非Facebook开发者发现了如何加快Facebook开发框架反应的方法,那么应用将变得更加快捷灵敏,任何人(包括Facebook用户)都将从中获益。如果一位研究AI的学者发现了促进谷歌AI框架 TensorFlow发展的方法,那么研究者将获得更好的工具,谷歌也将会在AI方面更进一步。
而现在,微软也加入到了这种发展方式中来。至于其之后的发展,我们拭目以待。
本文转自d1net(转载)