导读:1、开源许可证简介2、如何选择开源许可证?3、SaaS对开源的挑战4、如何合规使用开源软件?开源许可证简介开放源代码(OpenSource)有时也被称为自由软件(Free Software),正如FSF(自由软件基金会:Free Software Foundation)所说,"think free speech,not free beer",开源并不等同于免费,也不意味着可以随意使用开源许可证是开源软件作者和用户之间的法律协议,规定了使用、复制、修改和发布开源软件的条款和条件,作者免费提供开源软件,但用户必须遵守相关的要求开源许可证是开源软件生态系统的基础,可促进软件的系统开发OSI(开放源代码促进会:Open Source Initiative)支持的开源许可证有100多种,其中常用的主要有6种开源许可证,包括GPL、BSD、MIT、Apache2.0、LGPL、和Eclipse Public License、CDDL、Mozilla Public License,可能超过99%以上的开源项目都是使用这6种开源许可证这些许可证又可以分为两类:宽松自由软件许可证(Permissive free software license)和著作权许可证(Copyleft license)宽松自由软件许可证不要求修改后的软件继续保持与原软件相同的限制条件,从而为原作品的自由使用、修改和分发等提供了更大的空间,如BSD、MIT、Apache等;著作权许可证要求分发的衍生软件必须符合同样的许可证,并提供源代码,如GPL属于强著作权许可证,LGPL、MPL、EPL等属于弱著作权许可证如何选择开源许可证?阮一峰画了一个简易的开源许可证选择器,如下图所示:图片来源:https://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html如果这些许可证无法满足你的需求,可以考虑使用Heather J.Meeker 在其个人网站上公布的 license-picker-2.0(https://heathermeeker.com/license-picker-2-0/),其支持了LGPLv3、GPLv3和AGPLv3等许可证SaaS对开源的挑战2018年10月,MongoDB宣布其开源许可证从AGPLv3切换到SSPL,新许可证适用于新版本的MongoDB Community Server以及打过补丁的旧版本MongoDB此次修改协议并不是针对美国云服务商,事实上原来的AGPLv3协议已经限制了云厂商提供相应服务,AWS、Azure和GCP都没有直接提供MongoDB服务,而是针对中国的阿里云、腾讯云和俄罗斯的Yandex等云服务商MongoDB曾将SSPL协议提交OSI评审,但并没有获得OSI的认可2021年2月,Elastic公司宣布将ElasticSearch和Kibana的开源许可证从Apache2.0变更为SSPL(MongoDB发起的协议)和Elastic License,并宣传:“只要你不是公有云厂商,License变化和你一点关系都没有,自己搭建部署ELK没有任何合规问题只是针对基于它做公有云服务盈利,还不开源出来回馈社区的这种情况云厂商也可以继续使用ElasticSearch,只不过前提是要全部开源出来”2021年4月,Grafana Labs将三个开源产品Grafana、Loki和Tempo的许可证从Apache2.0更改为AGPLv3,其还特意回应了为什么选择开源的AGPLv3协议,而不是SSPL协议,后者并非是OSI认可的开源协议云服务商提供的SaaS服务对开源软件的商业化构成了极大的挑战,一些项目如MongoDB、ElasticSearch等选择将许可证变更为特殊的SSPL,一些项目如Grafana选择将许可证变更为APGL v3,其仍然是被OSI认可的开源许可证,这也是商业开源软件应对云服务商 “白嫖” 的一种路径如何合规使用开源软件?正如上文所说,开源许可证是开源软件作者与用户之间的法律协议,作者有权选择适当的许可证以保护自己的权利,如采用AGPL v3协议避免云服务商“白嫖”,而用户使用开源软件的过程中则需要遵循相应许可证的限制如:国内字节跳动旗下火山引擎使用Skywalking过程中没有遵守Apache2.0的许可证要求,被Skywalking控诉侵权对企业用户来说,应该如何合规使用开源软件?哪些许可证可以放心使用,哪些需要进行评估,哪些需要避免使用呢?简单来说,可以参考以下表格:来源:http://bit.ly/heather_meeker_licensing在评估开源项目合规的过程中,OSS.Capital 孵化了 FOSSA平台(https://fossa.com/),其支持大多数许可证的风险识别,并且可以无缝集成到CI/CD流水线,让开发团队在现有工作流中审计、分析和修复开源软件合规风险实际上开源合规不是由一个人完成的,虽然软件供应链变得越来越大、越来越复杂,现代软件供应链可能包括一个OSS社区、一个软件供应商、一个提供SDK的半导体供应商和一个最终产品供应商,如果任何成员不遵守许可证协议或不能提供适当的许可证信息,则将对有义务遵守许可证的供应商造成重大影响,违规可能导致产品停售,如果供应商在售卖前不知道违规,则可能收到著作权或第三方提出的违规询问如果在上游供应链中适当管理开源合规,这些问题是可以避免的Linux基金会OpenChain提供了一个自我检查程序,公司可以使用它来审查内部软件供应链的合规问题,详情参考:https://certification.openchainproject.org/本篇是 #商业开源公司 的第三篇,对相关主题感兴趣的同学可以关注后续更新开源正在吞噬世界商业开源软件的演进(图片来源网络,侵删)
本文是 #商业开源软件 系列的第三篇,开源软件面临的第一个问题就是许可证,我们看看开源软件如何选择授权许可证,以及客户如何合规使用开源软件
0 评论