海外投资安全信息2022年第三十五期(总第九十五期)

编辑:      文章来源:走出去智库      日期:22-06-06      点击:381

海外投资安全信息.png

开源软件出口管制合规政策与管控策略

【2022070】

【动态新资讯】


一、概 述

开源软件是源代码可以任意获取的计算机软件。在获取开源软件源代码的基础上,任何人都能查看、修改和分发他们认为合适的代码。开源是信息社会的生产方式之一,特点是大维度的协作与网络服务化,全球范围的源代码开放,是开源软件的一个特征。我国的开源软件技术已经全面进军操作系统、云原生、人工智能、大数据等主要领域,例如在容器技术、微服务技术、DevOps技术上,均有中国的开源贡献。开源软件已在各行各业得到广泛应用。作为托管于开源社区的开源软件,必须受到相关开源社区的管理约束。由于各国的法律法规存在差异,基于社区由不同国家发起、托管平台存在于不同国家、以及这些开源软件的版本归属差异,这些开源项目还会受制于不同的“其它外部的法律法规”,比如“出口管制要求”。美国曾将中国某公司及其附属公司列入出口管制“实体名单”,随后美国谷歌公司宣布将停止为其提供安卓(Andriod)系统的技术支持与服务,而安卓系统一直是世界知名的开源项目。软件产品是作为当今大部分高科技企业最为重要的产品形态之一,已大量涉及开源软件,进行开源软件相关合规政策和合规遵循的研究显得尤为重要。本文主要从出口管制的角度,研究开源软件相关的法规政策和及其影响,通过对企业当前的合规管控实践,分析开源软件的管控现状和差距,提出改进措施,并说明开源软件在未来的使用过程中可能面临的风险。


二、各国针对开源软件的出口管制政策

(一)美国出口管制法规对于开源软件的管控

在美国,开源软件是否受出口管制的限制?一个广为流传的观点是,软件的源代码因受到言论自由的保护而不被管制。根据1995年伯恩斯坦诉美国司法部(Bernstein v. Department of Justice)案,软件源代码属于言论自由的范畴,不能被政府部门管制。但很少有人提到,该案的裁决未生效。因此,伯恩斯坦案并非有法律效力的判例,不能简单地得出结论认为软件的源代码因受到言论自由的保护而不能被管制。实际上恰恰相反,软件的源代码只要没有实现“公开可获得”(Publicly available),仍然要受到美国出口管理条例(Export Administration Regulations,以下简称“EAR”)的管辖。美国对于开源软件的管辖基于“已公开”(Published)或者“公开可获得”(Publicly available)的概念。已公开的信息可以任意复制、传播,对于已公开的信息再进行管控是不可能做到的,因此立法者将已公开的信息排除出了EAR的管辖范围,即根据EAR 734.3(b)(3),“已公开”的信息和软件不受EAR管辖。开源软件由于其源代码已经在互联网上的网站或者网络社区进行了公开,可以任意下载和传播,因此开源软件在原则上由于其公开的特性不受EAR管辖。


(二)中国、欧盟和日本出口管制法规对于开源软件的管控

从对四大经济体的出口管制法规分析看,只有美国的EAR提及了开源软件的概念,并提出了对开源软件进行管控的细则。在日本的管控清单中,甚至没有提及软件;中国和欧盟的法规虽然提及了软件,但是却没有提及开源软件的概念,也就没有专门针对开源软件的管控制度。下面说明中国出口管制法对软件的管控将如何影响开源软件:中国出口管制法对软件的管控仍集中在软件的功能、性能上,开源软件的本身公开的性质,并不能使其免于中国出口管制法的管辖。只要软件本身在中国出口管制法下辖的清单中,如两用物项清单,那么该软件即使是开源软件,出口也可能需要出口授权。特别的,根据《中华人民共和国出口管制法》第二条的规定,从中华人民共和国境内向境外转移管制物项,属于“出口”;中华人民共和国公民、法人和非法人组织向外国组织和个人提供管制物项也属于“出口”(也称之为“视同出口”(Deemed export))。因此中国出口管制法定义下的开源软件“出口”或者“视同出口”涵盖的范围将非常之广,运营于中国境内的不管是企业还是个人都需要对此特别注意。下面对于涉及开源软件出口或者非出口的场景进行举例说明。



