开源协议与知识共享协议
开源协议
开源协议是一套用于规范软件源代码使用、修改和分发规则的版权管理工具,广泛应用于编程语言、框架、工具库等软件开发项目。 开源协议的核心理念是“代码公开与共享”,区别于传统软件许可的“闭源限制”,旨在促进协作开发、技术创新和知识传播。
这里记录一下常见的几种开源协议:
较严格的,不允许衍生品闭源:
- GPL(General Public License)
- 最严格的开源协议。
- 要求:衍生代码必须使用 GPL 协议进行开源,确保代码的持续开放性。
- LGPL(Lesser General Public License)
- GPL 的宽松版本。
- 要求:允许与闭源代码链接使用,但修改后的开源部分仍需沿袭 LGPL 协议。
- Mozilla Public License(MPL)
- 比 LGPL 更灵活。
- 要求:修改源码的部分需要提供说明文档,且仅修改的部分需开源。
- GPL(General Public License)
较宽松的,允许衍生品闭源:
- MIT / BSD
- 最宽松的开源协议。
- 要求:仅需保留原作者的版权声明。
- 允许:自由使用、修改、分发(包括闭源的后续开发)。
- 补充:最新的 MIT 和 BSD 几乎没有区别。
- Apache 2.0
- 类似 BSD,但更注重专利和商标权保护。
- 要求:禁止未经授权的商标使用,且需保留专利声明。
- MIT / BSD
下图展示了主要开源协议的限制性对比:
知识共享协议
知识共享协议(Creative Commons, CC 协议)是一套灵活的版权管理工具,允许创作者为作品设定开放使用的规则,常用于学术、教育、艺术和开源项目。 CC 协议的核心理念是“部分权利保留”,区别于传统版权的“全部权利保留”,旨在促进知识共享和合法使用。
CC 协议基于以下条款的组合:
- 署名(BY):必须注明作者及来源。
- 非商业性使用(NC,Non-Commercial):仅限非商业用途。
- 禁止演绎(ND,No Derivatives):不得修改或创作衍生作品。
- 相同方式共享(SA,Share Alike):改编后的作品需以相同协议发布。
常见许可模式包括:
- CC BY:仅要求署名,最开放。
- CC BY-NC-SA:署名 + 非商业 + 相同方式共享。
- CC BY-NC-ND:署名 + 非商业 + 禁止演绎,限制性最强。
例如,许多博客通常采用CC BY-NC-SA协议,允许非商业形式的共享,但是要求署名。
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Comments