开源许可证是一种法律许可。通过它,版权拥有人明确允许,用户可以免费地使用、修改、共享版权软件。 版权法默认禁止共享,也就是说,没有许可证的软件,就等同于保留版权,虽然开源了,用户只能看看源码,不能用,一用就会侵犯版权。 所以软件开源的话,必须明确地授予用户开源许可证。
分类- 宽松式(permissive)许可证
- Copyleft 许可证
(1)没有使用限制 (2)没有质量担保 (3)披露原始作者(notice requirement)
常见许可证: MIT 分发软件时,必须保留原始的许可证声明,不得使用原始作者的名字为软件促销。 Apache 2 分发软件时,必须保留原始的许可证声明。凡是修改过的文件,必须向用户说明该文件修改过;没有修改过的文件,必须保持许可证不变。
Copyleft 许可证如果分发二进制格式,必须提供源码 修改后的源码,必须与修改前保持许可证一致 不得在原始许可证以外,附加其他限制
常见许可证: GPL 如果项目包含了 GPL 许可证的代码,那么整个项目都必须使用 GPL 许可证。 LGPL 如果项目采用动态链接调用该许可证的库,项目可以不用开源。 Mozilla(MPL) 只要该许可证的代码在单独的文件中,新增的其他文件可以不用开源。
参考文章:
- 阮一峰的网络日志 - 开源许可证教程
- 一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别