三、重要开源社区的出口管制策略

(一)国际开源组织项目出口管制政策

一个完整的开源生态包含开源基金会(组织)、开源项目、开源许可证和代码托管平台等多方面要素,它们各自的条款声明和受到的法律制约都不尽相同。

1. 开源基金会

开源基金会管理开源项目,但基金会的管理办法差异较大,而基金会旗下的开源项目也可以选择不同管理办法。举例:

·Linux 基金会自身的管理办法不受美国出口管制,其旗下的项目包括Linux Kernel等默认遵循该管理办法,但其分布式存储项目Ceph明确指定司法管辖权归属美国加州,并要求使用并出口者遵循美国出口管制,就属于Linux基金会中的特例;

·Apache基金会的管理办法明确说明遵循美国出口管制,旗下绝大多数项目如 Hadoop、Spark等,在备案(5D002)后即不受EAR出口管制;

·Mozilla基金会明确声明司法管辖权归属加州。根据前述司法管辖区与出口管制的关系,Mozallia基金会声明司法管辖权,只是表示出现各类纠纷都将以加州Santa Clara的法庭裁决为准。如前所述,这并不表示其管理的开源项目默认受到出口管制;

·RISC-V基金会隶属于Linux基金会,没有特别声明受美国出口管制,因此RISC-V基金会拥有的RISC-V开放指令集标准并不会受美国出口管制。值得注意的是,RISC-V 基金会的会员条款中也指明了其司法管辖权在美国特拉华州。根据前述司法管辖权与出口管制的关系,RISC-V基金会声明司法管辖权,表示所有围绕会员条款产生的纠纷都将交由指定法庭裁决,但并不表示其管理的开源项目默认受到出口管制。


2. 开源许可证

常用开源许可证如GPL、LGPL、BSD、MIT、Mozilla、Apache,均未涉及与政府出口管制无关的声明。而且开源项目对于许可证条款的遵循与变更比较容易,所以开源许可证方面的出口管制风险比较小。

3. 代码托管平台

从对GitHub、SourceForge和Google Code三个代码托管平台的研究来看,该三个平台均明确声明遵守美国出口管制条例,并且司法管辖权均在加州(即需按加州法律解决纠纷)。

以 GitHub为例,GitHub明确声明其GitHub Enterprise Server被出口管制,不能出口到被制裁国家。至于GitHub网站的普通功能,由于架设在美国的GitHub服务器的上传和下载的行为都需要遵从出口管制和美国法律,所以其正常使用是可能会被管制的。亦即,GitHub上的开源项目代码在遵守项目自身的开源许可证的同时, 也可能作为GitHub上的信息(Information)遵从出口管制和美国法律。概述中提到的事件,也很可能因为GitHub因素使其访问开源项目受到影响。

开源项目如何规避出口管制风险?存在四种情况,但都需要开源项目发起人或开发者支持与配合:

·对于已存放于GitHub的开源项目,若同时存放于美国以外其他托管平台,且开发者分别独立提交更新到GitHub与其他托管平台,且开发过程中不从GitHub下载任何信息,那么从美国以外的托管平台获取开源项目不受美国出口管制;

·对于已存放于GitHub的开源项目,若发起人本地拥有副本,且未从GitHub上下载更新,那么发起人可在美国以外其他托管平台创建开源项目,并将副本上传到该托管平台。此后开发者分别独立提交更新到GitHub与美国以外的托管平台,且开发过程中不从GitHub下载任何信息,那么从美国以外的托管平台获取开源项目不受美国出口管制;

·对于新启动的开源项目,发起者可在美国以外的托管平台和GitHub上同时创建项目,且开发者分别独立提交更新到美国以外的托管平台与GitHub,且开发过程中不从 GitHub 下载任何信息,那么从美国以外的托管平台获取开源项目不受美国出口管制;

