谷歌想实现自己的,微软在浏览器领域与老对手

时间:2020-04-22 21:08来源:江苏十一选五今日开奖办公软件
去年有两个知名开源项目——Redis和Python均因为其代码库包含master和slave这些被认为具有冒犯性的单词而被要求修改名称。即便这种请求看起来是如此的无理取闹,但开发者最终还是向“

去年有两个知名开源项目——Redis和Python均因为其代码库包含master和slave这些被认为具有冒犯性的单词而被要求修改名称。即便这种请求看起来是如此的无理取闹,但开发者最终还是向“政治正确”妥协了。

本文由腾讯数码独家发布

cURL 创始人 Daniel Stenberg 发文指出谷歌正在实现自己的 curl。

最近类似的案例又再次上演,双方主角还是科技巨头公司——微软和Google。我们都知道微软已经选择Chromium作为Microsoft Edge的内核并成为积极贡献者。近期,微软的一名工程师向Chromium提交了一个bug报告,建议清除Chromium代码库中包含潜在冒犯性的单词,以净化代码库。

图片 1

图片 2

例如,whitelist这种单词就被认为具有冒犯性,应该从代码库中删除,还被建议修改为allowlist和blocklist。

微软首席执行官萨蒂亚?纳德拉(Satya Nadella)相当郁闷。

cURL 是一个网络数据传输项目,通常说 cURL 是指 curl 命令行工具,它支持 DICT、FILE、FTP、FTPS、Gopher、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、POP3、POP3S、RTMP、RTSP、SCP、SFTP、SMB、SMBS、SMTP、SMTPS、Telnet 与 TFTP 等协议,而 curl 的底层使用的是 libcurl 库,libcurl 与 curl 组成了 cURL 项目。

发表此提案的微软工程师表示,这些建议修改的内容是由PoliCheck扫描得到的,它是一个机器学习模型,可对数百种文件格式进行基于上下文的扫描。而扫描规则遵循微软的多样性和包容性政策。

微软2015年就发布了Edge浏览器,但直到2017年夏季,这款浏览器并没有取得多大进展。微软高管乔?贝尔菲奥尔(Joe Belfiore)在接受The Verge独家采访时表示,“萨蒂亚来找我们说,‘嗨,我希望看到我们在浏览器方面取得更多进展。'”纳德拉指出了网络的发展方向,他希望从微软Edge浏览器中获得更多。

Chromium bug 团队近日表示他们将基于 Chromium 网络栈 Cronet 实现一个名为 libcrurl 的库,用来提供部分 libcurl API。对于 Daniel 来说,谷歌很可能是要实现一个他们自己的 curl,所以后边可能出现一个基于 libcrurl 的“crurl”。

对于微软工程师的一番建议,Google工程师Rick Byers先是表达了“小心翼翼”的欢迎心情,并表示这是一个很好的策略,但他们从来没有打算在代码库中做任何可能具有攻击性的事情。Rick补充道:“我不认为Chrome团队必须为修复这些bug而提升优先级(据我所知,目前还没有看到这对我们的实践造成问题),但如果清理它对微软有价值,那么至少在平台代码中,获得必要的代码审查也不会有什么问题。”

贝尔菲奥尔重复纳德拉的评论说,“在基于Web的协作体验方面,谷歌做得很好,Office团队正在投入更多资源来改善我们的协作体验,我们希望Edge浏览器变得更好”,纳德拉承认“Edge声誉好坏参半”。微软一直在花费大量时间来改善Edge浏览器的兼容性,而谷歌Chrome浏览器则一路向前,巩固了其作为桌面系统事实上默认浏览器的地位。

图片 3

尽管在源代码中更改注释或变量名称通常对用户是不可见的,但如果它在首选项和设置中出现破坏名称之类的内容,则此类修订可能会出现问题。

微软必须有所取舍,必须大力改变Edge浏览器。纳德拉参加的这次会议,最终导致微软决定放弃自主开发的Edge,并以Chromium为基础重新开发浏览器。新浏览器事关微软的成败:Windows和Web的未来就看这个项目了。

