其他分享
首页 > 其他分享> > 达摩克利斯之剑:开源软件的合规风险及防控策略

达摩克利斯之剑:开源软件的合规风险及防控策略

作者:互联网

作者简介

冯才效,SEAL 安全工程师,拥有6年云计算领域经验,先后参与 Rancher, Harvester 等开源项目。现致力于编写开发者友好型的软件供应链安全检修工具。

开源软件运动兴起于上个世纪,近几年在国内愈发活跃,各类开源项目如雨后春笋般涌现。与此同时,大部分企业开始拥抱开源。开源软件的使用避免重复造轮子,提升了产品研发效率,但同时也可能会带来隐藏的风险。

开源软件和商业软件不同,开源软件是面向公众开放软件源代码,代码的获取者享受在其许可证授权范围内操作开源软件的权利。不同许可证之间,具体条款可能存在冲突。因此,开源许可证合规是风险防控的重要考虑因素之一。

开源软件合规风险

知识产权纠纷

开源软件并不意味着用户可以自由使用,而是通过许可证规定使用者使用、修改和发布软件的权利。大多数现代软件都集成了大量的开源组件,它们使用的许可证在具体的条款上存在差异,不遵守许可证规定使用,将可能造成侵权,严重时可能会面临法律诉讼,产品召回等风险。

许可证冲突

不同许可证的条款各不相同,开发软件的过程中也将多个不同的开源组件合并成新软件,若使用的开源软件许可证条款之间存在冲突,将可能使得合并成的新软件不合法。Ruby Rails 团队就曾遇到该问题。GPLv2 许可证的 mimemagic 使用了 MIT 许可证的 shared-mime-info 软件,这两种许可证是不兼容的。mimemagic 的作者在被告知后将最新版的 0.4.0 和 0.3.6 移动到 GPLv2 下。但是 Ruby on Rails 和其他使用了该包的软件都受到了影响,成千上万的团队都可能要做出调整,最终 Rails 用 Marcel 替换了 mimemagic。

私有软件开源

在引入使用了传染型许可证的开源软件时,依据该许可证的要求,可能使得私有软件必须也继承该许可证,进而被要求公开私有源代码。

企业如何进行合规检查?

制定开源合规策略

开源合规策略是基于开源软件许可证的基础条款、现行政策并结合使用者自身情况,制定的一系列使用开源软件的条件。构建开源合规策略是合规检查的基础。

梳理开源软件常用许可证相关条款,构建易读快捷查询的手册。

对常用许可证进行分组。自由使用许可证组,需要审查许可证组,禁止使用许可证组。初级的分类支持开发人员快速做出选择,避免合规问题同时兼顾开发效率。

许可证兼容性是指许可证间是否兼容。实际开发中,会使用大量开源软件,可以参考许可证兼容性矩阵构建许可证兼容性策略,检查同一个项目中集成的组件之间是否存在许可证冲突。

许可证的兼容矩阵

制定合规的软件开发流程

一个软件的生命周期包括需求分析、设计、实现、测试、部署、运维7个阶段,将开源合规流程纳入软件开发生命周期管理,能有效避免合规风险。

总结

开源在软件领域已经势不可挡,随之而来的风险也不容忽视。企业在采用开源软件的同时,也应时刻注意悬在头顶上方的达摩克利斯之剑,积极制定开源合规策略和流程,定期进行合规检查,在享受开源带来的便利的同时,规避其风险。

参考链接:

Comparison of free and open-source software licenses:

https://en.wikipedia.org/wiki/Comparison_of_free_and_open-source_software_licenses

Fulfilling Open Source license obligations Can checklists help?:

https://events19.linuxfoundation.org/wp-content/uploads/2018/07/OSLS-2019-Fulfilling-Open-Source-license-obligations-Can-checklists-help.pdf

Rails waves goodbye to mimemagic, welcomes Marcel to fix GPL MIME drama:

https://www.theregister.com/2021/03/29/rails_mime_fix/

标签:使用,之剑,开源,SBOM,克利斯,许可证,软件,合规
来源: https://www.cnblogs.com/sealio/p/16579412.html