WordPress 弃用 React,并将进行重写
创始人
2024-03-01 20:32:48
0

开源网络出版软件 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 的业务规模和范围使得该条款变得非常可怕。它们最终必须放弃。”


**译者简介:**薛亮,集慧智佳知识产权咨询公司高级咨询师,擅长专利检索、专利分析、竞争对手跟踪、FTO分析、开源软件知识产权风险分析,致力于为互联网企业、高科技公司提供知识产权咨询服务。

相关内容

React是怎么设计的?有...
React设计模式 😎Hello朋友你好...
2025-05-30 06:41:02
不`then`或`awai...
当不使用then或await来处理异步函数时,在React和Exp...
2025-01-12 19:00:33
捕捉React Nativ...
在React Native中,你可以使用YellowBox组件来捕...
2025-01-12 16:31:40
捕捉到TypeError:...
这个错误通常在React中的路由器中使用。如果您正在使用React...
2025-01-12 15:31:04
不重新渲染列表的情况下更新...
在React中,可以使用map()函数来更新列表项,而不重新渲染整...
2025-01-12 14:01:56
不重新渲染祖先组件的情况下...
在React中,可以使用React.memo()函数来优化组件的重...
2025-01-12 14:01:35

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...