澳门新葡亰信誉平台游戏关于 React 和 WordPress

by admin on 2020年4月5日

WordPress CMS 和 React.js 这二者在之前并无联系,直到最近 WordPress
的全新内容编辑器
Gutenberg 的出现,现状被改变。

日前,WordPress 创始人 Matt 在其博客上发文,称决定停止使用
React,原因是涉及专利问题。加上近期百度也要求外部产品线停止使用React /
React
Native等Facebook下涉及特定专利条款的开源产品的事,科技圈内一时间鼎沸起来。

作者介绍:Matthew Mullenweg,是 WordPress
创始开发者之一。原文发表日期:2017-09-14。英文原文链接。本文由
Wordpress Hi澳门新葡亰信誉平台游戏,
翻译,未经允许禁止转载。

Gutenberg 这个被寄予很高期望的模块编辑器,旨在让用户添加和编辑富文本内容更加简单和愉悦。它基本上不需要用户掌握任何
HTML 知识,不需要输入短代码,不需要为嵌入其他网页的 embed
元素而发愁。所有的网页内容都被模块化,只需要根据提示加入想要的 block
就可以。

WordPress 是一种使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL
数据库的服务器上架设属于自己的网站,也可以把 WordPress
当作一个内容管理系统(CMS)来使用。

大公司喜欢在周五埋伏一些不太令人愉快的新闻:几个星期之前,Facebook
宣布
,他们已经决定除了 React
许可证将深入研究其他项目的专利条款,尽管在此之前 Apache
已经宣布说,它们已经不再被允许作为 Apache.org
的项目。用他们的话说,就是去掉专利条款,将“增加他们处理各种没有法律依据诉讼的时间和金钱”。

功能听起来十分不错,但这个混合了 GPLv2 和 React
许可的项目,同时也让不少人会担忧,React 的 BSD + Patents 授权会对
WordPress 造成影响。

WordPress 几乎所有项目都基于 React 开发。比如,最近几年使用 React 重构了
WordPress.com ,也就是所谓的 Calypso 项目,还有 WordPress 4.8
版本之后开始的 Gutenberg (古腾堡) 项目,也是基于 React 开发的。

我不会去评判
Facebook,也不会说他们是错的,那不该由我来做。他们已经决定了对于他们来说正确的事情
——
那个是他们的工作,他们可以决定任何自己想要的许可条款。我很感激他们已经很明确地表达了立场。

我搜索了这个问题,但似乎没有找到关于 React
是不是真正开源的确切结果。如果 Gutenberg
被合并到主要产品中,那么如何使用 WordPress 将成为一个问题。

—— Jeremy Karlsson

WordPress为何会做出这个决定不啻于壮士断腕的决定呢?还得从React的专利协议说起。

几年前,Automattic 以 React 为基础重写了 WordPress.com,那个版本我们叫
Calypso
,我相信这个是基于 React
的最大开源项目之一了。就像之前我们的法律顾问写的,我们决定决不要碰上专利问题。如今这个原则还是一如既往,总的来说,React,我们曾经使用的非常愉快。最近以来,Wordpress
社区开始在
Gutenberg
中使用 React,Gutenberg
是我们已经接手好几年的最大的核心项目(译者注:Gutenberg
是 WordPress 的核心编辑器,该功能已经作为插件单独发布)。人们使用 React
的体验以及 React 社区的大小 —— 包括 Calypso —— 是在 Gutenberg 中使用
React 的因素之一。同时这也使得 React 成为 WordPress
的新的事实标准,以及有了成千上万为 WordPress 编写的插件。

Gutenberg 目前还处于发展阶段,可作为 WordPress 的插件使用,但还不是
WordPress  核心产品的一部分,所以二者的许可证是分开的
。社区中更多的声音是希望 WP 采用
Vue.js 作为视图库。不过 WordPress
的母公司 Automattic 似乎对 React 有做大量投资,看起来早晚会推动 React
的通过。

React.js 萌芽于 Facebook 内部开发 Instagram
的项目中,是一个用来构建用户界面的优秀
JS(JavaScript,一种直译式脚本语言) 库,于 2013 年 5 月开源。

我们曾经也是用千言万语称赞过 React
有多好,以及我们是如何官方正式地把它使用在 WordPress
中,以及鼓励插件开发也这么做。我坐在那个岗位上,希望专利问题能以某种方式解决,让我们可以很安心轻松地传递给我们的用户的一种方式解决。

澳门新葡亰信誉平台游戏 1

在 2016 年 7 月,React.js 开源许可协议加入附加专利条款(Additional patent
grant),BSD 许可证 + 专利许可证模式引起业界激烈争论。

那篇文章不会发表,相反我在这里要说的是 Gutenberg
开发团队将要往后退一步,然后使用一种不同的库来重写
Gutenberg
。这个很有可能将 Gutenberg
的开发进程延迟至少几个星期,并把其发布日期推迟到明年。

(文/开源中国)    

根据React条款,如果公司使用了 React,则不能做构成与 Facebook
(包括其子公司及其合作方)竞争的事情,一旦做了,将可能面临专利损失、诉讼必败、大幅增加成本的潜在风险。

