文章目录
最近因为工作相关,学习了下开源license的资料,这里整理如下。同时本文本身遵循permissive license,大量参考了两篇文章,参考资料和作者披露在最后。
开源license分类
开源licensen大体分为两类:宽松许可(permissive license)和严格许可(copyleft license)
宽松许可
这类许可的核心在于要求使用了开源代码的软件要有披露要求(notice requirement),即需要明确指出使用了哪些开源代码并附上原始作者,宽松许可主要有
BSD(二条款)
分发软件时,必须保留原始的许可证声明
BSD(三条款)
分发软件时,必须保留原始的许可证声明。不得使用原始作者的名字为软件促销。
MIT
分发软件时,必须保留原始的许可证声明,与 BSD(二条款版)基本一致。
Apache2
分发软件时,必须保留原始的许可证声明。凡是修改过的文件,必须向用户说明该文件修改过;没有修改过的文件,必须保持许可证不变。
严格许可(copyleft)
copyleft是GNU基金会的发起人理查德-斯托曼发明的一个词,与copyright一词相对,核心要求在于,阻止任何破坏软件自由的行为,具体来说,凡是使用了遵循copyleft许可代码的软件,则整个文件甚至工程必须全部开放并同样遵循copyleft许可,从这一点上说,copyleft许可就如同病毒一般,只要使用一点则整个软件都要遵循,同时扩散过程中不断加大遵循范围。这类license主要有
AGPL
如果云服务(即 SAAS)用到的代码是该许可证,那么云