问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

【开源知识】开源协议与知识共享协议-一篇文章全梳理

创作时间:
作者:
@小白创作中心

【开源知识】开源协议与知识共享协议-一篇文章全梳理

引用
CSDN
1.
https://m.blog.csdn.net/YouCloud_21St/article/details/145392805

本文将详细介绍常见的开源协议与知识共享协议,帮助读者了解各种协议的特点、适用场景和示例项目。无论是开发者还是创作者,都能从中找到适合自己的协议选择指南。

开源协议

开源协议(Open Source License)是用于规范开源软件使用、修改和分发的法律文本。不同的开源协议有不同的限制和要求。

1. GNU AGPLv3

  • 必须提供被许可作品及其修改的完整源代码,包括使用被许可作品的较大作品,且必须以相同许可证发布。
  • 必须保留版权和许可证声明。
  • 贡献者明确授予专利权利。
  • 当修改版本用于通过网络提供服务时,必须提供修改版本的完整源代码。

2. GNU GPLv3

  • 必须提供被许可作品及其修改的完整源代码,包括使用被许可作品的较大作品,且必须以相同许可证发布。(“传染性”)
  • 必须保留版权和许可证声明。
  • 如果修改了代码,必须将修改后的代码开源。
  • 贡献者明确授予专利权利。

适用场景

  • 适合希望强制衍生作品开源的社区项目。

示例项目

  • Linux 内核、GNU 工具、WordPress。

3. GNU LGPLv3

  • GPL 的宽松版本,允许在闭源项目中使用 LGPL 授权的库。(适用于库文件,而不是完整的应用程序。)
  • 必须提供被许可作品及其修改的完整源代码,并以相同许可证或 GNU GPLv3 发布。
  • 必须保留版权和许可证声明。
  • 贡献者明确授予专利权利。
  • 然而,通过被许可作品提供的接口使用被许可作品的较大作品可以以不同条款分发,且无需提供较大作品的源代码。(LGPL 允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。)

适用场景

  • 适合希望被广泛使用的库文件。

示例项目

  • GNU C Library (glibc)、FFmpeg。

4. Mozilla 公共许可证 2.0

  • 允许自由使用、修改、分发代码,包括商业用途。
  • 必须提供被许可文件及其修改的源代码,并以相同许可证发布。
  • 必须保留版权和许可证声明。
  • 贡献者明确授予专利权利。
  • 然而,使用被许可作品的较大作品可以以不同条款分发,且无需提供较大作品中添加的文件的源代码。(即允许企业在自有源码库加接口,接口程序源码以MPL共享,自有源码库不用强制共享)

适用场景

  • 适合需要部分开源的商业项目。

示例项目

  • Firefox、Thunderbird。

5. Apache 许可证 2.0

  • 允许自由使用、修改、分发代码,包括商业用途。
  • 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
  • 主要条件要求保留版权和许可证声明。
  • 贡献者明确授予专利权利。
  • 被许可作品、修改作品和较大作品可以以不同条款分发,且无需提供源代码。

适用场景

  • 适合需要专利保护的项目。

示例项目

  • Apache Hadoop、Kubernetes、Android。

6. MIT 许可证

  • 非常宽松,几乎没有任何限制。允许用户自由使用、修改、分发代码,甚至可以用于商业用途。
  • 唯一条件是保留版权和许可证声明。
  • 被许可作品、修改作品和较大作品可以以不同条款分发,且无需提供源代码。

适用场景

  • 适合希望代码被广泛使用的项目。

示例项目

  • jQuery、React、Rails。

7. BSD License

伯克利软件分发许可协议

  • 特点
  • 类似于 MIT 协议,非常宽松。
  • 允许自由使用、修改、分发代码,包括商业用途。
  • 有多个版本(2-Clause 和 3-Clause),3-Clause 增加了“禁止使用原作者名字进行推广”的条款。

适用场景

  • 适合希望代码被广泛使用的项目。

示例项目

  • FreeBSD、NetBSD。

8. Boost 软件许可证 1.0

  • 仅要求在源代码分发时保留版权和许可证声明(二进制分发无需)。
  • 被许可作品、修改作品和较大作品可以以不同条款分发,且无需提供源代码。

