发布于 2017-09-20 00:48:07 | 174 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

Facebook

Facebook是创办于美国的一个社交网络服务网站,于2004年2月4日上线。主要创始人为美国人马克·扎克伯格。Facebook是世界排名领先的照片分享站点


关于 Facebook 在 React 项目的开源许可协议上添加专利条款这件事,去年就已在前端技术圈引起了激烈的争论。

最近,React 项目的开源许可协议又开始被大众关注起来了,主要原因是不少科技公司纷纷宣布选择弃用 React,其中国内的如百度和阿里巴巴内部的软件工程团队都不约而同地选择弃用 React,国外的如 WordPress,也在近日宣布不再使用 Facebook 的 React JavaScript 库。

之所以这样做,皆是因为 Facebook 的 BSD+Patents 许可协议(即 BSD 许可证 + 专利许可证)。此前,React 项目采用的是 BSD 开源许可证,BSD 是十分宽松且对商业友好的开源许可证。但在 2016 年 7 月,React 在其开源许可协议中添加了一项附加专利条款 (Additional patent grant),这引起了激烈的争论。

React 官方团队的对此的描述是:React is BSD licensed. We also provide an additional patent grant.

BSD Lisense: https://en.wikipedia.org/wiki/BSD_licenses,没有异议。

问题出在了专利许可条款上:https://github.com/facebook/react/blob/master/PATENTS,节选原文如下:

The license granted hereunder will terminate, automatically and without notice, if you (or any of your subsidiaries, corporate affiliates or agents) initiate directly or indirectly, or take a direct financial interest in, any Patent Assertion: (i) against Facebook or any of its subsidiaries or corporate affiliates, (ii) against any party if such Patent Assertion arises in whole or in part from any software, technology, product or service of Facebook or any of its subsidiaries or corporate affiliates, or (iii) against any party relating to the Software.

归纳下来,可以理解为:如果你在项目中使用了 React,你不能做构成与 Facebook (包括其子公司及其合作方)竞争的事情,一旦你做了,会有极大的潜在危险。

  • 由 i 可以看出:因为如果你采取专利主张(诉讼)或者其他方式挑战 Facebook(包括其子公司及其合作方),那么你使用 React 的许可会被立即撤销。

  • 由 iii 可以看出:你不能与其他使用 React 的公司发生(专利)纠纷,否则你使用 React 的许可也会被撤销。

所以,在 Facebook 专利条款的约束下,使用了 React 的科技公司不得不重新考虑对 React 的选择。那么,React 的许可协议到底会给使用者带来怎样的影响?

下面转载了一位从业者对于国内互联网公司停止使用 React/React Native 的看法:

工作关系,精通美国专利法,在前东家后台支持过几次前两年美国公司最大规模专利诉讼。这里友善的的告知大家,本题里为 Facebook 洗地的那几个回答涉及专利法的内容都是错得离谱的

如果你在一个有国际化目标的公司工作,公司有出海的计划,而公司内部形成了使用 React 的风气,项目中大量使用,那很遗憾,你们公司所有各国专利事实上全部免费赠予 Facebook 使用。

整个事情的逻辑很简单,举个例子来说明:公司各项目前端各类东西全部用 react 来玩,用户体验一流效果美观,人人夸奖。突然一天,发现自己最核心的、和web/UI/react完全无关的大批核心专利被facebook拿去商用、给facebook带来巨大商业收益并且进而和你们产生直接商业竞争,此时怎么办?起诉facebook?别逗,facebook根据协议,在你提出诉讼的那刻自动撤回所有react相关专利授权,你们所有基于react的系统同时侵权滥用facebook的react专利。前端的东西不那么好藏对吧?facebook马上拿了证据去联邦法院、甚至各主要国家法院,要求关停你所有侵权的基于react的服务。届时你能有什么话说?公司前台商用的系统只得被动地从react全部立刻迁移出去,换到没有和react关系的平台上,出海阻碍、项目成本、损失、诉讼风险谁来扛?

以百度为例,按照react目前协议,要想不让facebook事实上免费大胆用自己人工智能、自动驾驶方面获颁的专利,唯一选择就是不让公司的前端用react。这笔帐,真的不难算。

上面有小白给facebook洗地,说facebook是防御性的使用这些条款,只要你不去告facebook专利侵权就没事。这个逻辑思维能力真的不适合写软件。为什么某公司会告facebook?告facebook什么?这两个问题不复杂,真的要说清。是告facebook专利侵权对吧?当你们公司选择react来构建大量系统的前台,facebook上来什么也不干,先让你用公司全部专利做抵押,这叫防御?拿到你们的专利抵押,facebook可以直接免费大胆商用你们的专利,而你们却不能轻易起诉,因为一旦你们起诉,你们的react系统就是人质,facebook马上可以反诉你们侵权,请问这叫防御?最悲惨的,你以为你react粉,积极内部推广react,残酷的事实是,你内部react系统越多,迁移成本越高时间越广,被人霸占专利的风险越高:因为他们手里人质更多。

还有一个洗地说法是很多别的美国公司诸如netflex、微软、苹果也用react。拜托,那些美国公司手里和facebook业务相关的专利你去看看,微软、苹果怕和你facebook打专利官司?Imagination说苹果一做GPU,就踩专利地雷阵,结果大家都看到了。微软的专利portfolio蓝星无敌,谁碰谁出局。netflix核心竞争力最根本的是手里的内容也就是片源,也不大搞别的互联网项目,BATJ肯把业务覆盖面缩到netflix一样窄,再来对比谈用react的风险才有意义。

这个事情要特别当心,react前端的东西,detectability没的说,这不同于你后台某服务器程序用了某某专利、某某库,只要你自己不去开源,别人无法发现难以证明。而且和一般的patent retaliation clause不一样,react这事情反复报道,涉及的react专利清晰明确,到时候扯皮的机会也没有。用某某库的时候retaliation clause要当心,自己被公司授权去开源某项目,license里的patent grant clause要当心。

评论里有人反复用“案例”来质问,基本是主张防范是浪费,要出事了用事故说明问题,这逻辑本身就不对。RocksDB以前也同样的BSD+Patent协议,知道自己后台系统用的,别人用了facebook也无法知道更无法证明,钓鱼成功概率接近零就自觉改了协议,(在改协议的时候有意或者无意的把LevelDB的协议去掉被老对头lmdb作者抓现行)。反观react,受关注更多,却死活不改协议,为什么?同一个公司,都是火热的两个开源项目,同样的协议上的问题,如此大的区别对待,还不够说明facebook在react协议上有小算盘?

作者:我做分布式系统 来源:知乎
转载已作者获得授权,非商业转载请注明出处。

不知道大家对此是怎么看的,欢迎大家理性发表自己的看法和观点。



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务