至于为什么要这么做,Chromium bug 团队表示,使用 Cronet 实现 libcurl 将允许开发人员使用 Chrome 网络栈的实用程序,而无需学习新的接口及其相应的工作流。理想情况下,这将增加 Cronet 的可用性,并通过第一方或第三方应用全面改进 Cronet 的采用。

本文将揭密微软是如何做出这一重要决策的,以及这一决策对微软未来的影响。

Daniel 觉得谷歌这样的逻辑是有道理的:“理想情况下,Google 最终解决此问题的团队会发现并修复我们的代码和 API 中的问题,这可以改进 curl,同时也可以使更多用户了解 libcurl 与其 API。而如果工程师最终实现了一个比 libcurl 更好的库,并且使用相同的 API,那么开发者就可以直接选择他们认为更好的库。”

在与纳德拉会面后不久,微软浏览器团队开始分析Edge存在的所有问题。这是一种激发内部讨论所需变革的方法。

然而问题是,Daniel 认为这项工作并不简单,首先是 libcurl API 已经开发了近 20 年,它的许多功能、选项和微妙的行为可能无法轻易地直接模仿;另一方面,Cronet 与 libcurl 的工作方式完全不同,因此需要投入足够多的人力与时间来将 libcurl API 整合到 Cronet 上。

贝尔菲奥尔表示,“我们撰写了一篇文章。我们撰写这篇文章的目的,是为了2017年10月与特里?米尔森(Terry Myerson,前Windows负责人)的一场讨论会。”

“我认为引入 API 不成熟的实现会给开发者带来困扰,因为他们很难理解它是个什么 API 以及与 libcurl 的区别”,像前边说的,Daniel 认为如果没有投入很大的工作量,那 libcrurl 不可能提供兼容 libcurl 的 API,而这种分裂将导致文档问题,甚至连基本的项目名都可能混淆,因为“libcrurl”/“crurl”与原本的“libcurl”/“curl”太像了,使用者可能误认为它们只是拼写错误。

那篇文章阐述了Edge的诸多优点和缺点。不过,微软选择了一个不同的术语——它称之为“逆风”——来描述其中的缺点。在2017年,这是一个信号:Edge的问题不仅仅是技术性问题,也不一定是不可克服的。从理论上讲,它们只是放慢了Edge普及的速度。

虽然说理解谷歌的做法,并且也知道他们有权利这么去做,但是 Daniel 文章最后还是发出了疑问:curl 支持完整的 API,提供完全向后兼容性,同时在大量不同的平台和架构上可以相同的方式工作,并且免费,还经过多年实战考验,那么在这种情况下,开发者有什么理由要去使用另一个翻版的呢?

Edge最大的“逆风”之一可能会让读者感到惊讶:发布。尽管Windows 10的用户数量在不断增长,但没有足够多的用户使用Edge,他们仍然选择Chrome和其他浏览器。贝尔菲奥尔承认,“我们的用户数量很少,部分原因是它只能在Windows 10上运行。全球在用的设备数量很庞大,但Windows 10仍然只是少数”。

图片 4

仅支持Windows 10,意味着仍在运行Windows 7的企业无法为它们的桌面系统获得Edge浏览器。即使一家公司已经转向Windows 10,但这并不意味着它们愿意立即使用新版本的操作系统。这意味着它们的Edge浏览器只有在安装Windows 10的最新功能更新包时才会得到更新,这些功能更新包大约每六个月发布一次。鉴于企业会暂停使用和测试Windows版本,这是解决Edge严重落后于时代问题的一个秘诀。

有意思的是,Daniel 的这篇博客评论中有人将谷歌的这一动作与微软备受诟病的“拥抱、扩展再毁灭”策略联系了起来。

Edge普及率低还与第二个因素密不可分:兼容性。因为Edge使用不同于Chrome或Safari的渲染引擎,这意味着它有时会出现不能正确渲染网站的问题。针对多个浏览器测试网站一直存在很大困难,而且由于Edge普及率很低,这意味着针对它的优化通常不在Web开发人员的优先考虑之列。

(文/开源中国)    

