公司动态 · 发布时间:
在美国云主机上运行开源程序,不等于所有许可证义务或出口管制都自动适用,也不代表可以忽略它们。核查美国托管环境部署开源软件的许可证和出口限制核查,应先弄清软件从哪里来、怎样修改、向谁提供,以及包含哪些加密功能。以下流程适用于个人项目和组织部署;具体法律结论仍需结合事实判断。
先盘点软件,再确认许可证
不要只看项目首页标注的“开源”。记录主程序、容器镜像、系统包、插件、前端组件及其传递依赖。可用 SPDX、CycloneDX 格式维护软件物料清单(SBOM);ScanCode、FOSSology 等工具能协助识别许可证,但自动扫描可能漏掉文件头、例外条款或人工修改,不能代替复核。
- 固定部署版本和来源:记录仓库、发行包、版本号、校验值及下载日期;保存许可证文件和版权声明。
- 生成依赖清单:检查直接依赖与传递依赖,标出许可证缺失、多个许可证并列或带例外条款的项目。
- 逐项核对义务:关注分发时是否须附许可证文本、保留声明、提供对应源码,或说明对文件所作的修改。
- 把结果落实到交付物:在镜像、安装包或产品文档中放置所需声明,并留存审核记录。
按许可证类型看触发点
MIT、BSD 等宽松许可证通常要求保留版权和许可声明;Apache License 2.0 还涉及许可证文本、修改说明,以及项目提供的 NOTICE 文件(如有)。GPL 系列在分发受其约束的软件时可能要求提供相应源码及许可条件;仅在服务器上运行、没有向用户分发程序时,通常不能简单等同于分发。AGPL-3.0 对通过网络与修改后程序交互的情形另有源码提供要求。具体边界取决于组合方式、修改和交付形式。

例如,PostgreSQL 使用 PostgreSQL License;Linux 内核主要采用 GPL-2.0-only。它们的义务不能互相套用,也不能只凭“用了某个组件”就断定整个应用必须采用同一许可证。把许可证名称、版本、组件路径和处置结论逐项对应,比只保存一张扫描报告更可靠。
出口限制要查软件、地点与使用者
美国出口管制以美国《出口管理条例》(EAR)等规则为重要依据,关注受控物项、目的地、接收方及最终用途。软件含有加密功能时,可能需要判断其出口管制分类,例如涉及 ECCN 5D002 或其他分类;有些产品可能符合不同的加密或大众市场处理方式。不能仅凭软件开源、托管在美国,或自认为属于 EAR99,就自行认定没有限制。
此外,制裁筛查与出口管制分类不是一回事。美国财政部海外资产控制办公室(OFAC)管理的制裁规则,可能影响特定受制裁对象、地区或交易。用户所在地区、控制关系、最终用途,以及云服务商条款,都可能改变风险判断。公开发布源代码也不自动解决所有问题;是否适用特定公开信息或加密相关规则,需核对具体条件。
部署前按这套顺序留证
- 界定部署:写明服务器和数据所在地区、软件由谁操作、是否提供下载或客户访问、是否会向外部交付镜像或源代码。
- 审许可证:按组件核对许可证原文、版本、修改情况和分发方式,列出必须保留的声明、源码提供义务及待确认事项。
- 识别加密功能:记录加密库、功能用途和软件版本;若无法确定分类,向熟悉出口管制的专业人员或主管机构咨询,不要猜测 ECCN。
- 核对交易对象:按组织流程检查目的地、客户或合作方、最终用途及适用限制;保存筛查时间、依据和审批记录。
- 设置复查节点:软件升级、增加加密功能、更换客户地区或改变交付方式时重新评估,并更新 SBOM 和合规记录。
常见问题
只在美国服务器上自用,也要查许可证吗?
仍应确认许可证条款和组件来源;但是否触发源码提供等义务,取决于许可证、修改和是否向他人分发或提供网络服务。
扫描工具显示“许可证未知”,可以先上线吗?
不宜直接忽略。先定位对应组件和文件,查项目仓库及发行包中的许可材料;无法确认时,应隔离该依赖或暂缓上线并升级审核。
开源软件是否天然不受美国出口限制?
不是。公开发布、加密功能、接收方和最终用途都可能影响判断,不能用“开源”作为豁免结论。
哪些情况应找专业人员复核?
涉及加密软件、受限制地区或对象、无法确定分类、复杂许可证组合,或需要向客户交付源码和镜像时,应取得针对具体事实的法律或出口管制意见。
稳妥做法不是猜测“美国托管就没事”,而是把组件、交付方式、加密特征和使用对象记录清楚。按上述步骤完成美国托管环境部署开源软件的许可证和出口限制核查,遇到分类或义务边界不明时及时升级处理。