9. Unlicense

一种无任何条件的许可证,将作品贡献给公共领域。未许可的作品、修改作品和较大作品可以以不同条款分发,且无需提供源代码。

如何选择开源协议?

  1. 希望代码被广泛使用:选择 MIT 或 Apache 2.0。
  2. 希望强制衍生作品开源:选择 GPL 或 AGPL。
  3. 需要专利保护:选择 Apache 2.0 或 EPL。
  4. 非代码作品:选择 Creative Commons。

知识共享协议

前文提到的开源协议主要用于代码,而对于非代码内容(如机械设计、音视频等),常常使用CC协议。知识共享协议(Creative Commons,简称 CC)是一系列用于非代码作品(如文档、图片、音乐、视频等)的版权许可协议。它们允许创作者在保留部分权利的同时,授予他人一定的使用权限。CC

图标 英文
BY
SA
NC
ND

1. CC BY(署名)

  • 特点
  • 允许他人自由使用、修改、分发作品,包括商业用途。
  • 唯一的要求是必须署名(即注明原作者,同时标明是否修改)。

适用场景

  • 适合希望作品被广泛传播,但要求保留署名的创作者。

示例

  • 维基百科(部分内容使用 CC BY-SA)。

2. CC BY-SA(署名-相同方式共享)

  • 特点
  • 允许他人自由使用、修改、分发作品,包括商业用途。
  • 必须署名,并且如果修改了作品,必须以相同协议发布衍生作品。

适用场景

  • 适合希望衍生作品保持开源的创作者。

示例

  • 维基百科(大部分内容使用 CC BY-SA)。

3. CC BY-ND(署名-禁止演绎)

  • 特点
  • 允许他人自由使用、分发作品,包括商业用途。
  • 必须署名,但修改后禁止演绎作品(即不允许创作衍生作品)。

适用场景

  • 适合希望作品保持原样传播的创作者。

示例

  • 某些新闻图片或艺术作品。

4. CC BY-NC(署名-非商业性使用)

  • 特点
  • 允许他人自由使用、修改、分发作品,但仅限于非商业用途
  • 必须署名

适用场景

  • 适合不希望作品被用于商业用途的创作者。

示例

  • 个人摄影作品、学术资料。

5. CC BY-NC-SA(署名-非商业性使用-相同方式共享)

  • 特点
  • 允许他人自由使用、修改、分发作品,但仅限于非商业用途
  • 必须署名,并且如果修改了作品,必须以相同协议发布衍生作品。

适用场景

  • 适合希望衍生作品保持开源且不被商业化的创作者。

示例

  • 某些教育资料或艺术作品。

6. CC BY-NC-ND(署名-非商业性使用-禁止演绎)

  • 特点
  • 允许他人自由使用、分发作品,但仅限于非商业用途,且禁止演绎-再创作后禁止分发作品。
  • 必须署名

适用场景

  • 适合希望作品保持原样且不被商业化的创作者。

示例

  • 某些个人摄影作品或文档。

7. CC0(公共领域贡献)

  • 特点
  • 创作者放弃所有版权,将作品放入公共领域
  • 他人可以自由使用、修改、分发作品,包括商业用途,无需署名

适用场景

  • 适合希望完全放弃版权的创作者。

示例

  • 某些开源数据集或公共资源。

总结对比

协议名称 是否允许商业用途 是否允许修改 是否要求署名 是否要求相同协议
CC BY 是 是 是 否
CC BY-SA 是 是 是 是
CC BY-ND 是 否 是 否
CC BY-NC 否 是 是 否
CC BY-NC-SA 否 是 是 是
CC BY-NC-ND 否 否 是 否
CC0 是 是 否 否

如何选择知识共享协议?

  1. 希望作品被广泛使用:选择CC BYCC0
  2. 希望衍生作品保持开源:选择CC BY-SA
  3. 不希望作品被用于商业用途:选择CC BY-NCCC BY-NC-SA
  4. 不希望作品被修改:选择CC BY-NDCC BY-NC-ND
  5. 完全放弃版权:选择CC0

访问这个网站,有导航指引你如何选择姿势共享协议。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号