Edge还基于微软的通用Windows平台,之前,微软在Windows 8和Windows 10中一直大力推动通用应用——可以运行在桌面系统、平板电脑、手机、Xbox游戏机和HoloLens等设备上。贝尔菲奥尔表示,“我们的第三个不利因素是UWP。虽然UWP并不糟糕,但它并非是一个已经有35年历史、拥有海量应用的成熟平台。”这意味着多显示器支持等功能,对UWP来说并不总是靠谱的,Edge团队将必须等待UWP的改进。微软必须使Edge回归真正的桌面应用,支持Windows 7、Mac和Windows 10等平台。

微软考虑了许多不同方法来应对所有这些不利因素。它考虑了看似简单的解决方案,例如将Edge放入Windows应用商店,使它能比核心操作系统获得更频繁的更新。它还尝试把Edge移植到Windows 7上。考虑换用Chromium渲染引擎也是解决这些问题的一种方法。

贝尔菲奥尔说,“我们举行了这次会议,并进行了对话,我们当时并没有决定转向Chromium渲染引擎。我们考虑过这一方案,但我们说,‘不,我们认为我们可以通过兼容性实现这一目标。’”。

所以微软投入更多工程师尝试解决Edge兼容性问题,但这是一种愚蠢的方法:微软每修复Edge中的一个问题,就会有另外10个问题出来。近年来,Web的发展速度在快速增长,谷歌推出了许多新标准,并加快了Chrome开发速度,而微软不具备跟上这种发展速度所需要的基础。

微软Web野心面临的其他问题之一,是它作为一家公司的组织方式。当Edge刚发布时,Windows Web平台方面的工作由一个独立团队,而非由Edge开发、维护团队负责。微软去年重组了Windows业务,前Windows主管米尔森离开公司,微软的Web平台和Edge团队合二为一,统一由贝尔菲奥尔领导,以增强团队的责任心,使Edge最终成为Windows平台上更好的浏览器。

这次重组更加突出了Edge的问题,特别是目前多个Web团队齐心协力改进浏览器产品的情况下。微软开始在不同开源技术实现上开发新的浏览器原型产品,以探索各种可能性。其中一款原型代号为“Blade”,试图以现有的Edge应用为基础,在后台添加Blink渲染引擎。另一个代号为“Septagon”的原型,实际上完全实现了Chromium。Septagon浏览器原型是显而易见的选择。但换用浏览器渲染引擎是一个重大决策,它必须由微软最高管理层拍板。

图片 5

纳德拉领导团队每周五都会开会,他们有一个名为“惊人的研究员”(Researcher of the amazing)的流程。这一流程的目标,是使每个产品团队派出在研发新奇产品的工程师,演示在开发的产品。巧合的是,当Windows团队正在进行新版Edge的原型设计时,轮到他们展示自己的“神奇研究员”。Septagon原型因此得以在最高领导层会议上亮相,而且获得了很好的反馈。

微软随后花数个月时间仔细评估了为Edge换用Chromium渲染引擎需要采取的措施,因为这是微软产品开发方式的一个重大转变。贝尔菲奥尔解释说,“我们进行了一些路演。我们去见了比尔?盖茨(Bill Gates),我们与来自LinkedIn的首席技术官凯文?斯科特(Kevin Scott)和董事会成员雷德?霍夫曼(Reid Hoffman)举行了会议。”团队还会见了公司旗下GitHub首席执行官纳特?弗雷德曼(Nat Friedman)。

所有这些会议的目的,是获得外部对换用Chromium渲染引擎的前景、面临的挑战以及公司对与谷歌关系的期望等问题的反馈。毕竟,换用Chromium渲染引擎是微软的一大赌注,也标志着它更多地采用开放源代码。

其中一些挑战涉及如何与开源社区建立良好关系,但其他挑战则事关微软Windows工程团队运营方式的根本改变。Edge每六个月向公众发布一次,但Chromium Canary开发者版本每天都会发布。Chromium也是一个与微软工程师必须了解和做出贡献的代码库不同的代码库。

在2018年9月决定采用Chromium渲染引擎之前,微软花了很多时间对它进行分析。纳德拉及其领导团队批准了这一变化,微软随后花了一些时间进行进一步准备工作,并计划在12月公开宣布这一消息。这将是一个重要时刻。

