开源常见的问题和解决流程方法当业务有国内、出海规范需求的时候一般会对开源组件有明确合规的要求,如文中所示:1、开源信息整理对项目中使用的每一个开源组件名称、版本号、下载链接地址,并确认是否对开源软件做出修改,是否对开源软件进行分发。一般情况需要尽量保证提供的信息准确,开源软件使用的许可协议可能因不同版本而存在类型差异,因此开发团队需要提供准确的版本号,准确的下载链接,明确开源软件许可协议文件,以免在审核过程中出现问题。2、怎样判断是否对开源软件构成分发?以任何方式对外(譬如用户)提供开源软件,例如通过邮件、U盘、云、私有部署等使外部能够获得开源软件,即构成分发。通过SaaS等仅提供服务,而不提供开源软件的,则不构成分发。以下表格列明的场景可供开发团队参考。开源组件(源代码/二进制代码)在哪里调用不构成分发构成分发仅在服务后端√ 从第三方软件库下载至客户端电脑/手机/其他终端设备√ 提供私有部署云端产品 (即是开源软件组件须要安装于客户的服务器里) √其他人在自己服务上下载至客户端电脑/手机/其他终端设备 √提供下载 √以任何其他方式提供给客户使用 √3、对外分发开源软件应注意什么对外分
最近在优化业务在国内外合规问题,并整理了所有依赖包的开源协议,顺便讲开源协议的规则共享一份。常见两类开源开源协议上百种。常见的开源许可协议主要有 Apache、MIT、BSD、GPL、LGPL、MPL等,可以大致分为两大类:宽松型开源许可协议和传染型开源许可协议。宽松型其中宽松型开源许可协议有Apache、MIT、BSD;协议说明1、BSD(二条款版)分发软件时,必须保留原始的许可证声明。2、BSD(三条款版)分发软件时,必须保留原始的许可证声明。不得使用原始作者的名字为软件促销。3、MIT 分发软件时,必须保留原始的许可证声明,与 BSD(二条款版)基本一致。4、Apache 2 分发软件时,必须保留原始的许可证声明。凡是修改过的文件,必须向用户说明该文件修改过;没有修改过的文件,必须保持许可证不变。基本特点:1、没有使用限制。用户可以使用代码,做任何想做的事情。2、没有担保。不保证代码质量,用户自担风险。3、披露要求(notice requirement)用户必须披露原始作者。传染型传染型开源许可协议有GPL 、LGPL、MPL。协议说明1、Affero GPL (AGPL) 如果
首乌
十年老程序员
粤ICP备2023052298号-1