概述
开源许可证是一种法律许可。通过它,版权拥有人明确允许,用户可以免费地使用、修改、共享版权软件。
开源许可证是一种具有法律性质的合同,目的在于规范受著作权保护的软件的使用或者分发行为。
目前,国际公认的开源许可证共有80+种。它们的共同特征是,都允许用户免费地使用、修改、共享源码,但是都有各自的使用条件。
如果一种开源许可证没有任何使用条件,连保留作者信息都不需要,那么就等同于放弃版权了。这时,软件可以直接声明进入“公共领域”(public domain)。
分类
根据使用条件的不同,开源许可证分成两大类。
Permissive 许可证
Copyleft 许可证
著佐权(Copyleft)与著作权(Copyright)相对应
Permissive 许可证
宽松型许可证(permissive license)是最基本的类型,对用户几乎没有限制。用户可以修改代码后闭源。
通常,Permissive 许可证:
没有使用限制:用户可以使用代码,做任何想做的事情。
没有担保:不保证代码质量,用户自担风险。
披露要求:用户必须披露原始作者。
Copyleft 许可证
Copyright 直译为“复制权”,这是版权制度的核心,即“不经许可,用户无权复制”。作为反义词,Copyleft 代表“不经许可,用户可以随意复制”。
但是,它带有前提条件,比 Permissive 许可证的限制要多。
通常,Copyleft 许可证:
如果分发二进制格式,必须提供源码。
修改后的源码,必须与修改前保持许可证一致。
不得在原始许可证以外,附加其他限制。
由此推出,修改后的 Copyleft 代码不得闭源。
对比
术语
许可 (Permissions)
条件 (Conditions)
限制 (Limitations)
参考资料
https://www.ruanyifeng.com/blog/2017/10/open-source-license-tutorial.html
https://www.runoob.com/w3cnote/open-source-license.html