微软作为一个白金会员加入了Linux 基金会,继续向开放源码进军。
John Gossman 是微软 Azure 团队的首席架构师,也是 Linux 基金会董事会成员。InfoQ 采访了他。
InfoQ:让我们从头开始探讨。在过去的几年里,我们都看到了微软在开源方面的巨大转变。一个重要的里程碑是微软作为白金赞助商和董事会成员加入了 Linux 基金会。加入 Linux 基金会的主要目标是什么?
John Gossman:我们战略的一个核心部分是为客户使用他们知道和喜爱的工具和平台工作提供便利。我们的开源之旅早在 2004 年就开始了,作为白金会员加入 Linux 基金会是自然而然推进的下一步。
我们相信微软加入 Linux 基金会这件事会增进在不同的开发者生态系统内的合作和创新,最终使我们的客户受益。除了微软 Azure 对开源技术的大力支持,我们还将为 Linux 带去我们的许多旗舰级技术,包括.NET、Visual Studio 和 SQL Server 等。
InfoQ:有趣的是可以看到 Linux 在微软开源的旅程中所起的作用。微软在这方面的投资计划是什么?这些付出是如何随着云而发生改变的?Linux 在你们现在的策略中扮演什么角色?
Gossman:自 2009 年起,微软就一直对 Linux 内核有所贡献了,并且直到今天仍然在继续这么做着。在 Azure 市场里,近百分之六十的第三方 IaaS 提供的是开源软件(Open Source Software,OSS),并且在现在的 Azure 上,每三个虚拟机就有差不多有一个运行的是 Linux。为了继续为我们的客户提供更广的选择范围,我们已经和英特尔、Canonical、SUSE、Red Hat 和更多公司一起建立了稳固的技术合作关系。我们已经提供了 Linux 版的 SQL Server,并且实现了.NET 的开源。我们还为 Windows 10 增加了 Bash,使它成为开发开源软件(OSS)的非常棒的平台。我们是众多的开源项目的积极贡献者和参与者,比如 OpenSSH、FreeBSD、Mesos、Docker、Linux 等等,还有很多其他项目。我们也是 GitHub 上的重要代码贡献者,我们在其中参与了超过 2000 个项目。
InfoQ:在 Windows 10 上可以运行 Bash shell 脚本了,这已经收到了开发人员的普遍好评。但是,仍然不能运行服务器软件或原生 Linux 程序。Windows 的发展路线图会不会包括扩展到 Bash shell 之外,一直到包含 Linux 内核?
Gossman:我们很高兴社区会接受我们的产品。我们将继续倾听社区的意见,并且继续致力于增加新功能来应对不断发展的需求。我们现在没有什么关于 Linux 的 Windows 子系统路线图的具体细节可以分享。
在 Windows 上支持 Bash,这使开发人员能够使用 Windows 平台以非常自然的方式开发 Windows 和 Linux 程序,因此,他们可以利用很多非常棒的实用工具、跨平台的框架和经验等。Bash shell 脚本是 WSL 的常用案例,用户也可以在未修改的 Ubuntu 用户空间里直接执行 ELF64 二进制文件。这意味着,比如说,用户有使用 APT 软件包管理器来安装 Ubuntu 的未修改版可用软件的能力。现在已经提供了描述子系统如何工作的技术文档,包括对新过程的深入剖析和系统调用是如何转变与 Windows NT 内核交互的。
InfoQ:云是微软的重点领域之一吗?它是否主要是关于云上的 Linux 虚拟机、关于 lxc 等的容器?以云为重点对于加入 Linux 基金会有何影响?
Gossman:实际上在 Azure 之前,我们就已经参与开源活动很长时间了。但云是我们如何给各个组织带来敏捷的关键部分,并且它肯定是我们建立开放源码战略的一个因素。我们有一个在云上开源的全面的方法,从使客户可以做开始到可以做更多,将开源整合进我们的服务,再到发布和对生态系统做出贡献。
Azure 是一个开放和灵活的云平台,这全是为了支持客户的选择。我们提供了一个广泛的开源组合,从核心基础设施到应用程序、数据和容器平台。与 Red Hat、Canonical、Docker、Mesosphere、Datastax 以及其他公司之间的紧密合作关系帮助我们实现了敏捷性和灵活性的云的承诺。在这个开源和云在许多组织中都扮演了重要角色的年代,我们很自豪能作为一个云供应商深度参与到 Linux 基金会的各项活动中来,并且已经和 Linux 基金会一起合作了许多年,包括开放容器的倡议、TODO Group 以及合作创办 LFCS/MCSA 认证等。
InfoQ:在云的世界,多语言的应用看起来越来越受关注。微软如何看待这一趋势?在与原生云计算(Cloud Native Computing Foundation,CNCF)、开放容器的倡议(Open Container Initiative,OCI)、云计算基础和其它商业伙伴等的合作过程中,您起了什么作用,?
Gossman:我们已经注意到了大家对多语言应用程序关注的逐步增加,有些组织正在采用原生云的方法去支持他们的数字化转型。开源在其中起着重要作用。
当涉及到多语言和原生云时,开发人员会试图寻找多种方法,并且我们会在 Azure 提供多种选择,以解决客户的需求。比如说,希望部署基于容器的应用程序的客户可以使用 Azure 容器服务,那些寻找微服务平台的客户可以考虑一下 Azure Service Fabric,而那些专注于 12 个因子 Java 应用程序的客户可能会采用合作伙伴提供的解决方案,如 Azure 上的 Pivotal Cloud Foundry,但其他客户可能会选择一种完全托管的解决方案,为他们的网站或者无服务器应用程序选择使用 Azure 应用程序服务和 Azure Functions。我们的目标是创建一个开放和灵活的云平台,完全是为了支持客户的选择,并且所有这些例子都支持开发人员今天使用的开放源码技术。灵活性在这里起着重要的作用。
自开放容器的倡议发出以来,我们就一直在为它而努力。我们也在容器领域与一些开源供应商合作,并且也与更广泛的生态系统,包括其他开源基金会合作。
InfoQ:请谈谈其它微软正在参与的,而且开发人员应该知道的其他开放源码项目?最后,你们怎么从这么多开放源码项目的投资中获利?
Gossman:除了微软 Azure 对开源技术的大力支持,微软还为 Linux 带来了许多她的旗舰级技术,包括.NET、Visual Studio 和 SQL Server 等。我们也正在将更多我们自己的技术开源,包括.NET 核心、Visual Studio 代码、Xamarin SDK、Powershell 和微软 Edge Chakra JavaScript 引擎等。
我们的商业模式使我们能够为我们的客户做很多事情,可以帮助他们连接世界,方便创新,也使个人和企业能够按照他们今天的方式继续运作。我们坚信,开放对我们的客户有好处,对社区有好处,并且对我们的事业也有好处。而且,开放也促进了以合作伙伴为中心的方法,这种方法自微软诞生起就一直与微软相随。
微软开源网站和微软Azure 开源网站提供了其他几个开源项目的更多信息。
阅读英文原文: Q&A with Microsoft Azure Lead Architect John Gossman Regarding Joining the Linux Foundation
评论