·对于新启动的开源项目,发起者可直接在美国以外的托管平台创建项目,其后开发者向该托管平台更新,那么从该托管平台获取开源项目不受美国出口管制。


从以上分析可以看出,虽然并非所有的开源基金会、开源社区管理的源代码都受到美国出口管制的管辖,但几乎所有位于美国的国际开源组织或项目,无一例外地遵守美国的出口管制政策。


(二)社区声明对开源软件使用的影响

在实际使用开源软件时,为了增强我们对该开源软件具备足够的驾驭能力,选择开源软件项目时,需要考虑能够随时不受限制地引用其全生命周期过程中的版本、技术,以满足引用开源软件产品全生命周期经营管理需要:

·选择开源软件时,需要仔细阅读所属开源社区/开源基金会的声明、项目本身的声明、所用的开源许可证声明等三个声明,以了解受各国出口管制管辖及约束的情况。对所用开源软件相关的上述声明需要进行全生命周期的跟踪,若其条款有所变更需要进行快速响应,分析其出口管制影响;

·在同样条件下,优先选择国内开源基金会和开源社区下的开源软件;

·开源托管平台同时受EAR出口管制和美国司法管辖权的限制,是开源最大的风险。在同样条件下,优先选择国内开源社区下的开源软件;

·同时做好受出口管制后,是否有其它应对手段,如开源软件替代、具备开源软件守护能力等;

·做好所使用开源软件的开源基准库,最好是所用开源组件的全版本库。

对所选开源软件的许可证进行全生命周期管控,预防遵循许可证变更,甚至引入新的受出口管制影响的许可证等情况。


四、开源软件出口管制合规管控实践

(一)开源软件应用管控

在当前的高科技研发研发公司中,开源软件几乎涉入了每一个软件研究项目。近年来,业界各企业纷纷开始进行开源合规治理,通过不断完善,部分企业目前已形成一套开源软件的管理体系,管理系统主要包括开源的安全、许可证和出口管制三部分。这里主要讨论在出口管制方面的合规管控实践。尽管如上面所述,四大主要经济体中的日本、欧盟和中国的出口管制或没有提及软件,或是没有开源软件的概念,比如中国的出口管制政策主要通过对最终产品的功能性能来确认是否进行关注,但实质上都有对使用开源软件的“隐形”出口管控。这里笔者以国内某企业对开源软件的合规管控实践,讨论对开源软件管控有更明确和严格要求的美国EAR法条的遵从。

按照 EAR 的规定(734.3(b)(3)、734.7(b) 和 742.15(b)),即ECCN为5D002的加密开源软件仍受EAR管辖,除非其目标代码和源代码按要求向BIS和ENC Encryption Request Coordinator进行了备案(notification)。尽管进行备案不是EAR的强制要求,但企业为减少出口管制合规风险而选择了对ECCN为5D002的加密开源软件进行备案管理要求,对研发过程中使用的受EAR管辖开源软件采取了管控措施。


(二)开源对外贡献管控

作为开源软件应用者,同时也是开源软件的贡献者。常见的开源对外贡献有两种方式,一种是直接向开源社区贡献自研代码,还有一种在在开源社区主导建设项目。

1.自研代码贡献

为了实现开源社区的共建,实现技术和代码的共享,某些情况下,研发项目在从开源社区获取开源项目的同时,也需要向开源社区共享源代码。为了遵循出口管制的政策,对于涉及受EAR管控的技术或软件的软件不能作为开源软件公开到开源社区中。该实践中对开源代码对外贡献管控要求是:项目组在向开源社区提交源代码前,需要识别是否包含受控软件,受控软件不能作为开源软件发布;涉及受控技术的受控项目的软件源代码也不能对外贡献代码。

2.开源项目建设

