开源是近几年的热门词汇。自2017年7月Facebook的React开源软件被Apache基金会禁止使用,百度也宣布全面停止使用后,开源软件的合规使用引起了大家的关注。下面以React为例,看看开源软件的坑在哪。1、React的开源许可React原有的开源许可在Facebook的BSD许可中增加了专利防御保护条款,即BSD+Patents许可。1.解释原许可在版权授权(BSD)的基础上增加了防御性专利侵权条款(Patents),声明Facebook授予被许可人的专利权在以下三种情况下将被撤销:如果被许可人直接带来或针对Facebook及其子公司和附属公司的间接专利诉讼;针对其他方提起专利诉讼,且专利诉讼全部或部分源于Facebook、其子公司或关联公司的任何软件、技术、产品或产品服务;发起与React软件相关的专利诉讼并起诉其他方。通俗的理解是:只要提起专利诉讼,让Facebook成为被告或第三方,Facebook就可以撤回React的专利授权。许可和随后的FacebookQ&A明确表示,在以下情况下专利权不会被撤销:被许可人使用React创建竞争产品;被许可人就专利侵权以外的事项起诉Facebook;Facebook作为专利诉讼(原因不是BSD+Patents许可相关软件)的原告,被许可人的反诉。此外,Facebook还明确表示,专利许可的终止不会导致版权许可的终止。2、质疑漩涡Apache基金会于2017年7月禁止在Apache产品中使用符合BSD+PatentsLicense的JAR包,质疑的漩涡进一步发酵,社区对Facebook违背开源精神的行为提出了激烈质疑。虽然没有现成的案例支持。不过,引起大家关注的是,从许可文本来看,如果一家公司严重依赖React,Facebook可以免费使用该公司的所有专利。因为只要该公司对Facebook发起专利诉讼,该公司的React专利许可就会被撤销。在持续发酵的情况下,Facebook承诺更改许可证,并在9月26日兑现承诺,在React16发布时更改为MIT许可证。不过,Facebook仍然坚持使用原始许可的开源项目仍应引起关注。总的来说,Reactlicense的更换不仅是开源社区的胜利,同时也提高了企业和开发者对license重要性的认识,起到了警示作用。二、如何正确使用开源软件1、注意开源软件的合规性。与开源软件的广泛使用相对应,开源许可证的遵守情况不容乐观。从法律的角度来看,从用户引入一个开源软件的那一刻起,它的开源许可就会自动生效。如果用户未履行许可规定的义务(如添加版权声明),构成侵权或违约(合同),可能导致许可被撤销并承担相应的责任赔偿。例如Netfilter核心开发团队的PatrickMcHardy,以违反GPL许可为由威胁德国80多家公司,获利约200万欧元。之后,PatrickMcHardy被定义为“GPL盈利-版权奸商”。2016年12月16日,美国软件自由法律中心(SoftwareFreedomLawCenter)起诉三星等14家厂商违反GNU许可证。在中国,小米也因多次违反开源协议而受到社区的批评。从以上案例也可以看出,国内外企业对开源许可的义务和法律责任认识不足。综上所述,不按照开源许可的约定使用开源软件,将会引起潜在的法律纠纷或给企业带来名誉损失。因此,企业在使用开源软件时应建立审查制度。根据所开发软件的用途、用途、市场等情况,判断是否引入一款开源软件。对于软件开发服务商而言,首先应注意与客户的合同约定,在使用的前提和范围内履行通知客户或征得客户书面同意的义务。合同。以避免因使用开源软件而导致的合同违约或索赔。2、关注开源软件的安全性开源软件可能会因为贡献者的能力不同而存在安全漏洞。因此,开发者在享受开源软件带来的便利时,应注意漏洞的识别,并进行相应的代码安全审计,及时将披露的漏洞及修复方案告知客户。3.制定开源使用政策如果一家公司在其业务中广泛使用开源软件,那么制定和执行开源使用政策就变得更加重要。根据公司业务的不同,政策可以涵盖公司对开源的态度(是否支持、创建社区或加入某个社区),哪些应用可以开源,哪些应用可以使用开源软件;可以使用哪些许可类型的开源软件,审查过程等等。从而最大程度的规避公司的知识产权侵权风险。【本文为专栏作者“ThoughtWorks”原创稿件,微信公众号:Thinkworker,转载请联系原作者】点此查看该作者更多好文
