微软Edge和Chromium开源:我们的意图

作者:微软Edge团队

本文由公众号:前端大牛爱好者 整理 欢迎关注!

最后更新:
2018-12-06

为什么在过去的几年里,微软已经有意义地增加了对开放源码软件(OSS)社区的参与,成为世界上最大的开放源码软件项目的支持者之一。我们正在开辟一条道路,在桌面上微软Edge的开发中采用Chromium开源,成为其开源的一个更大的贡献者和用户,这样我们就可以为我们的客户创造更好的网络兼容性,为所有的web开发人员减少网络的碎片化。

本文档的存在是为了澄清我们对该工作将如何进行的思考:我们想要解释我们与icrosoftEdge和ChromiumOpenSource项目相关的计划和意图。

我们认为这份文件最有意义和最有用的受众是:

(A)作为批准/维护人员和领导该项目的Chromium工作人员;

(B)构建其他浏览器并对我们计划作出的贡献感兴趣的公司和工程师;

(C)更广泛的web开发人员社区,我们在Windows和MicrosoftEdge上工作的企业IT经理和合作伙伴。

当然,我们和所有这些观众主要关心的是最终用户,他们最终是这部作品的受众。

对于MicrosoftEdge来说,使用开放源码并不是什么新鲜事。我们的新移动浏览器从一年前开始就基于开源。我们还在桌面上使用了MicrosoftEdge的各种特性(例如角、Web音频、Brotli),并且我们已经开始对Chromium项目做出贡献,以帮助在新的基于ARM的Windows设备上进行浏览。在这种情况下,我们一直在考虑在桌面上开发MicrosoftEdge的过程中采用Chromium开源项目,为我们的客户创造更好的网络兼容性,为所有开发人员减少网络碎片,我们现在已经做好了前进的准备。作为其中的一部分,我们希望并打算成为Chromium
的重要贡献者,其方式不仅可以使MicrosoftEdge-而且还能使其他浏览器更好地应用于个人电脑和其他设备。我们在下面写下了“Microsoft Edge的OSS原则”和“接下来会发生什么”,以清楚地描述我们的贡献方法。我们的计划是以一种接受多年来行之有效的开放源码模型的方式:有意义和积极的贡献,这些贡献与长期经过深思熟虑设计的架构、协作工程相一致,并铭记我们作为一个社区,为所有在许多设备上使用网络的人寻求最好的结果。

微软和今天的网络,我们的意图是深刻地了解我们的背景。从历史上看,微软主要关注三个主要群体:终端用户、开发人员和企业/组织。这些受众了解了我们过去在InternetExplorer中所做的投资,现在通知了我们在MicrosoftEdge中所做的投资。在过去几年中,我们听取了这些客户的意见,其中一个一致的主题是他们的环境越来越复杂,以及对一致性、简单性、可靠性和兼容性的渴望。多年来,我们与google及其他浏览器供应商有效地合作,先是在w3c,现在更紧密地透过WHATWG,为web平台建立共同的标准,以减少这种复杂性,并改善整体的web体验。

尽管整个行业的浏览器供应商在统一这些共同标准方面取得了重大进展,但底层的实现和不同的发布计划给我们的开发人员带来了充分受益于开放Web承诺的困难。我们现在看到了一个机会,可以在一个共同兼容的Web平台上以更深入的方式前进,这个平台将很好地服务于微软的客户,并将为更大的网络社区提供互利,同时保持浏览器生态系统中竞争多样性的市场利益。

当我们在客户端看到它们时,请考虑以下的机会:终端用户-尽管Microsoft Edge对基于标准的HTML和Chrome等高度使用的浏览器添加的功能都具有很高的网络兼容性,我们独特的web平台代码库仍然偶尔面临兼容性问题,因为web开发人员不太关注HTML标准,而理性地关注广泛使用的平台,如Chrome,为客户开发和验证体验。虽然我们一直在努力进行更新和修复这些问题,但我们将Microsoft Edge作为一个组件的实现完全按照与整个Windows操作系统相同的计划发布,这降低了我们的更新能力,导致了平台碎片,并暴露了兼容性差距。我们认为,更多地使用开放源码软件(OSS)可以改善我们最终用户的这种体验。

在MicrosoftEdge浏览器之外,Windows PC上其他浏览器的用户有时会面临不一致的特性集和跨设备类型的性能/电池寿命。一些浏览器在接受新的Windows功能方面进展较慢,比如触摸和ARM处理器正如你所知道的,我们最近开始为基于Chromium的浏览器提供这些类型的硬件支持,我们相信这种方法是可以推广的:我们认为我们可以帮助加速网络和用户对它的体验,为所有这些浏览器和用户提供新的Chrome开源功能。

