可喜可贺🎉,终于我也需要关于开源许可证的知识了!
终于,我也自己发布了某个开源软件……或者说设计,也算是对许可证有了需求——在整理毕业设计项目的过程中,我查阅了关于 开源许可证
的资料,在这里作个汇总,方便之后的查阅。
至于以后用不用——
快速选择许可证
根据树形图可以再最常见的六个许可证中选择。在建立 GitHub 项目的时候,模板会提示帮助选择许可证书,在上面选择后会直接添加一个 License
文件进入仓库,许可证同时生效。
开源许可证特点
Apache v2 License
Apache License 是著名非营利组织 Apache 制定并采用的协议。其鼓励代码共享并尊重原作者的著作权。
- 衍生代码继承 Apache v2 License
- 需要注明修改部分
- 需要注明原代码的商标、协议、专利以及原作者规定包含的声明
- 可增加新的 License,但不能与 Apache v2 冲突
- 可以商用
MIT License
MIT 源自麻省理工学院,又称 X条款/X11条款,其自由度相当高。
- 可以使用、复制、修改、合并、发行、散步、再授权和商用
- 必须包含原作者的版权声明和许可声明
- 可与其他条款相融
GPL v2
GPL 是 Linux 采用的协议,其触发点是代码及其修改衍生代码的开源/免费使用,但不允许衍生代码闭源并商用。具备最强的传染性。
- 衍生代码继承 GPL v2 License
- 衍生代码必须开源
Artistic License
Artistic License 是艺术许可协议。
- 可以开源并收费,但只能收取散布费用,而非产品费用
- 必须散布所有的原始代码
- 必须重制著作权标识和声明
- 需要注明修改
BSD 3-Clause License
BSD 是允许使用者修改代码后闭源商业发布和销售的协议。
- 若衍生品包含源代码,则源代码中必须带有 BSD 协议
- 可以闭源
- 不得用原本的商标进行宣传
许可证的必要性
开源许可证是一种法律许可,也是一种具有法律性质的合同。 ——百度百科
开源软件虽然公开给了所有人,但其也需要一个具有法律效益的规定来明确自己的权利和义务。开源软件源代码的著作权并没有被放弃或者过期,它的修改、使用、发行都要收到著作权法的制约。
开源软件许可证(Open Source License)对项目的使用、复制、修改、发行等进行了限制,许可证基于开源软件中的散布授权条款(Distribution of License),是保护开源项目的法律文件。
开源许可证是开源软件生态系统的基础,并促进开源生态的传播。
- 对于版权方,可以明确软件著作权,保护知识成果,规定产品的使用目的和使用方向(是否商用、修改、再发布等)
- 对于用户方,可以获得法律意义上的明确授权,在规则外也明确了责任归属
开源 ≠ 免费
| 免费 ≠ 免责
| 授权 ≠ 收费
常用许可证归类
开源许可证有两大类:宽松自由软件许可协议(Permissive Free Software License)、著佐权许可证(Copyleft License)。
宽松自由软件许可协议是一种最低限制的协议条款,其不保证衍生品与原作品的协议相同,从而为传播提供更大的自由。
著佐权许可证则规定一个有限的自由,其要求衍生品也开源。
知识共享协议 Creative Commons(CC) 是一种比较特殊的开源协议,其多用于设计类工程。严格 CC 协议通常都会要求声明署名权、非商业用途、禁止衍生。因此,当只需要作品的署名权,且不喜欢别人修改作品和商用时,用知识共享协议是比较方便的。
- GPL | 强传染性,使用 GPL 的衍生物也需要基于 GPL 开源
- Apache License | 宽松许可证,可以修改之后闭源,但要声明修改部分
- MIT | 宽松许可证,基本可以随意使用,但必须声明原版权
- BSD | 与 MIT 的区别在于不可用原作者信息宣传
MIT License | Mozilla License | LGPL License | GPL License | Apache License | BSD License | |
---|---|---|---|---|---|---|
商用 | √ | √ | √ | √ | √ | √ |
发布发行 | √ | √ | √ | √ | √ | √ |
修改 | √ | √ | √ | √ | √ | √ |
申请专利 | × | √ | √ | √ | √ | × |
注明版权 | √ | √ | √ | √ | √ | √ |
注明修改 | × | √ | × | × | √ | × |
同协议 | × | × | × | √ | × | × |
维护 | × | × | × | × | × | × |
必须开源 | × | √ | √ | √ | × | × |
开源领域组织
在开源领域中,有两个组织以略有不同的开源理念制定认可许可证。
自由软件基金会 (Free Software Foundation, FSF) 由 RMS 创立,建立了第一个“Copyleft”许可证 GPL ,其理念是“自由”和“开源”。
开放源代码促进会 (Open Source Initiative, OSI) 由 Bruce Perens 和 Eric S. Raymond 建立,目的是在开源与软件工业/商业的矛盾中寻求平衡机制。其批准通过了多余 80 种协议,包括 Apache License v2
、GPL v2
、MIT
、BSD
等。
FSF 和 OSI 是推广和维护开源秩序的非营利组织,对新提交的协议进行讨论和审核,并进行认可。若商业产品中包含开源软件,其包装上就可以印有的相应组织的认证证明,以说明其开源优点。
参考资料
[1] 一文看懂开源许可证
[2] 一篇文章讲明白【开源许可证】
[3] 如何选择开源许可证?
评论