写点什么

Facebook 拒绝修改 React 的开源许可条款

  • 2017-08-28
  • 本文字数:1319 字

    阅读完需:约 4 分钟

最近,Apache 软件基金会宣布,Facebook 的 BSD+ 专利模式的开源许可协议不再适用于 Apache 的软件产品。React 开发人员一片哗然,而 Facebook 到目前为止拒绝做出任何改变。

根据 Facebook 的说法,BSD+ 专利的许可协议是为了保护自己免受专利流氓的侵害。Facebook 的工程主管 Adam Wolff 解释说:

我们的成功导致了我们成为那些不道德专利诉讼的目标,所以我们决定在 3-Clause BSD 许可的前提下增加专利许可,形成了目前的这种 BSD+ 专利的许可协议。专利许可的核心内容是说,如果有人使用了我们基于该许可发布的软件,那么当他们向我们提起任何专利诉讼时,他们已经失去了自己产品的专利许可。

也就是说,如果你使用了 React,当你向 Facebook 提起专利诉讼时,你的 React 应用已经没有了专利许可。专利律师 Dennis Walsh,这完全就是一只“纸老虎”,因为不管怎么说,现在似乎并不存在与 React 相关的专利或专利应用。

为了界定 Facebook 的专利责任,我们必须对 Facebook 的各种专利进行评估,或者更具体地说,我们需要确认 Facebook 是否对 React 技术提出过专利申请……这不是一个小问题。但从我粗略的调查和 Facebook 的条款来看,这个答案是否定的……我相信,只要 React 中有任何东西是可以申请专利的,那么美国专利商标局和法庭是不会加以阻拦的。

在决定将 Facebook 的许可协议归为 X 类别(不适用于 Apache 的软件产品)时,Apache 基金会是这么说的:

Facebook 的 BSD+ 专利许可协议里包含了一份特殊的 PATENTS 文件,它将风险带给了我们软件的下游用户,这样对于许可颁发者来说是有利的,但对于许可接收者来说只有风险,而这不符合 Apache 作为唯一捐献者的条例。

Apache 的决定也是有问题的,因为 Facebook 的 React 已经被广泛地应用在很多项目中,这些项目都遵循经 Apache 批准的许可。开发人员如果要继续站在 Apache 这一边,可能需要将 React.js 从他们的项目中移除。Hacker News 上针对此事展开了激烈的讨论,一个叫作 kevinflo 的用户写道,那些无偿为React 做出贡献的开发者“在道德上是有理由停止这个项目的”,并且还说React 是“开源社区的木马”,是为了赢得战争而设的一个“局”。

Raul Kripalani 说,初创公司不应该使用React ,因为如果使用了React,那么那些意欲向Facebook 提出诉讼的大公司就不太可能收购这些初创公司。当然,世界上还存在很多其他类型的公司,包括非盈利组织。有些评论者还指出,他们的国家并不存在所谓的软件专利。

部分开发者认为,对开源软件抱有不道德的态度才是问题所在。kevinflo 说,“开源软件不应该是这样的”。另一个Hacker News 用户 chrisco255 认为这个有点言过其实了:

除非你们准备了几百万美金与 Facebook 打专利战(或者说你有需要保护的专利吗?),否则它就不关你们的事。你们应该专注于如何构建更好的产品上,而不是把精力浪费在专利诉讼上。

“我们也意识到,我们或许会失去一些 React 社区成员”,Wolff 写道。

我们为此感到抱歉,但我们必须在开源和自我保护之间做出权衡。我们认为,修改协议只会遏制我们在开发有意义的开源软件方面的能力,并且会让我们在不道德的诉讼上浪费更多的时间和金钱。

查看英文原文: Facebook Refuses to Alter React’s Open Source License

2017-08-28 19:008959
用户头像

发布了 322 篇内容, 共 147.1 次阅读, 收获喜欢 148 次。

关注

评论

发布
暂无评论
发现更多内容

等你加入|建木开源社区团队成员招募

Jianmu

开源社区 自动化运维 社区运营 志愿者招募

LabVIEW控制Arduino采集多路模拟量、数字量(进阶篇—1)

不脱发的程序猿

单片机 LabVIEW VISA Arduino Uno 采集多路模拟量、数字量

数据库每日一题---第3天:大的国家

知心宝贝

数据库 算法 前端 后端 6月月更

Squarespace 和 WordPress 的区别

海拥(haiyong.site)

WordPress 6月月更

JavaScript迭代器

大熊G

JavaScript 前端 6月月更

《WebRTC源码深入剖析》总结

音视频专家-李超

源码分析 音视频 WebRTC 源码剖析

Flink on yarn 远程调试源码

JasonLee实时计算

flink

【Spring 学习笔记(四)】Spring Bean 集合注入和自动装配

倔强的牛角

spring Java EE 6月月更

【LeetCode】数组中第 K 个独一无二的字符串Java题解

Albert

LeetCode 6月月更

支付系统安全设计思维导图

靠谱的程序员

支付安全

关于 SAP Commerce Cloud 的 Sample Setup Github 仓库

汪子熙

typescript angular SAP commerce 6月月更

【腾讯云代码分析】五月上新+新功能前瞻

腾源会

700行无用 纯 CSS 祝考生 金榜高粽《1_bit 的无用 CSS 代码 》

1_bit

CSS html 前端

抖音大举进军电商领域:这步棋应该如何下

石头IT视角

SDN系统方法 | 4. 裸金属交换机

俞凡

架构 网络 sdn SDN系统方法

Linux驱动开发_数码相册项目、360WIFI驱动移植介绍

DS小龙哥

6月月更

学生管理系统架构文档

爱晒太阳的大白

外包学生管理系统

极客土豆

Jetpack Composes 之TextField详解

坚果

6月月更

【盲盒APP】开发功能版块及功能介绍

WDL22119

使用 TensorFlow 和 Express.js 实现AI图像识别

devpoint

tensorflow Express 6月月更

java构造器(构造方法、构造函数)

写代码两年半

面试 javase 构造函数 6月月更

区块链mass哈希競猜dapp游戏开发源代码(多游戏)

开发微hkkf5566

模块3作业(外包学生管理系统架构文档)

Geek_701557

Web Service进阶(三)HTTP-GET, HTTP-POST and SOAP的比较

No Silver Bullet

soap 6月月更 Web Service HTTP-GET HTTP-POST

Flink 通过 State Processor API 实现状态的读取和写入

JasonLee实时计算

flink

以购物清单为例讲述 Redux 的状态如何在 Flutter 多个组件间共享

岛上码农

flutter 安卓开发 ios 开发 跨平台应用 6月月更

Sentinel与OpenFeign 服务熔断那些事

牧小农

sentinel openfeign

Python环境搭建

芯动大师

Python编程 6月月更 Python环境

初识SDN网络

穿过生命散发芬芳

SDN网络 6月月更

Web Service进阶(一)运行原理

No Silver Bullet

6月月更 Web Service 运行原理

Facebook拒绝修改React的开源许可条款_开源_David Iffland_InfoQ精选文章