我的直觉告诉我微软将在1-2年内开源 Windows。这是一种很明显的趋势,不是吗?但是我也在想这将会带来怎样的结果。
为什么这一定要有什么意义呢?Windows 不是一直都是微软的一颗宝石吗?几十年来不一直是他们的主要现金来源吗?鲍勃,在想什么呢?究竟为什么他们将会这样做?
自90年代以来,世界已经改变了,微软作为一个公司,在过去的几年,也已经真正的改变,如同 Scott Hanselman 在他的“ Microsoft Killed My Pappy ”一文中所表达的。微软在过去的一两年里采取的行动,已经很明显的表明他们意识到在 Windows 上提供微软的软件和服务没有任何意义了。回到 Window PC 在城里只是个游戏的时候,这种强制性的捆绑业务有点商业苗头,尽管这从来不是一个“好”的方法。从桌面到平板,手机、网页,伴随着眼球到指尖的转变,企业想要有任何商业上的成功,他们的软件和服务必须成为到处有效可利用的。如果你不是在安卓、IOS、和网络上可利用,那你就已经死了。
微软的未来业务都将集中在 Azure、Office 365 和网上 Visual Studio,还有类似的服务上。可以从你喜欢的任意本地设备和操作系统上,使用我们的数据中心,使用我们的SaaS产品。
这就意味着 Windows 死亡了吗?事实远非如此。由于桌面和业务场景,Windows 仍然占主导。OSX 也在努力的需找进入商业的方法,但是 Windows 在未来的数十年内仍将存在。不过,总体趋势是操作系统将成为商品货物,没有人愿意为它们买单。它们的存在只是因为人们需要它们,并不是人们十分的想要它们。大多数人们日常使用的操作系统仅仅只是作为一个浏览器和应用程序的容器存在。人们真的不会在操作系统本身做太多功夫。它只是一种带有全局设置对话框的东西。
微软正在接纳 Linux、IOS、和 Android。他们不得不这样子。所以离开了 Windows,微软就成为一个进入微软软件和服务生态系统的路径。没有人愿意为操作系统买单,所以 微软并没有真正的从 Windows 10 上收取任何钱 ,这不是也是等同于开源。
Windows 可能的开源之路是什么样子呢?我认为会和 .NET 的开源差不多。微软为什么要开源 .NET? 这和他们开源 Windows 的原因一样:这一层必须成为商品,因此开源,社区友好的开发更靠谱。
.Net 框架的内容繁多,而我深信 Windows 的内容会更加庞大和恐怖,并不容易上手。系统编译和支持工具将毫无疑问将会引用和依赖在数量惊人的,但目前还未对外开放的微软内部系统里面。那么你怎么办?你一步步来,发布一些更容易管理的子集,以此为基础壮大,就像 .NET 核心开源那样。
哪些将会是 Windows 开源的核心?我认为这里有两个备选项:
Windows 移动设备端
Windows 服务器版16:“Pico"
两者的规模较小且更容易管理,他们没有界面层,只专注于进程,线程,驱动等,她们总体上将类似于 Linux 的 Kernel,当然,在版本控制上将会做得更多,但至少可追踪。
也许也直接使用和 .NET 核心开源一样的方法?在开源核心之上重构一层”包”那样的模式,把所有操作系统的上层模块转换为 Windows 应用商城里面的组件来交付,这也许在例如用户界面这样的底层组件上行不通,因此你采用两层的开源方案:Windows 核心+用户界面。
微软手机业务 最近的调整 也指向同一方向。 不将 Windows 变成普通商品,Windows 手机就没有闪光点。当安卓和 iOS 的应用生态圈和网络效应已经风生水起,你为什么要去买一台 Windows 手机?微软在 为安卓和 iOS 应用迁移到 Windows10 提供一条路 上认识到了这一点。这时候 WIndows 手机变得和Google Nexus 类似。一个参考/研究平台也许能卖出一部分设备,这也许值得刷存在感,但是这不能成为你的支柱业务。
所以在接下来的12-24月里面我们会看到如下的开源:
Windows 核心(首先物联网,然后服务器2016 Pico)
Windows 核心+用户界面(首先是手机和平板,然后是桌面)
接触到包含所有的开源 Windows 那应该是2016年终的时候,或者2017年初到年中。
根据”连线“杂志文章: 开源已是必选项,甚至对于苹果 ,甚至微软,甚至 Windows。
也许并不,我们很快就会知道。