0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

以React为例 浅谈开源软件合规性使用

电子工程师 ? 来源:网络整理 ? 作者:工程师飞燕 ? 2018-06-19 10:55 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

一、React的开源许可证

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

1. 解读

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

如果被许可人对Facebook及其子公司、关联公司提出直接或间接的专利诉讼;

对其他方提起专利诉讼,且该专利诉讼全部或部分起因于Facebook、其子公司或者关联公司的任何软件、技术、产品或服务;

就React软件相关发起专利诉讼,起诉其他方。

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

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

被许可人使用React创造了竞争产品;

被许可人就专利侵权之外的事项起诉Facebook;

Facebook作为专利诉讼(非因BSD+Patents license授权下的软件相关)的原告,被许可人反诉的情形。

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

2. 质疑漩涡

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

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

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

二、如何正确使用开源软件

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

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

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

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

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

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

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

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

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源软件
    +关注

    关注

    0

    文章

    212

    浏览量

    16324
  • Facebook
    +关注

    关注

    3

    文章

    1432

    浏览量

    57154
  • Apache
    +关注

    关注

    0

    文章

    64

    浏览量

    12758
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    汽车软件团队必看:基于静态代码分析工具Perforce QAC的ISO 26262实践

    ISO 26262指南,从ASIL分级到工具落地,手把手教你用静态代码分析(Perforce QAC)实现高效
    的头像 发表于 08-07 17:33 ?298次阅读
    汽车<b class='flag-5'>软件</b>团队必看:基于静态代码分析工具Perforce QAC的ISO 26262<b class='flag-5'>合</b><b class='flag-5'>规</b>实践

    二手 ABB 电路板 / 板卡选购全指南:从兼容的核心考量

    本文聚焦二手 ABB 电路板 / 板卡选购,系统阐述从兼容的核心考量因素,涵盖硬件、软件兼容
    的头像 发表于 06-11 09:57 ?269次阅读

    EMC电磁兼容摸底检测测试整改:如何助产品上市

    南柯电子|EMC电磁兼容摸底检测测试整改:如何助产品上市
    的头像 发表于 04-27 11:33 ?330次阅读

    显示器EMC电磁兼容测试整改:测试到的指南

    深圳南柯电子|显示器EMC电磁兼容测试整改:测试到的指南
    的头像 发表于 04-15 11:18 ?668次阅读
    显示器EMC电磁兼容<b class='flag-5'>性</b>测试整改:测试到<b class='flag-5'>合</b><b class='flag-5'>规</b>的指南

    浅谈MCU (MGEQ1C064) OTA升级

    本帖最后由 noctor 于 2025-3-4 16:17 编辑 浅谈MCU (MGEQ1C064) OTA升级 OTA升级汽车打造新价值 OTA升级(Over-The-Air
    发表于 03-04 12:52

    澜起科技MXC芯片列入首批CXL 2.0供应商清单

    近日,澜起科技研发的CXL内存扩展控制器(MXC)芯片成功通过了CXL 2.0测试,列入CXL联盟公布的首批CXL 2.0供应商清
    的头像 发表于 01-21 10:32 ?639次阅读
    澜起科技MXC芯片列入首批CXL 2.0<b class='flag-5'>合</b><b class='flag-5'>规</b>供应商清单

    使用SSR构建React应用的步骤

    App等脚手架工具快速创建一个React项目。 根据需要配置Babel、Webpack等构建工具,确保项目能够正确编译和运行。 安装必要的依赖 : 安装ReactReact-DO
    的头像 发表于 11-18 11:30 ?959次阅读

    海外爬虫IP的合法边界:探讨与实践

    海外爬虫IP的合法边界主要涉及探讨与实践。
    的头像 发表于 10-12 07:56 ?690次阅读

    精密ADC系统EMC测试应用说明

    电子发烧友网站提供《精密ADC系统EMC测试应用说明.pdf》资料免费下载
    发表于 09-12 09:18 ?0次下载
    精密ADC系统EMC<b class='flag-5'>合</b><b class='flag-5'>规</b><b class='flag-5'>性</b>测试应用说明

    DP83822 Profinet电缆断裂测试

    电子发烧友网站提供《DP83822 Profinet电缆断裂测试.pdf》资料免费下载
    发表于 09-03 10:27 ?0次下载
    DP83822 Profinet<b class='flag-5'>合</b><b class='flag-5'>规</b><b class='flag-5'>性</b>电缆断裂测试

    LMK6H和LMKDB1xxx PCI Express报告

    电子发烧友网站提供《LMK6H和LMKDB1xxx PCI Express报告.pdf》资料免费下载
    发表于 08-29 09:47 ?0次下载
    LMK6H和LMKDB1xxx PCI Express<b class='flag-5'>合</b><b class='flag-5'>规</b><b class='flag-5'>性</b>报告

    LMK6H PCI Express报告

    电子发烧友网站提供《LMK6H PCI Express报告.pdf》资料免费下载
    发表于 08-29 09:44 ?0次下载
    LMK6H PCI Express<b class='flag-5'>合</b><b class='flag-5'>规</b><b class='flag-5'>性</b>报告

    LMKDB1xxx PCI Express报告

    电子发烧友网站提供《LMKDB1xxx PCI Express报告.pdf》资料免费下载
    发表于 08-29 09:44 ?0次下载
    LMKDB1xxx PCI Express<b class='flag-5'>合</b><b class='flag-5'>规</b><b class='flag-5'>性</b>报告

    如何配置DP8386x进行以太网测试

    电子发烧友网站提供《如何配置DP8386x进行以太网测试.pdf》资料免费下载
    发表于 08-28 09:37 ?1次下载
    如何配置DP8386x<b class='flag-5'>以</b>进行以太网<b class='flag-5'>合</b><b class='flag-5'>规</b><b class='flag-5'>性</b>测试

    DP83TC811:Open Alliance规范测试所用的配置

    电子发烧友网站提供《DP83TC811:Open Alliance规范测试所用的配置.pdf》资料免费下载
    发表于 08-27 09:50 ?0次下载
    DP83TC811:Open Alliance规范<b class='flag-5'>合</b><b class='flag-5'>规</b><b class='flag-5'>性</b>测试所用的配置