开发人员-随着网络在不断扩大的设备类型中的使用日益增多,测试网站所涉及的复杂性和开销也急剧增加。由于web开发人员-尤其是小公司的开发者-需要测试这么多不同的系统,所以几乎不可能确保有趣的站点在所有设备类型和所有浏览器上都能很好地工作。我们希望通过将Microsoft Edge Web平台与其他Chrome浏览器相结合来简化Web开发人员的这个矩阵,并在Windows上提供任何浏览器都可以使用的有意义的、对齐的功能。

公司IT-IT经理面对的下游-复杂的用户有许多不同的设备类型,使用新的和旧的网站,在设备上拥有的个人和公司。我们认为,无论设备平台是什么,创建更好的Web兼容性和跨浏览器对齐Web平台对于公司IT来说都是有意义的价值。在所有这些受众中共有的是,当我们

(A)为了多个浏览器的利益将宝贵的新功能设计到一个共享的开源项目中时,我们相信我们可以给他们带来两方面的好处,以及

(B)在我们大规模发布的浏览器中越来越多地使用这种共享的开源功能。我们打算同时做这两件事。

在过去的一年里,我们开始参与Chromium和WebRTC开源项目(微软的其他开放源码领域),我们的努力也在加大,因为我们考虑了更广泛的设备类型。一些例子包括…将Chromium移植到ARM 64:我们与谷歌工程师合作做了大量工作,使基于Chrome的浏览器能够在ARM设备上的Windows上编译和运行。

由于我们的工程投资,基于Chromium的浏览器不久将能够为基于ARM的Windows PC提供本机实现,这将大大提高它们的性能和电池寿命。这是一个很好的例子,说明我们在Chrome上进行投资,在这些新型PC上跨一系列浏览器推进网络体验。使
WebRTC能够为Windows UWP应用程序工作:一年多来,我们一直致力于WebRTC的通用Windows平台(UWP)。

这为开发人员提供了一个WebRTC解决方案,适用于我们所有的Windows 10平台,包括桌面、Xbox、HoloLens/VR和物联网。上周,我们宣布与谷歌达成协议,将WebRTCLib的UWP分支推回WebRTC.org回购平台。改进角度:在过去,我们对角的D3D11后端进行了改进,并改进了它的性能。最近,我们与英特尔(Intel)和天使团队(AangTeam)合作,进行了更多的改进,使其成为MicrosoftEdge中WebGL的官方后端。我们认识到,这些都是以网络为导向的开源贡献的适度但仍然有意义的例子。这两种方法都为我们提供了宝贵的视角,说明我们如何能够以健康的方式合作使用和贡献Chromium。

在整个微软,我们的开放源码软件专业知识和关注点都在增长-我们的网络团队非常兴奋地学习这些经验,并为数百万人提供网络体验。Microsoft Edge+开放源码:Microsoft深入了解实际问题的新方向.我们已将这份文件放在一起,以便对相关的开放源码软件贡献者和合作伙伴透明地了解我们的意图。在Microsoft Edge浏览器中使用OSS-尽管我们一直是Microsoft Edge移动浏览器和Microsoft Edge桌面的某些组件的Chromium开放源代码的消费者-我们已经决定将更多Microsoft Edge桌面移动到使用Chromium开源,并增加我们对这个社区的贡献。

这一发展方向的关键方面是:我们将采用Chrome作为MicrosoftEdge桌面的Web平台。

我们在这里的愿望是使微软Edge的Web平台(A)符合Web标准,(B)与其他基于Chrome的浏览器保持一致,以提高兼容性,并为开发人员提供更简单的测试矩阵。我们将改进icrosoftEdge应用程序架构,使其能够分发到所有受支持的Windows版本,包括Windows 7和Windows 8以及Windows 10。我们还将把MicrosoftEdge引入其他桌面平台,如MacOS。改善最终用户(更好的兼容性)和开发人员(更少的碎片)的Web体验需要一个尽可能广泛可用的一致的Web平台。要做到这一点,我们将使用Chromium的跨平台应用技术,同时改变我们的发行模式,这样微软的边缘体验和网络平台就可以在所有受支持的操作系统上使用。

我们将提供我们的Windows平台的专业知识,以改善所有基于Chromium的Windows浏览器的经验。我们更多地参与Chromium开源的理念将包括有益的新技术的贡献,这与我们前面描述的一些工作是一致的。我们认识到,在Windows上使网络变得更好对我们的客户、合作伙伴和我们的业务都有好处-我们打算为此做出积极的贡献。我们欢迎有机会在电池寿命、触觉、可访问性、安全性和其他共同感兴趣的领域与Chromium社区合作。

我们的贡献:原则和期望-向已经沉浸在ChromiumOSS中的团队和人员提供这份文件的关键目标是,表明我们计划如何做出贡献,并启动必要的工程规划,将有价值的新技术引入到Chromium浏览器中。我们很高兴能更深入地参与更广泛的Chromium项目。