微软Edge项目经理贾亭德?曼恩(Jatinder Mann)承认说,“我们有点紧张,幸运的是,一旦我们宣布这一消息,我们得到了Chromium工程师,以及其他基于Chromium的浏览器厂商的积极反馈,他们非常高兴看到我们加入这个社区。”对微软公布这一消息的反应主要是积极的,其他浏览器工程师认为这是一种获得更多帮助来改进Web的方法。

开发火狐浏览器的Mozilla并不欢迎微软换用Chromium渲染引擎。这可能意味着Web开发人员将不太可能根据Web标准编写代码,更可能只为Chromium和Safari编写代码。这是一个真正的风险,所以Mozilla称它将继续“为真正开放的Web而战”。

图片 6

一旦做出决策并公之于众后,为Edge换用Chromium渲染引擎的真正工作就拉开了大幕。之前,谷歌和微软的工程师已经习惯于共同协助设计Web标准,但这次将有很大不同之处。微软采用Chromium渲染引擎,意味着与谷歌的合作关系在过去六个月里变得更加紧密了。

他们有时也会面临一些艰难的抉择:使用Google Hangouts还是Microsoft Teams进行通信,是使用Word还是Google Docs处理文档,微软的工程师愿意选用能给Chromium渲染引擎贡献者带来最大方便的技术。曼恩解释说,“我们认识到我们正在加入这个社区,所以我们希望在任何方面进行合作。我们在与Chromium工程师沟通时使用Google Hangouts,目的是让我们能更轻松地进行协作。”

谷歌工程师向微软同行介绍了为Chromium开源社区做出贡献的方法,微软工程师已经采用了这些流程。曼恩指出,“我们的很多原则都与这些最佳实践相吻合。”这些实践包括长期参与Chromium项目,维护微软所做的任何贡献,尊重架构设计以及跨平台和跨设备需求。

曼恩表示,“即使我们与Chromium工程师谈论这些最佳实践,它们也是非常有帮助的。”谷歌甚至向微软工程师建议代码中的缺陷,让他们进行修复,以对代码库有更好的了解。这对两家公司来说都是一个学习过程,但参与的工程师最终希望共同改进Windows平台上的Edge和Chrome。对于微软而言,如果两种浏览器的表现能更好,所有Windows用户都将因此而受益。

微软和Chromium工程师目前正在共同努力,解决轻松使用功能、滚动和触摸控制等问题。触摸一直是Edge的重要组成部分,微软正在修改Chromium,这将使得在网络表单中选择日期或时间变得对触摸操作更加友好。微软还致力于在Chromium中更好地支持Windows触摸键盘。

曼恩解释说,“那个领域令人着迷的是,Chromium工程师在某个时候启动了这一项目。我认为他们暂停了相关工作,或有其他更重要的项目需要完成,所以我们实际上接管了他们启动的这一项目,并将完成它。我们曾与他们开会,他们说‘这是我们下个月/下个季度的工作’。”

图片 7

微软换用Chromium渲染引擎,显然尚处于早期阶段,微软和谷歌的工程师,似乎正在为实现类似的目标而卓有成效地合作。但微软和谷歌仍然是激烈的竞争对手,我们还没有意识到它们将在浏览器领域如何竞争。之前,我们曾发现,谷歌的只支持Chrome的网站在Edge中渲染效果不佳,一名前Mozilla高管最近指责谷歌多年来一直在破坏火狐浏览器——虽然Mozilla与谷歌存在密切工作关系,而且签订有搜索合作协议,以使谷歌成为火狐浏览器中的默认搜索引擎。

乔纳森?南丁格尔(Johnathan Nightingale)在Twitter上解释道,“谷歌Chrome广告开始出现在火狐搜索关键字旁边。在火狐浏览器中,Gmail和Google Docs开始遭遇性能问题和出现错误,演示网站会以不兼容为由错误地封杀火狐。”南丁格尔说,出现了数十、甚至数百个他称之为“oops”的事件,谷歌会对Mozilla做出回应,并解释说这是偶然的,将得到修复。南丁格尔在推文中写道,“我完全赞成‘对于无法解释的事情,就不要尝试去解释',但我不相信谷歌没有这样的能力。”

