我们应该怎样使用开源软件

我们以React为例,看看开源软件的坑在哪里。

我们应该怎样使用开源软件

React的开源许可证

React最初的开源许可证为Facebook 在BSD许可证基础上附加了专利防御保护条款,即BSD+Patents license。

解读

  1. 如果被许可人对Facebook及其子公司、关联公司提出直接或间接的专利诉讼;
  2. 对其他方提起专利诉讼,且该专利诉讼全部或部分起因于Facebook、其子公司或者关联公司的任何软件、技术、产品或服务;
  3. 就React软件相关发起专利诉讼,起诉其他方。

许可证及后续Facebook的答疑中明确专利权在以下情形下不会被撤回:

  1. 被许可人使用React创造了竞争产品;
  2. 被许可人就专利侵权之外的事项起诉Facebook;
  3. Facebook作为专利诉讼(非因BSD+Patents license授权下的软件相关)的原告,被许可人反诉的情形。
我们应该怎样使用开源软件

质疑漩涡

Apache基金会在2017年7月禁止Apache 产品中使用遵循BSD+Patents License的JAR包。质疑漩涡进一步发酵,社区激烈地质疑Facebook违背了开源的精神。

在持续发酵的情况下,Facebook承诺更换许可证,并于9月26日遵守承诺在发布React16时更换为MIT许可证。然而,对Facebook还坚持使用原许可证的开源项目,仍然应该引起关注。总体而言,React许可证的更换不仅是开源社区的一次胜利,更是提高了企业、开发者对许可证重要性的认识、起到了警示作用。

如何正确使用开源软件

1. 关注开源软件使用的合规性

综上,未按照开源许可证约定使用开源软件会引发潜在的法律纠纷,或者给企业带来名誉损失。因此,企业在使用开源软件时应建立审查制度。依据开发软件的用途、目的、市场等情况判断是否引入某开源软件。

我们应该怎样使用开源软件

就软件开发服务提供者而言,应首先关注同客户的合同约定,在合同约定可以使用的前提和范围下,尽到对客户的通知义务或取得客户的书面同意。以避免因为使用开源软件导致的合同违约或者被追偿。

2. 关注开源软件使用的安全性

开源软件由于贡献者的能力不同导致可能存在安全漏洞。因此,开发者在享受开源软件的便利时,应注意漏洞的识别,并采取相应的代码安全审计,并将已披露漏洞及修复方案及时告知客户。

3. 制定开源软件使用政策。


文/朱伟燕,ThoughtWorks中国总法律顾问


分享到:


相關文章: