开源协议精讲 / 第六章:知识共享协议(Creative Commons)
第六章:知识共享协议(Creative Commons)
引言
Creative Commons(知识共享,简称 CC)是一系列为创意作品设计的许可证,广泛用于文档、图片、视频、音乐、教材等内容。它不是为软件设计的,但经常被误用于软件项目——这往往是一个错误。
本章将系统讲解 CC 协议的构成、各个版本的含义、适用场景,以及它与软件许可证的根本区别。
6.1 Creative Commons 概述
6.1.1 什么是 Creative Commons?
Creative Commons 是一个非营利组织,成立于 2001 年,提供一套免费的、标准化的许可证,让创作者可以合法地分享自己的作品。
核心理念:
“Some Rights Reserved”(保留部分权利)
与传统版权的"All Rights Reserved"(保留所有权利)形成对比。
6.1.2 CC 许可证的构成模块
CC 许可证由四个基础模块组合而成:
| 模块 | 缩写 | 含义 |
|---|---|---|
| 署名(Attribution) | BY | 必须注明原作者 |
| 相同方式共享(ShareAlike) | SA | 衍生作品必须使用相同许可证 |
| 非商业性使用(NonCommercial) | NC | 不得用于商业目的 |
| 禁止演绎(NoDerivatives) | ND | 不得修改原作品 |
6.1.3 CC 许可证家族
由上述模块组合而成的六种主要许可证:
| 许可证 | 模块 | 自由度 | SPDX 标识 |
|---|---|---|---|
| CC BY | BY | ★★★★ | CC-BY-4.0 |
| CC BY-SA | BY + SA | ★★★☆ | CC-BY-SA-4.0 |
| CC BY-NC | BY + NC | ★★★☆ | CC-BY-NC-4.0 |
| CC BY-NC-SA | BY + NC + SA | ★★☆☆ | CC-BY-NC-SA-4.0 |
| CC BY-ND | BY + ND | ★★☆☆ | CC-BY-ND-4.0 |
| CC BY-NC-ND | BY + NC + ND | ★☆☆☆ | CC-BY-NC-ND-4.0 |
| CC0 | 无 | ★★★★★ | CC0-1.0 |
6.2 主要 CC 许可证详解
6.2.1 CC BY(署名)
最宽松的 CC 许可证,只要求署名。
| 规则 | 说明 |
|---|---|
| ✅ 可以复制 | 是 |
| ✅ 可以修改 | 是 |
| ✅ 可以商业使用 | 是 |
| ✅ 可以再分发 | 是 |
| ⚠️ 必须署名 | 是 |
| ⚠️ 必须标注修改 | 是 |
适用场景:
- 开放教育资源(OER)
- 百科类内容(维基百科使用 CC BY-SA)
- 政府开放数据
- 学术论文和数据
6.2.2 CC BY-SA(署名-相同方式共享)
要求衍生作品使用相同的许可证发布。
| 规则 | 说明 |
|---|---|
| ✅ 可以复制 | 是 |
| ✅ 可以修改 | 是 |
| ✅ 可以商业使用 | 是 |
| ⚠️ 必须署名 | 是 |
| ⚠️ 必须使用相同许可证 | 是(SA) |
“传染性”:
CC BY-SA 的 SA 条款类似于 GPL 的 copyleft:
如果你修改了 CC BY-SA 作品并分发,你的修改版本必须也使用 CC BY-SA。
适用场景:
- 维基百科(使用 CC BY-SA 3.0)
- 开放教材
- 协作创作内容
6.2.3 CC BY-NC(署名-非商业性使用)
禁止商业使用。
| 规则 | 说明 |
|---|---|
| ✅ 可以复制 | 是 |
| ✅ 可以修改 | 是 |
| ❌ 商业使用 | 否 |
| ⚠️ 必须署名 | 是 |
“非商业"的定义:
商业使用 = "primarily intended for or directed towards commercial
advantage or monetary compensation"
非商业使用 =
├── 个人博客
├── 非营利组织
├── 学术研究
├── 教育用途
└── 个人学习
争议:什么算"商业使用"一直是 CC BY-NC 的争议焦点。例如,YouTube 视频带广告算不算商业使用?
6.2.4 CC BY-NC-SA(署名-非商业性使用-相同方式共享)
同时要求非商业使用和相同方式共享。
适用场景:
- 开放课程(如 MIT OpenCourseWare)
- 非商业教育资源
6.2.5 CC BY-ND(署名-禁止演绎)
不允许修改作品。
| 规则 | 说明 |
|---|---|
| ✅ 可以复制 | 是 |
| ❌ 不可修改 | 否 |
| ✅ 可以商业使用 | 是 |
| ⚠️ 必须署名 | 是 |
适用场景:
- 新闻报道
- 官方声明
- 需要保持完整性的内容
6.2.6 CC BY-NC-ND(署名-非商业性使用-禁止演绎)
最严格的 CC 许可证,只允许署名后原样分享。
适用场景:
- 个人博客文章
- 艺术作品分享
- 需要严格控制使用的作品
6.3 CC 协议与软件许可证的区别
6.3.1 核心区别
| 维度 | Creative Commons | 软件许可证(MIT/GPL等) |
|---|---|---|
| 设计目标 | 创意作品 | 软件代码 |
| 源代码概念 | ❌ 无 | ✅ 有 |
| 编译/执行 | ❌ 不适用 | ✅ 核心需求 |
| 修改定义 | 内容修改 | 代码修改 |
| 分发定义 | 内容传播 | 软件分发 |
| 运行许可 | ❌ 不涉及 | ✅ 核心条款 |
6.3.2 为什么 CC 不适合软件?
FSF 的立场:
“我们不建议使用 Creative Commons 许可证发布软件。CC 许可证中缺少源代码条款、对’改编’的定义不适用于软件、以及某些变体的非商业条款不符合自由软件的定义。”
具体问题:
- 没有源代码条款:CC 协议不区分"源代码"和"二进制”
- 修改定义不明确:CC 的"改编"(Adaptation)不完全等同于软件的"修改"(Modification)
- 分发定义不同:CC 的"分享"(Sharing)不等同于软件的"分发"(Distribution)
- 缺少运行许可:CC 不授予"运行"软件的权利(虽然也没禁止)
- 非商业条款:NC 模块不符合开源定义(OSD)
6.3.3 CC0 是例外
CC0 是 CC 家族中唯一适合软件的许可证。它不包含上述问题,因为它将所有限制都移除了。
6.3.4 实际案例
错误使用 CC 许可证的案例:
错误:一个 Python 库使用 CC BY-NC-SA 4.0 许可证
问题:
- 没有明确的源代码条款
- NC(非商业)不符合开源定义
- SA 的"相同方式共享"在软件领域定义不清
- 不能被 OSI 批准为开源许可证
正确做法:
- 使用 MIT、Apache-2.0 或 GPL
- 如果想限制商业使用,使用自定义许可证(但不是开源)
6.4 CC 协议在非软件领域的应用
6.4.1 文档和教程
| 场景 | 推荐许可证 | 理由 |
|---|---|---|
| 开源项目文档 | CC BY 4.0 | 允许自由使用,只需署名 |
| 开放教材 | CC BY-SA 4.0 | 保证衍生教材也开放 |
| 个人博客 | CC BY-NC-ND 4.0 | 保护作者权益 |
| API 文档 | CC BY 4.0 | 允许商业使用 |
| 技术规范 | CC BY 4.0 | 促进标准传播 |
6.4.2 图片和媒体
| 场景 | 推荐许可证 | 理由 |
|---|---|---|
| 开源项目截图 | CC BY 4.0 | 方便他人使用 |
| 博客配图 | CC BY-NC 4.0 | 限制商业使用 |
| 图标 | CC0 / MIT | 允许最广泛使用 |
| 视频教程 | CC BY-SA 4.0 | 促进共享 |
6.4.3 数据和数据集
| 场景 | 推荐许可证 | 理由 |
|---|---|---|
| 科学数据集 | CC0 | 最大化可重用性 |
| 政府数据 | CC BY 4.0 | 开放数据默认选择 |
| 企业数据 | 各种 | 取决于开放程度 |
6.4.4 教育资源
MIT OpenCourseWare → CC BY-NC-SA 4.0
Khan Academy → CC BY-NC-SA 4.0
Wikipedia → CC BY-SA 3.0
Stack Overflow 文档 → CC BY-SA 4.0
6.5 CC 协议版本演进
6.5.1 版本历史
| 版本 | 发布年份 | 关键变化 |
|---|---|---|
| 1.0 | 2002 | 首次发布 |
| 2.0 | 2004 | 改进国际适用性 |
| 2.5 | 2005 | 进一步国际化 |
| 3.0 | 2007 | 与 GPL 兼容化 |
| 4.0 | 2013 | 大规模修订,国际化 |
6.5.2 CC 4.0 的关键改进
| 改进项 | 说明 |
|---|---|
| 国际化 | 不再需要"移植"到各国法律 |
| 数据库权 | 明确处理数据库权利 |
| 道德权利 | 更好地处理道德权利 |
| 自动恢复 | 侵权后的自动恢复条款(30天内) |
| 更清晰的术语 | 更易理解的法律语言 |
6.5.3 CC BY-SA 与 GPL 的兼容性
CC BY-SA 3.0 → GPL:
CC BY-SA 3.0 包含一个"兼容许可证"条款,允许将 CC BY-SA 内容纳入 GPL 作品:
Creative Commons 兼容许可证列表:
├── GPL v2(仅限 ccREL 标注的作品)
├── GPL v3(仅限 ccREL 标注的作品)
└── 其他经 Creative Commons 批准的许可证
CC BY-SA 4.0:
CC BY-SA 4.0 进一步改进了与 GPL 的兼容性。
6.6 CC 协议的合规实务
6.6.1 署名要求
CC BY 系列许可证的署名要求包括:
必须包含:
1. 作者姓名(或指定的署名方式)
2. 作品标题(如果有)
3. 许可证声明或链接
4. 版权声明(如果有)
5. 修改声明(如果修改了作品)
示例:
"照片《日落》 © 2024 张三,CC BY 4.0 License"
6.6.2 非商业使用的判断
| 使用方式 | 是否商业 | 说明 |
|---|---|---|
| 个人博客 | ❌ | 无商业收入 |
| 个人博客带广告 | ⚠️ | 争议区域 |
| 非营利组织网站 | ❌ | 非商业目的 |
| YouTube 视频 | ⚠️ | 有广告收入 |
| 商业公司内部培训 | ⚠️ | 间接商业利益 |
| 商业产品中使用 | ✅ | 明确商业用途 |
建议:如果不确定是否算"商业使用",最好联系原作者获得许可,或选择不含 NC 条款的许可证。
6.6.3 禁止演绎的范围
| 操作 | 是否允许(ND) |
|---|---|
| 原样分享 | ✅ |
| 格式转换(如 PDF 转 HTML) | ✅ |
| 截取片段 | ❌ |
| 翻译 | ❌ |
| 添加注释 | ❌ |
| 与其他内容合并 | ❌ |
6.7 常见问题
Q1:我的开源项目文档应该用什么许可证?
推荐:CC BY 4.0
这允许任何人使用和修改你的文档,只需署名。大多数开源项目使用这种组合:
- 代码:MIT / Apache 2.0 / GPL
- 文档:CC BY 4.0
Q2:可以将 CC BY-NC 内容用于商业项目吗?
不可以。NC(NonCommercial)明确禁止商业使用。如果你需要商业使用,必须:
- 获得原作者的额外许可
- 使用不含 NC 条款的替代内容
Q3:CC 协议可以用于 API 吗?
不推荐。API 是软件接口,应该使用软件许可证。CC 协议不适用于软件。
Q4:CC BY-SA 的"传染性"有多强?
CC BY-SA 要求衍生作品使用相同许可证,但:
- 仅影响"改编材料"(Adapted Material)
- 不影响包含 CC BY-SA 内容的更大集合
- 与 GPL 的传染范围不同
Q5:CC 许可证可以撤销吗?
不可以。一旦以 CC 许可证发布,你不能撤销已经授予的许可。但你可以:
- 停止以 CC 许可证发布新版本
- 在侵权后 30 天内自动恢复许可(CC 4.0)
6.8 本章小结
| 许可证 | 适用场景 | 商业使用 | 修改 | 传染性 |
|---|---|---|---|---|
| CC BY | 通用内容 | ✅ | ✅ | 弱 |
| CC BY-SA | 协作内容 | ✅ | ✅ | 强 |
| CC BY-NC | 非商业内容 | ❌ | ✅ | 中 |
| CC BY-NC-SA | 非商业协作 | ❌ | ✅ | 强 |
| CC BY-ND | 只读分享 | ✅ | ❌ | 无 |
| CC BY-NC-ND | 最严格 | ❌ | ❌ | 无 |
| CC0 | 公共领域 | ✅ | ✅ | 无 |
核心原则:
- 软件项目 → 不要使用 CC 许可证(CC0 除外)
- 文档 → CC BY 4.0
- 教育内容 → CC BY-SA 4.0 或 CC BY-NC-SA 4.0
- 数据 → CC0
扩展阅读
- Creative Commons 官网:https://creativecommons.org/
- CC 许可证选择器:https://creativecommons.org/choose/
- CC 4.0 FAQ:https://creativecommons.org/faq/
- CC BY 4.0 全文:https://creativecommons.org/licenses/by/4.0/legalcode
- CC 与软件:https://creativecommons.org/faq/#can-i-apply-a-creative-commons-license-to-software
- 开放教育资源:https://www.oercommons.org/