多年来,谷歌和微软之间存在一些公开的争执,这导致了生态系统大战,并影响了两家公司的客户。Windows Phone用户曾暂时被禁止访问谷歌地图服务,双方因Windows Phone版YouTube应用发生激烈争执,谷歌切断Windows Phone版Gmail对Exchange ActiveSync的支持让微软备感意外。再结合谷歌拒绝为Windows开发应用,所有这些都破坏了微软为与Android竞争在移动领域的努力。

近10年前,YouTube工程师甚至策划了一起干掉IE 6的“阴谋”;最近,YouTube在Edge、火狐和Safari等非Chrome浏览器中表现不佳。鉴于这些“历史”,有人担心谷歌可能会利用其众多的网络资产和服务来破坏微软向Chromium渲染引擎的迁移。这不是毫无理由的担忧,但具有讽刺意味的是:如果两家公司关系出了意外,微软最终可能成为“拥抱、推广、压制”战略的牺牲品。

最近,当Google Meet突然不支持微软Edge浏览器时,无论是否有根据,这些担忧都加剧了。当Edge Chromium用户使用Google Docs时,这一服务会显示“不支持的浏览器”警告信息。埃里克?劳伦斯(Eric Lawrence)在加入谷歌前曾从事开发IE浏览器的工作,现在又回到微软工作,他在Twitter上透露谷歌最近的变化可能并非出于恶意。谷歌没有试图故意给微软的新版Edge浏览器施绊子。

贝尔菲奥尔表示,“我认为我们想到了谷歌将与我们竞争。我们的期望是,我们能成为建立Web标准方面的技术协作者,Windows设备能有一个运行良好的Web实现。这似乎是可能的,也符合各方的最大利益。差异化会带来足够大的竞争空间。”

不出所料的是,谷歌欢迎微软对Chromium的贡献。在最近举行的BlinkOn Chromium会议上,谷歌工程师邀请微软同行上台。到目前为止,微软已经为Chromium做出了逾400次贡献。谷歌发言人在向The Verge发表的一份声明中说:“从一开始,Chrome就一直是开放网络的支持者,我们欢迎微软加入Chromium贡献者社区。我们非常赞赏我们在推动开放网络、支持用户选择权和提供卓越的浏览体验方面与微软和网络标准社区的合作。”

要向所有Windows用户发布新版Edge浏览器,微软还有很多工作要做,而且仍然面临许多未知数。微软还面临着遭遇最经典Windows问题的风险:向后兼容性阻碍未来的发展。未来版本的Windows 10可能必须同时支持现有的Edge、IE 11和Edge Chromium。

从旧版Edge过渡到新版Edge不是一朝一夕的事,微软仍然在探索如何实现这一目标。不能忘记的是,Web渲染技术不仅仅应用在浏览器选项卡中,还应用在应用以及操作系统中各种我们想不到的地方。微软将如何应对这些挑战还有待观察。

目前,微软正在展示它为Edge Chromium规划的一些新功能,Mac版本应该很快就会推出。Edge还将迎来新的“IE模式”,这可能有助于仍然依赖针对IE设计的古老内部网站的一些企业用户切换到更现代的技术。Edge的新“收藏”功能,旨在改善从网络收集信息的体验。微软甚至还加入了精准的追踪控制,阻止网络广告对用户“如影随行”。

除这些功能之外,Edge Chromium以及微软与谷歌之间关系的改善,都仍然是“进行时”。给人的感觉是,微软仍在研究一个对公司来说是全新项目的细节。它可能是全新的,但最终结果意味着,在Windows平台上,Chrome和Edge在未来数月会变得更好。Edge已经给人像Chrome一样出色的感觉,它很可能成为有史以来最好的Windows默认浏览器。但是,仅仅可以与Chrome媲美可能还不够,现在需要由微软来说服用户相信为什么放弃Chrome是值得的。

编辑:江苏十一选五今日开奖办公软件 本文来源:谷歌想实现自己的,微软在浏览器领域与老对手

关键词: