2. 数据许可基础
数据许可(Data License)是数据提供方与使用方之间关于“谁可以用、用来做什么、以什么方式再分发、是否需要付费或署名”的法律与技术约定。它既是法律文本,也是工程约束:在数据管道、模型训练、API 调用和二次分发中,许可条款会直接决定数据能否入库、能否合并、能否商用、能否对外发布。理解许可类型,是数据合规治理的第一道关口。
一、许可证类型:从“保留全部权利”到“放弃全部权利”
数据许可并非只有“开源”和“闭源”两种。按权利让渡程度,可形成一个连续谱:
- 专有/商业许可:权利保留最多。使用方通常需付费,授权范围、期限、地域、用途、并发量、衍生权利均由合同约定,常见于金融行情、征信数据、地图轨迹、医疗数据等。
- 开源协议:主要面向软件代码,但常被用于数据或数据工具。典型如 MIT、Apache-2.0、BSD、GPL、AGPL。它们强调自由使用、修改、分发,但不同协议对“衍生作品是否必须开源”要求不同。
- 知识共享协议(CC):面向内容与数据,常见组合有 CC BY、CC BY-SA、CC BY-NC、CC BY-ND、CC0。核心维度是署名(BY)、相同方式共享(SA)、非商业(NC)、禁止演绎(ND)。
- 公共领域数据:权利保护已过期、被明确放弃或依法不受保护的数据,如部分政府公开数据、CC0 声明数据。使用限制最少,但仍需注意来源真实性、隐私与国家安全等上位法约束。
需要特别区分:“公开可访问”不等于“可自由使用”。网页可爬取、API 可调用,只说明技术可达,不说明法律授权。很多网站的服务条款明确禁止批量抓取、商业利用或再分发。
二、开源协议与知识共享协议的关键差异
开源协议和 CC 协议常被混用,但它们的适用对象和触发条件不同。开源协议主要针对软件代码,关注源码分发、修改、链接和专利授权;CC 协议主要针对内容、数据集、文档、图像,关注署名、商业使用和演绎作品。若把 GPL 数据当成 CC BY 使用,或把 CC BY-NC 数据用于商业模型训练,都会产生合规风险。
| 许可类型 | 典型代表 | 商用 | 署名要求 | 衍生/再分发约束 | 常见适用对象 |
|---|---|---|---|---|---|
| 宽松开源 | MIT、Apache-2.0、BSD | 允许 | 通常需保留版权声明 | 可闭源分发,需保留声明 | 代码、工具、部分数据集 |
| 传染性开源 | GPL、AGPL | 允许,但衍生需开源 | 需保留声明 | 衍生作品需同协议开源 | 代码、数据库工具 |
| 知识共享 | CC BY、CC BY-SA、CC BY-NC | BY/SA 允许,NC 禁止 | 必须署名 | SA 要求相同方式共享,ND 禁止演绎 | 文档、图像、数据集 |
| 公共领域 | CC0、PD | 允许 | 通常无 | 几乎无限制 | 政府开放数据、过期版权作品 |
| 商业许可 | 定制合同、订阅协议 | 按合同 | 按合同 | 严格限制再分发与衍生 | 金融、征信、医疗、地图 |
三、方法流程:数据许可合规审查五步法
- 识别许可来源:查看数据页面、仓库 LICENSE 文件、API 条款、合同附件,确认许可名称与版本号。
- 映射权利维度:逐项核对商用、署名、相同方式共享、禁止演绎、专利授权、再分发、模型训练等条款。
- 判断使用场景:内部测试、商业产品、对外发布、模型训练、二次分发,不同场景触发不同义务。
- 记录合规证据:保存许可快照、版本、获取时间、来源 URL、授权邮件或合同编号,形成可审计链路。
- 设置技术控制:在数据目录中打许可标签,在 ETL 与训练管道中做策略校验,禁止不合规数据流入生产。
# 数据许可元数据示例(YAML)
dataset: user_behavior_2024
license: CC-BY-NC-4.0
commercial_use: false
attribution_required: true
share_alike: false
derivatives_allowed: true
source_url: https://example.org/data/2024
retrieved_at: 2025-01-15
review_status: approved_for_research_only
四、案例与场景:许可冲突如何发生
某团队将 CC BY-NC 的公开评论数据与 Apache-2.0 的开源代码工具结合,训练了一个商业推荐模型。问题不在代码,而在数据:CC BY-NC 明确禁止商业使用,模型商用即触发违约。另一个常见场景是 GPL 工具生成的数据集:若工具与数据形成“衍生作品”,再分发时可能被要求以 GPL 兼容方式开放,而企业希望闭源,冲突由此产生。
1. 认为“公开数据”就是“公共领域数据”;
2. 认为“署名”只是写个来源,忽略相同方式共享和禁止演绎;
3. 认为“模型训练”属于合理使用,忽略许可条款对训练用途的明确限制;
4. 认为“买了商业许可”就能无限再分发,忽略合同中的地域、期限和衍生限制。
五、复盘:把许可变成工程参数
许可治理不应停留在法务审阅。更有效的做法是把许可条款转译为机器可读的策略参数,嵌入数据目录、权限系统和流水线。例如:commercial_use=false 的数据自动进入研究分区;share_alike=true 的数据在导出时强制附带相同协议;attribution_required=true 的数据在发布页面自动生成署名清单。这样,合规不再是事后补救,而是数据流中的默认约束。
综上,数据许可基础不是背协议名称,而是建立“权利维度—使用场景—义务动作”的映射能力。只有把许可条款翻译成可执行的数据策略,才能在数据接入、加工、训练和分发全链路中做到可解释、可审计、可追责。