前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我们应该怎样使用开源软件 | 洞见

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

作者头像
ThoughtWorks
发布2018-07-23 11:56:49
6940
发布2018-07-23 11:56:49
举报
文章被收录于专栏:ThoughtWorksThoughtWorks

开源是近年来大火的词汇。自2017年7月Facebook的React开源软件被Apache基金会宣布禁止使用、百度也宣布全面停止使用以来,开源软件的合规性使用引发了大家的关注。

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

React的开源许可证

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

解读

原许可证在著作权授权使用(BSD)的基础上添加了防御性专利侵权条款(Patents),写明在以下三种情况下Facebook授予被许可人的专利权将被撤回:

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

通俗的可以理解为:只要因为你提起专利诉讼,让Facebook成为被告或者第三人,Facebook都可以撤回React的专利授权。

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

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

另外,Facebook也明确了专利授权的终止并不会导致著作权许可的终止。

质疑漩涡

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

虽然并没有现成的案例可以支持。然而,引起大家担忧的是从许可证文本约定来看,如果某公司强依赖性使用React,则Facebook可以自由使用该公司的所有专利。因为只要该公司发起对Facebook的专利诉讼,该公司的React的专利授权就会被撤回。

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


如何正确使用开源软件

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

同开源软件的广泛使用相对应,开源许可证的遵守情况却不容乐观。从法律的角度来讲,使用者自引入某开源软件的时刻起,其开源许可证将自动适用。使用者如未履行许可证规定的义务(如加入版权说明),即构成侵权,或者违反契约(合同)的行为,并因此可能造成许可证的撤回并承担相应的赔偿责任。

例如Netfilter核心开发者团队的 Patrick McHardy,以违反GPL许可证为理由,在德国威胁超过80家公司,并谋利约200万欧元。事后Patrick McHardy被定义为“GPL谋利-版权谋利者”。2016年12月16日美国的软件自由法律中心(Software Freedom Law Center)起诉包含三星在内的14家厂商违反GNU许可证。在中国国内,小米公司也因屡次违反开源协议而被社区指责。从以上案例中也可以看出国内外企业对开源许可证的义务、法律责任均认识不足。

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

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

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

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

制定开源软件使用政策

如果公司在业务中大量采用开源软件,则制定并执行开源使用政策就变得尤为重要。根据公司业务的不同,政策可以涵盖公司对开源的态度(是否支持,创建社区还是加入某社区)、哪些应用可以开源,哪些应用可以使用开源软件;哪些许可证类型的开源软件可以使用、审查流程等。从而最大限度的避免公司的知识产权侵权风险。

本文版权属ThoughtWorks公司所有,如需转载请在后台留言联系。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 思特沃克 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 质疑漩涡
  • 关注开源软件使用的合规性
  • 同开源软件的广泛使用相对应,开源许可证的遵守情况却不容乐观。从法律的角度来讲,使用者自引入某开源软件的时刻起,其开源许可证将自动适用。使用者如未履行许可证规定的义务(如加入版权说明),即构成侵权,或者违反契约(合同)的行为,并因此可能造成许可证的撤回并承担相应的赔偿责任。
  • 例如Netfilter核心开发者团队的 Patrick McHardy,以违反GPL许可证为理由,在德国威胁超过80家公司,并谋利约200万欧元。事后Patrick McHardy被定义为“GPL谋利-版权谋利者”。2016年12月16日美国的软件自由法律中心(Software Freedom Law Center)起诉包含三星在内的14家厂商违反GNU许可证。在中国国内,小米公司也因屡次违反开源协议而被社区指责。从以上案例中也可以看出国内外企业对开源许可证的义务、法律责任均认识不足。
  • 综上,未按照开源许可证约定使用开源软件会引发潜在的法律纠纷,或者给企业带来名誉损失。因此,企业在使用开源软件时应建立审查制度。依据开发软件的用途、目的、市场等情况判断是否引入某开源软件。
  • 就软件开发服务提供者而言,应首先关注同客户的合同约定,在合同约定可以使用的前提和范围下,尽到对客户的通知义务或取得客户的书面同意。以避免因为使用开源软件导致的合同违约或者被追偿。
  • 关注开源软件使用的安全性
  • 开源软件由于贡献者的能力不同导致可能存在安全漏洞。因此,开发者在享受开源软件的便利时,应注意漏洞的识别,并采取相应的代码安全审计,并将已披露漏洞及修复方案及时告知客户。
  • 制定开源软件使用政策
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档