这是一个沉重的决定,我们相信这是正确的下一步。也就是说,我们是本着学习的精神迈出这一步的。我们知道我们有很多需要学习的东西,因为我们增加了对Chromium的使用和贡献,我们期待着以一种协作的方式让更广泛的社区参与并作出贡献。我们期待着随着时间的推移,我们参与的性质和范围不断演变。我们的开放源码软件原则的微软Edge,我们正在作出这一决定的长期。我们期望我们的工程师学习,并随着时间的推移成为Chromium项目的专家,并成长为积极和负责任的社会成员。我们渴望增加我们对Chromium项目的贡献,并将继续保持我们所做的任何贡献。当寻求改进的网页平台,我们的默认立场将是贡献。我们专注于通过
微软Edge的不同用户体验特性和连接服务,提供一款世界级的浏览器,但如果涉及到新的平台功能,我们将寻求一种“让所有船只都能浮出水面的上升趋势”。

我们将从bug修复开始,并在Windows上的ARM 64支持、可访问性、安全性、触摸输入和电源增强等领域做出有意义的贡献。我们认识到并将尊重Web开源项目中固有的体系结构需求和工程方法,并使Chrome获得成功。对ChromiumOss和其他项目的管理有很多方面:多设备支持、多OS支持、严格的实时工程等。

虽然我们公司在历史上一直专注于Windows个人电脑,我们相信我们可以为改善Windows上的浏览器做出贡献,但我们也明白,web开放源码软件项目包括多种设备类型,包括Android,而且贡献必须适应这种设备的多样性。我们将以一种符合Chromium的跨平台和跨设备需求的架构设计的方式做出贡献。我们认为,开放网络的发展最好是通过标准社区来实现的,而开放网络则得益于来自各种不同视角的公开辩论。我们将继续深入和积极地参与W3C、ECMA和WHATWG的标准讨论,在这些讨论中,可以听取和考虑开发相互竞争的浏览器的供应商和更大的网络社区的观点。

贡献:随着我们的开放源码软件工作的进展,并考虑到我们的工程专业知识可以对用户和开发人员产生最大的影响,我们的最初重点领域,我们已经列出了一个初步的贡献清单“重点领域”。我们想强调的是,我们把这个列表简单地看作是起点-在一些领域,我们可以一起学习/实践,为所有的消费者在Chromium代码库中创造有意义的价值。ARM 64-我们的计划是继续/完成移植工作,使Chromium代码库支持ARM-64,从而可以提供浏览器,其中支持这些设备。

可访问性-为了满足所有客户的需求,我们打算通过添加MicrosoftUI自动化(UIA)接口来支持Windows上的叙事者和其他辅助技术,以满足所有客户的需要,我们打算在Chromium代码库可访问性的基础上建立基础,并与Windows轻松访问设置集成在一起,如高对比度和标题样式、改进控制可访问性和支持插入符号浏览。PC-现代输入类型的硬件演变(例如我们可以帮助改善桌面触摸,手势识别和滚动/平移平滑,特别是在更新的、更现代的Windows设备上。

安全性-当然,对于所有浏览器供应商来说,最重要的是让网络用户尽可能地安全可靠。为了支持这一共同目标,我们期待着与ChromiumSecurity团队密切合作,并贡献我们在构建安全软件方面的经验,特别是我们在Windows平台上的专业知识。接下来会发生什么-这对微软来说是一大步,对微软Edge团队来说也是一大步,我们也认识到这将是Chromium项目的一大进步。

我们对这将给更大的网络社区带来的好处充满热情。我们渴望开始与谷歌(Google)的同行和Chromium项目的其他贡献者接触,以及在Chromium项目中,就我们如何能够在一个共同的网络平台上共同前进的问题展开接触。同时,我们认识到竞争的价值,并打算为微软Edge浏览器带来我们的最佳愿景,该浏览器通过不同的用户体验特性和连接服务建立在Chromium开源基础上。我们已经与许多Chromium贡献者建立了积极的工作关系,这是基于我们在标准机构和以前共同的工程努力中所做的工作。我们期待着在这些关系的基础上继续学习-我们正在学习-如何才能为开放网络的实施做出最好的贡献。为了提供一个更具体的概念,我们将采取什么行动,并遵循这份备忘录,以下是简短的清单:我们将首先联系Chromium项目各个部分的工程业主,探讨我们如何开始在上面列出的领域作出贡献。这包括谷歌和其他公司。我们将在我们的MicrosoftEdge战略中向其他主要合作伙伴通报这一演变:例如,w3c…以及我们的OEM合作伙伴,高互动开发伙伴等.我们将通过博客发布一份公开声明,以便外部感兴趣的人对我们的战略变化有一个透明的看法。

我们将把这个文件张贴到GitHub,https://github.com/MicrosoftEdge/MSEdge/blob/master/README.md

以便任何感兴趣的开发人员或网络社区成员可以直接阅读我们的计划。我们邀请您的意见,建议和反馈,因为我们开始与您接触Chromium项目!




转载于:https://juejin.im/post/5c09de9bf265da6169170b80

你可能感兴趣的:(微软Edge和Chromium开源:我们的意图)