我国目前有很多企业都有其主导的开源软件建设项目,代码托管在Linux基金会,同时,在开源中国社区上建设了镜像。开源中国是目前最大的开源技术社区。虽然,开源项目在托管平台的选择上有自主权,但是绝大部分中国项目组在国际大平台托管代码时,都会选择同时在国内建立镜像,不仅中国项目,开源中国也同国际上很多大的平台签署了相关协议,一方面能不断发展开源社区,同时也是对国内开源代码使用的安全性的一个长远保障措施。


五、开源软件管控改进措施和风险分析

(一)开源软件管控差距和改进

在上文的开源软件管控实践中,企业对开源软件已制定比较全面的管控措施,出口管控合规的风险已完全被管控。但就执行与现有政策要求还存在一定差异,体现在目前EAR法条中仅管控涉及非标准加密算法的开源软件,也就是说,只有涉及非标准加密算法的开源软件才是美国出口管制关注的对象,其他都不在其管辖范围内,无需向其备案,这个政策在2021年3月份变更。但是目前如果依然按照原有的要求进行备案,对所有加密的开源软件都进行备案,管控的尺度更高。虽然这种差距虽然并不带来合规风险,但却会加重备案工作量。为了消除这种差距,企业合规部门与业务单位不断讨论改进措施和方案,目标是完全遵循EAR的要求,仅针对涉及非标准加密算法的开源软件向BIS备案。这个方案中,最关键的一点是如何确定加密算法是否为标准算法,执行落地方案建议如下:

·首先依据法条中对标准加密算法的说明,确定目前已使用的标准加密清单,但此清单并不涵盖所有的标准加密算法,仅供使用人员参考;

·使用人员负责对加密开源软件的加密算法标准和非标准进行判定,判定方法是参考标准加密算法清单,如果加密软件使用的加密算法在此清单内,则认为是标准加密算法;

·如加密软件使用的算法不在此清单内,则需要根据非标准加密算法的定义进行判定,给出是否非标准加密算法的判定,判定依据:该算法在何种国际标准中公开发布;

·管理人员审查不在标准加密算法清单中的标准加密算法的判断依据。如果判断依据可靠,则将改算法加入标准加密算法清单;否则将涉及非标准加密算法的开源软件向BIS备案。


(二)开源软件潜在风险分析

在该实践中,虽然开源软件的使用已完全遵循了美国的出口管制,但并不代表没有风险。从前面概述中的案例可以看出,可能存在一种极端的情况,一旦美国修改 EAR,将高性能软件、EDA 软件等一些核心基础软件加入到管制中(这并非不可能,2018 年 11 月,美国 BIS 曾就 AI 和机器学习等新兴技术是否加入管制名单征求公众意见),并且将目前“备案即不被管制”(这其中包含了 ASF 几乎所有开源项目),修改为“备案且需要被管制”,那就意味着大量核心开源项目将受到出口管制。

换句话说,如果我们使用的开源软件较多都来源于这些有影响力的外部社区,而这些社区又都受制于国家的出口管制政策,那么这些开源软件始终都将受到出口管制政策变化的影响。我们已经清楚地认识到,出口管制的本质是,国家不希望其在意的东西(物项)转移给其不喜欢的国家/人(禁运国家/受限制主体),目前国际局势风云变化莫测,如果一旦形式突变,开源软件作为严重影响各行各业的一把双刃剑,把其作为对付一个国家或企业的武器存在很大可能。

所以从长远来看,中国必须建立起自己有影响力的开源项目托管平台,发展自身的开源力量,并以更开放的方式吸引全世界的开源爱好者。中国在2008开始建设开源中国社区,目前已经建设成国内最大的开源技术社区。国家在第十四个五年规划中,已经把“开源”列入规划。纵观中国企业,华为作为风险管理杰出企业代表,也早早意识到自己在开源软件这一块的风险,已经在操作系统、数据库、AI深度学习框架等基础软件在国内构建了完善的开源生态,成为中国开源的重要力量。

对于受开源软件和出口管制影响深远的企业,也有必要居安思危,未雨绸缪,多作贡献。