IT战略家程序员ios实用开发技巧

React开源条款争议影响升级,WordPress百度宣布停止使

2017-09-18  本文已影响791人  IT战略家

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

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

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

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

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

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

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

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

起诉Facebook?那么问题来了,根据React条款,在你提出诉讼的那一刻,自动撤回所有React相关专利授权,你们公司所有基于React的系统同时侵权滥用Facebook的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战略家,感谢支持!

上一篇下一篇

猜你喜欢

热点阅读