不要对 Facebook 的专利许可反应过度

对 Apache 基金会禁止 Facebook 的 BSD+专利许可用于 Apache 基金会项目的批评,经不起理性推敲。
741 位读者喜欢这篇文章。
a magnifying glass looking at a brain illustration

Opensource.com

最近,Apache 将 Facebook 的 BSD+专利许可下的代码重新分类为“X 类”,实际上禁止其未来对 Apache 基金会项目的贡献。此举重新点燃了关于专利授予的争议,但与开源社区中的许多事件一样,这种争议更多的是党派之争而非实际意义。 事实上,此举不太可能影响 React.js 的采用,而且对 BSD+专利授予的批评大多经不起理性推敲。

Facebook 的专利授予,官方称为 附加专利权授予版本 2,已经生效多年。 它适用于广受欢迎的 React.js 代码——一个用于渲染用户界面的 JavaScript 库。 使用该代码的主要技术公司的名单令人印象深刻,其中包括 Netflix 等面向消费者的巨头——当然,还有 Facebook 本身。

对旧的授权的新反应

鉴于并行专利许可模式并非新鲜事物,因此对这一消息的反应令人惊讶。 Facebook 在 2013 年发布了其 BSD+专利授权(并在 2015 年进行了修订)。 但 Google 在 2010 年对其 WebM 编解码器也以大张旗鼓的方式使用了类似的模式。 这种许可模式涉及两项并行且同时的权利授予:软件版权的 BSD 许可,以及实践读取该软件的专利的单独授予。 将两者放在一起意味着存在两个独立且并行的权利授予。 在这方面,它与 Apache 2.0 许可非常相似,像 BSD 一样,Apache 2.0 是一种宽松的许可,并且还包含一个防御性终止条款,该条款与版权许可授予同时存在。

对 Apache 基金会公告的大部分反应只是造成了混乱,例如 这篇文章 误导性地称其为“设有陷阱”。 事实上,许多开源许可证都具有防御性终止条款——这些条款通常被认为是阻止专利诉讼的合理机制,而不是陷阱。 它们也是一种规则而非例外; 所有具有专利授权的主要开源许可证也具有防御性终止条款——每个条款都略有不同。 Apache 已经拒绝的 Facebook 授权与 Apache 项目要求的 Apache 2.0 许可之间的区别比争论所暗示的要微妙得多。

防御性终止条款有多种形式

防御性终止条款在两个主要方面有所不同:终止的触发条件和终止权利的范围。 至于终止权利的范围,有两个阵营:仅终止专利权授予的(包括 Apache 2.0、Eclipse 公共许可证和 Facebook 授予)以及也终止版权许可的(Mozilla 公共许可证和 GPL 3)。 换句话说,对于大多数许可证,提起专利侵权诉讼只会导致专利权的终止; 对于其他许可证,提起专利诉讼也可能导致版权许可的终止——迫使某人停止使用该代码。 版权许可终止是一种更强的反专利机制,对私营企业来说风险更大,导致一些私营公司拒绝使用 GPL3 或 MPL 代码。

Facebook 授予与其他大多数开源许可证的不同之处在于其触发终止的阈值。 例如,在 Apache 2.0 中,专利授权的终止是由指控根据该许可提供的软件的专利索赔触发的。 其目的是为该软件创建一个“专利共享地”。 大多数其他开源许可证大致遵循这种计算方式。 如果被许可人针对 Facebook 或任何指控 Facebook 产品的方提起索赔,Facebook 专利许可也会终止。 在这方面,终止触发器类似于 IBM 多年前编写的 Common Public License 1.0 中的触发器。 (“如果接受者就适用于软件的专利对贡献者提起专利诉讼……那么该贡献者根据本协议授予该接受者的任何专利许可应自提起该诉讼之日起终止。”)

阳光下没有新鲜事

