当前位置: 首页 > wordpress分享 > 正文

WordPress将弃用React,并将进行重写

开源网络出版软件 WordPress 的联合创始人 Matt Mullenweg 日前表示,出于对 Facebook 开源许可证中专利条款的担忧,WordPress 社区将不再使用 Facebook 的 React JavaScript 库。

Mullenweg 在一篇博客文章中对其决定做出了解释。几个星期之前,即便是在 Apache 基金会表示了不再允许其项目使用 Facebook 许可证后,Facebook 还是决定保留其在 React 许可证中附加的专利条款。Mullenweg 认为,试图去删除该专利条款将“增加他们在对抗无事实根据的诉讼方面所花费的时间和费用”。

Mullenweg 表示,他不是在评论 Facebook 或者认为 Facebook 错了。Facebook 的决定对于 Facebook 来说是正确的,这是他们的工作,Facebook 可以决定以任何他们想要的方式来授权其软件。但对于 Mullenweg 来说,Facebook 的意图已经非常明确了。

几年之前,Automattic 将 React 作为基础来重写 WordPress.com 的前端 Calypso,这应该是基于 React 的最大的开源项目之一。正如 Automattic 的法律顾问所写,Automattic 做出了最好不要牵涉到专利问题的决定,在今天仍是如此。

总体来说,Mullenweg 过去一直对 React 很满意。最近,WordPress 社区开始将 React 用于 Gutenberg项目,这是该社区多年以来最大的核心项目。人们在 React 方面的经验以及 React 社区(包括 Calypso)的规模,是 WordPress 将 React 用于 Gutenberg 项目的考虑因素之一。这使得 React 成为 WordPress 以及为 WordPress 编写的数以万计插件的事实上的标准。

Mullenweg 在博客里表示,WordPress 曾准备了一份几千字的公告,阐述了 React 是多么伟大,WordPress 如何正式采用了 React,以及鼓励插件同样采用 React。在该公告中,Mullenweg 一直希望专利问题能够以一种让用户放心使用的方式解决。

但这份公告现在不会被公布了。Mullenweg 表示,Gutenberg 项目将会退而采用另外的库来进行重写。这使得 Gutenberg 项目至少要延迟几个星期,其发布日期可能要推到明年。

Automattic 还将采用另外的同样的库来重写 Calypso,这将需要更长的时间。Automattic 目前还未牵涉到专利条款的问题当中。虽然会对业务造成短期影响,但是从内核的长期一致性来考虑,重写是值得的。WordPress 的内核升级涉及到全部网页的四分之一以上,让它们全部继承专利条款问题令人担忧。

Mullenweg 认为,Facebook 的专利条款实际上比许多公司可以采取的其他方法更清晰,Facebook 已经成为不错的开源贡献者之一。让全世界夸赞 Facebook 专利条款不是 Automattic 的工作,而是 Facebook 自己的战斗。

Mullenweg 在博客中表示,采用哪个库来重写将会在另外的帖子中公布,这主要是技术性的决定。Automattic 将会寻求具备 React 的大部分优势,同时又没有给许多人造成混淆和威胁的专利条款包袱的替代选择,并请大家就这些问题提供反馈。目前针对替换的库已经有了几个建议,包括 VueJS 、Preact 等。

另据 TechCrunch 报道,针对 Facebook 公司的专利条款,一些最激烈的批评家认为其将“特洛伊木马”引入了开源社区。对于 Mullenweg 在博客中发布的决定,一位评论家称之为“艰难但重要的决定”,其他评论家则将其称为“明智”和“有益”的决定。

而另外一些评论则发出了警告:“不要过度反应。过去五六年来,WordPress 生态系统的动荡和流失已经足够多了。Facebook 的业务规模和范围使得该条款变得非常可怕。它们最终必须放弃。”

本文固定链接: https://www.ziyouwu.com/archives/1570.html | 自由屋博客www.ziyouwu.com|wordpress建站技巧分享

WordPress将弃用React,并将进行重写:目前有3 条留言

  1. 刚刚搭好网站,他就有大更新啊。

    2017-10-03 下午3:33 浙江省嘉兴市海宁市 电信 [回复]
  2. 路过,路过……

    2017-09-22 下午4:54 上海市 电信 [回复]

发表评论

9 + 1 = ?


快捷键:Ctrl+Enter