[toc]
开源许可证是一种法律许可。通过它,版权拥有人明确允许,用户可以免费地使用、修改、共享版权软件。
版权法默认禁止共享,也就是说,没有许可证的软件,就等同于保留版权,虽然开源了,用户只能看看源码,不能用,一用就会侵犯版权。所以软件开源的话,必须明确地授予用户开源许可证。
开源许可证分成两大类。
宽松式许可证(permissive license)是最基本的类型,对用户几乎没有限制。用户可以修改代码后闭源。
用户可以使用代码,做任何想做的事情。
不保证代码质量,用户自担风险。
用户必须披露原始作者。
分发软件时,必须保留原始的许可证声明。
分发软件时,必须保留原始的许可证声明。不得使用原始作者的名字为软件促销。
分发软件时,必须保留原始的许可证声明,与 BSD(二条款版)基本一致。
分发软件时,必须保留原始的许可证声明。凡是修改过的文件,必须向用户说明该文件修改过;没有修改过的文件,必须保持许可证不变。
Copyleft 是理查德·斯托曼发明的一个词,作为 Copyright (版权)的反义词。
Copyright 直译是"复制权",这是版权制度的核心,意为不经许可,用户无权复制。作为反义词,Copyleft 的含义是不经许可,用户可以随意复制。
修改后的 Copyleft 代码不得闭源
它带有前提条件,比宽松式许可证的限制要多。
如果分发二进制格式,必须提供源码 修改后的源码,必须与修改前保持许可证一致 不得在原始许可证以外,附加其他限制
如果云服务(即 SAAS)用到的代码是该许可证,那么云服务的代码也必须开源。
如果项目包含了 GPL 许可证的代码,那么整个项目都必须使用 GPL 许可证。
如果项目采用动态链接调用该许可证的库,项目可以不用开源。
只要该许可证的代码在单独的文件中,新增的其他文件可以不用开源。