在开源领域之外的专利许可中,Facebook 授予范围内的防御性终止条款很常见。 如果被许可人对许可人提出专利索赔,则大多数专利许可都会终止。 原因是许可人不想在专利战中单方面“解除武装”。 大多数专利仅用于防御目的——当竞争对手起诉专利所有者时才会被主张。 A 起诉 B,然后 B 起诉 A,导致相互保证毁灭。 如果 B 在没有广泛防御性终止条款的情况下以开源许可证发布了其软件,则 B 可能会无权追索,并且为其开源代码的发布付出了高昂的代价。 A 可以同时免费使用 B 的软件开发并起诉 B 侵犯专利。

最后,Facebook 授权本身并不是什么新鲜事物。 该授权于 2013 年发布,此后 React.js 的受欢迎程度一直在增长。 与许多开源许可证一样,行业接受新许可证的意愿取决于以其发布的代码的美味程度。 就 React.js 而言,该代码很棒,并且专利许可条款是新的但合理的。

它是开源的吗?

有些人认为 BSD+专利条款违反了 开源定义。 OSD 不允许歧视个人、群体或领域的许可证。 但是专利授予没有许可范围限制; 如果被许可人行为不端,它就会终止——这种行为不端的行为阈值低于对代码作者采取行动的阈值。 因此,BSD+专利似乎不太可能违反 OSD,而且,CPL 已经获得开源倡议组织的批准。 与 BSD+专利一样,CPL 为基于针对代码作者的专利诉讼的终止设置了较低的阈值。

结果是什么?

Apache 基金会决定的实际结果尚不清楚。 X 类许可代码不能包含在 Apache 基金会存储库中。 (该类别还包括像 GPL 这样的许可证。)Apache 的重新分类并不意味着任何人都被限制使用 React.js——它只是不能提交到 Apache 项目中。 甚至不清楚 Apache 项目是否不能包含对 BSD+专利许可代码的依赖。

与此同时,在私营企业中,对在 BSD+专利条款下使用代码几乎没有争议。 大多数公司都审查了此许可证与其他许可证(如 Apache 2.0)相比的边际法律风险,并认为它微不足道。 除非公司决定起诉 Facebook(或指控其产品),否则终止触发器没有任何实际影响。 如果您想对一家开发并发布了一段很棒的代码的公司提起专利索赔,那么将该代码从您的业务中删除似乎是一个合理的代价。

一些争议似乎源于担心 Facebook 在许可条款中比其他人更有优势。 但这与损害开源社区不同。 BSD+专利授权建立了与 Apache 2.0 相同的“专利共享地”作为基线,但为贡献者(Facebook)提供了更多保护,使其免受被许可人的软件专利索赔。 一个如此反对软件专利的社区会发现这一点令人反感,尤其是在过去使用的各种防御性终止条款的情况下,这很奇怪。

请注意:此博客文章是关于 BSD+专利许可证,而不是关于 Facebook。 这篇文章仅代表我个人的观点,不代表 Facebook 的观点。 我确实代表 Facebook 处理开源事务,但我没有起草 BSD+专利许可授权。

本文最初发表在 FOSSA 博客 上,经许可转载。

Heather Meeker
Heather Meeker 是 O’Melveny & Myers 硅谷办事处的合伙人。 她为客户提供技术交易和知识产权方面的建议。 她是国际知名的开源软件许可专家。

2 条评论

我认为 PATENTS 条款具有歧视性,因为它只保护 Facebook 的专利,而不保护 React 本身的任何其他潜在贡献者的专利权。 React.js 有 1,000 多位贡献者,因此我不明白这如何帮助非 FB 员工。

另外:请使用“Apache 软件基金会”。 8-)

创造不公平竞争环境的事情总是会让开源社区感到不高兴。 参与者的利益分离是软件自由的核心。 通过给自己明确的优惠地位,Facebook 非常清楚地违反了开源和自由软件的这一核心原则。

Creative Commons License此作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。

您是开源新手吗?

浏览我们的资源集合。

© . All rights reserved.