Automattic 也将会使用 Gutenberg 选择的库来重写 Calypso ——
那将会花费更长时间,然后虽然 Automattic
仍然还没有遇到专利条款的问题,但是重写对于 Automattic
的生意,保持核心的长期一致性短期的冲击更有价值。核心 WordPress
的更新,有着超过所有网站的四分之一的范围影响,让他们继承父级专利条款,不是我想要的。

简单说来,比如你公司的项目前端使用了React,用户体验一流效果美观。然后突然一天,发现自己最核心的、和web/UI/react完全无关的大批核心专利被Facebook拿去商用、给Facebook带来巨大商业收益并且进而和你们产生直接商业竞争,此时怎么办?

我认为 Facebook 的专利实际上比很多其他类似公司能采取的都要明确清晰,同时
Facebook
也是较好的开源贡献者之一。但是我们有太多问题需要着手处理,说服世界
Facebook 的专利条款不错,并不是我们该做的。那是他们的抗争。

起诉Facebook?那么问题来了,根据React条款,在你提出诉讼的那一刻,自动撤回所有React相关专利授权,你们公司所有基于React的系统同时侵权滥用Facebook的React专利。

关于决定以后使用哪个库又将会是另外一篇文章了;那个就主要是技术上的决定了。我们将会找一些和
React
大部分优点好处相似的,但是没有对很多人造成困扰和威胁的专利条款包袱的库。感谢花费时间分享想法以及给这些问题提出反馈的所有人
—— 我们一直在倾听。

也就是说,对于使用了React的公司来说,要么将专利拱手让人,要么将所有项目框架迁移重构。这不但是个劳心劳力的工作,而且在迁移完毕后,不论是用户体验还是稳定性,都很可能达不到迁移前水平。

几周前,Facebook再次发表了一篇关于 React
使用许可协议的官方声明,称任何人不能将React用于Facebook及其合作公司有直接或间接竞争关系的项目中,否则
Facebook 公司自动取消其使用许可。

该声明在科技圈引起轩然大波,毕竟React 的应用范围十分广泛,包括 BAT
在内的许多大公司很多项目都是基于其开发的。

当前,百度也已经要求外部产品线停止使用React / React
Native等Facebook下涉及特定专利条款的开源产品,给半年时间来「转型」,推荐使用Vue或者自研的San作为替代方案。内部产品如果是新产品,则不能使用React。此外,百度内部也在自研React
Native的替代方案。

受制于React协议,百度要想不让Facebook事实上免费大胆用自己人工智能、自动驾驶等最先进技术获颁的专利,唯一选择就是不让公司的前端用React。

百度的先行,是否意味着国内大公司在Facebook条款的约束下,也有逐步停用React
/ React Native 技术栈的可能呢?

Matt 在文章中表示,WordPress 最近几年对 React
非常满意,不过现在还是决定放弃
React,并已经和核心开发者进行交流,开始进行新的技术选型。

原本,开源软件 和
专利/软件著作权是南辕北辙的两个方向,甚至是截然不同的价值观。

React.js 开源许可协议附加专利条款公布后,Facebook 于11
月发布官方问答,对附加专利条款进行澄清,对其 BSD 许可证 +
专利许可证模式的解释和坚持。

2017 年 7 月,Apache
基金会宣布,任何新项目、子项目或代码库都不允许使用遵循 Facebook 公司
“BSD 许可证 +
专利开源协议”的Jar包。也许是要缓和气氛,Facebook的数据库引擎 RocksDB
已于 7 月 27 日将许可证正式由 BSD 许可证 + 专利许可证 更改为 Apache
2.0。但 React.js 貌似是一个特殊的项目(74K+ stars =,=),Facebook
公司似乎有意继续保留专利条款。

Apache 基金会把 Facebook BSD+Patents 加入禁止名单

Facebook宣称是为了防止有公司恶意诉讼自己侵权,保护自己的核心产品。但协议的霸道,还是难免让人怀疑其通过在开源软件里塞私货来妨碍小公司崛起,进一步巩固自己的垄断地位。

开源一直备受广大开发者欢迎,全球TOP30的开源项目背后,都有经营最成功的基金会,包括Linux基金会、CNCF、Cloud
Foundry基金会、.NET 基金会、OpenStack基金会、Node.js
基金会、Apache软件基金会等。

全球TOP30开源项目

引用一句话:开源社区对 Facebook
不断捍卫和澄清这种特殊授权感到了厌倦,开源将继续坚持对
“邪恶公司”的抵制,而 Facebook 很容易被归为此类公司。

Facebook org 下包含该 PATENTS License 的仓库一共有 107 个。其中涵盖
IOS、Android、PHP、js、Java 等诸多领域
框架/库。其中前端就有:dataloader、draft-js、fbjs、flow、flux、immutable-js、jest、prepack、prop-types、react、react-devtools、react-native、react-native-applinks、react-vr、reason、relay等。

一石激起千层浪,考虑到使用开源可能会付出的代价,很多公司可能都将加大技术投入。对公司和工程师们来说,也将迎来一次成长机会。

​  期望时代变迁有您相伴——点击关注IT战略家,感谢支持!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图