CLA 是什么
CLA(Contributor License Agreement,贡献者许可协议)是部分公司或基金会要求贡献者在提交代码前签署的法律协议:授权项目按特定条款使用其贡献。通常由平台机器人检查:首次提交 PR 时提示签署链接,未完成签署前 PR 会被标记待处理。CLA 与 DCO 不同,两者可以同时要求、互不替代。
基本信息
| 触发时机 | 首次向启用 CLA 的项目提交 PR 时由机器人提示 |
|---|---|
| 签署形式 | 个人网页签署,或公司与基金会之间的企业协议 |
| 检查方 | 平台机器人自动检查并在 PR 上打标 |
| 与 DCO 关系 | DCO 是提交里的签章声明,CLA 是单独协议,可同时要求 |
| 记录主体 | 以平台账号记录签署状态 |
典型使用场景
- 公司开源项目:法务要求先签 CLA 才接受外部贡献
- 基金会项目:统一用 CLA 或 DCO 管理贡献授权
- 个人贡献者:首次 PR 被机器人提示后按链接线上签署
- 企业贡献:员工以公司身份贡献,先确认雇主已签企业 CLA
排查要点
排查要点
# 1. 机器人在 PR 评论里给出签署链接
# 2. 完成签署后回复机器人提示语,或等它重新扫描
# 3. 公司员工先确认雇主是否已签企业 CLA
# 4. 签署状态在 PR 的检查列表里可核对CLA 与 DCO 对照
| 维度 | CLA | DCO |
|---|---|---|
| 形式 | 单独签署的协议 | 提交信息里的 Signed-off-by 声明 |
| 记录位置 | 平台签署记录 | 每个提交的正文 |
| 主要用途 | 授权项目使用贡献 | 声明贡献者有权提交 |
| 可同时要求 | 是 | 是 |
CLA 属于法务流程,代码层面无法绕过;等待签署期间可在 PR 里说明状态,维护者一般会保留 PR 不关闭。
签署前先读清条款差异:有的 CLA 是版权使用许可,有的是版权转让,公司背景下建议法务确认后再签。