本文目录导读:

开源项目的出口管制合规是一个复杂但不可忽视的议题,由于开源代码的全球流通性,项目维护者(甚至是贡献者)可能需要遵守多个国家的法律,尤其是美国的出口管制条例(EAR)。
以下是一套系统的开源项目出口管制合规做法,分为原则认知、具体操作和常见误区三个部分。
核心原则:理解“公开可用”的例外
出口管制主要针对敏感技术和特定实体,一个最重要的法律依据是:在美国,根据《出口管理条例》(EAR)第742.15(b)条,公开发布给公众使用的开源软件(包括其源代码和目标代码)通常被视为“公开可用”,因此不受大部分出口管制。
这意味着:
- 默认豁免:绝大多数在 GitHub、GitLab 等公共平台上的常见开源项目(如 Linux、Python、React)通常不需要主动申请出口许可。
- 关键前提:项目必须是真正公开的(任何人无需审批即可访问),且通信加密功能不能是专门设计用于规避管制(不是为了规避美国政府的加密限制而设计的云软件)。
具体操作步骤:如何确保合规
尽管如此,作为项目维护者,仍需采取以下措施以避免无意中违反法律:
自我评估:项目是否涉及“敏感”领域?
虽然大多数项目被豁免,但以下情况需要特别警惕:
- 加密功能:
- 低风险:使用标准、公开的加密算法(如 AES、RSA、TLS)并能公开下载,通常符合“公开可用”标准。
- 高风险:项目包含非标准、定制或强政府级加密(如用于军用级数据保护),或专门用于解密、绕过安全措施(如渗透测试工具、密码破解工具)。
- 特定技术领域:
- 高敏感:核技术、生化武器相关、特定导弹技术、大规模杀伤性武器相关的软件。
- 中度敏感:高性能计算、量子计算、特定人工智能/机器学习模型(如用于武器瞄准、无人机控制的视觉算法)。
- 受制裁实体与地区:
- 明确禁止:向美国制裁的国家(如伊朗、朝鲜、叙利亚、古巴、克里米亚地区)的个人或组织提供/下载代码。
- 注意:即使代码是“公开可用”的,主动协助(如提供技术支持、咨询、定制化修改)给这些地区的实体也是被禁止的。
添加合规声明(法律保护措施)
在项目的 README、LICENSE 或 CONTRIBUTING 文件中添加明确的合规声明,这不能改变法律,但可以明确告知用户和贡献者责任归属。
示例声明:
出口管制声明 本项目包含的软件根据美国出口管理条例(EAR)发布,除非符合所有适用的美国出口管制法律,否则不得将本软件出口、再出口或转让给任何受制裁的国家、实体或个人,下载或使用本软件即表示您同意遵守这些规定。 若项目包含加密功能,可增加:本软件包含的加密功能符合美国“公开可用”加密软件条例。
贡献者协议与代码审查
- 协议:在贡献者协议(CLA)中明确要求贡献者保证其代码不违反任何出口管制。
- 审查:代码审查时,留意是否有人提交了敏感算法、受限制的加密实现或明显用于规避管制的代码,对于可疑贡献,可拒绝合并。
使用可信的平台与工具
- 平台:使用GitHub、GitLab等主流平台,它们通常已具备基本的合规筛查机制。
- 代理/镜像:避免使用来自受制裁国家或地区的未经授权的镜像站分发代码,除非经过明确合规审核。
处理赞助与捐赠
- 赞助:接收来自特定国家(如俄罗斯、伊朗)实体的赞助或捐赠时,需进行尽职调查,确认对方不在制裁清单上。
- 商业使用:如果项目有商业版本或企业服务,需要更严格的客户身份验证。
常见误区与风险提醒
| 误区 | 真相 |
|---|---|
| “开源=完全自由” | 开源许可证(如GPL)不豁免出口管制法律,发布代码仍需遵守所在地法律。 |
| “我只管代码本身” | 出口管制也限制技术支持、培训、服务的提供,不能教受制裁国家的人如何使用你的加密工具。 |
| “用国外平台就没事” | 即使代码托管在GitHub(美国公司),仍适用美国法律,如果你所在国家有类似法律(如中国、欧盟),还需遵守。 |
| “没人查小项目” | 美国BIS(工业安全局)会监控合规情况,个人或小项目也可能因向受制裁实体提供高风险工具而被追责。 |
一个简化的行动清单
对于绝大多数普通开源项目(如Web框架、游戏、普通工具):
- 不违规:如果项目不包含特殊加密、不涉及军事/核、不专门针对受制裁地区,基本可以按正常流程发布。
- 加声明:在README中添加标准的出口管制声明(如上文示例),并确保LICENSE文件明确。
- 记底线:永远不要主动帮助任何受制裁国家的人绕过限制或提供专门的定制化工具。
高风险行动指南(如果你的项目涉及加密、安全、AI/ML、高性能计算):
- 咨询律师:务必聘请熟悉EAR(美国出口管制条例)或你所在国法律的律师进行专项合规审计。
- 添加出口分类:在项目中明确标注ECCN(出口管制分类码,如
5D002),并说明其“公开可用”豁免状态。 - 实施访问控制:考虑对核心敏感代码库设置访问权限或贡献者审查。
一句话要点:“公开可用”的开源代码是法律给出的最大便利,但维护者有责任了解并标注其适用范围,避免主动协助受限制的实体。