Linux基金会:开源技术不受制于《美国出口管制条例》EAR 限制,可自由使用
2020年7月8日,Linux基金会发布了一份中英文版的《了解开源科技和美国出口管制》的白皮书。其中有很多值得了解的信息,以下为全文,供大家参考~
开源发展的最大优势之一是它实现了跨边界的协作。开源协作透明、公开且能跨越组织边界,促使世界各地的开发人员、学者和工作人员一同成就比个人力量所能造就的更为伟大的开源技术。
开源协作跨越地域界限:聚集世界各国人员和组织,带着他们独特的观点和优势来一同开放协作,并向所有人分享成果。
开源发展是一项全球性活动,必然涉及软件的跨国界分享。一些国家的出口管制法规可能要求开源项目采取额外的措施,来确保遵守当地法律规定的义务。这篇指南将简要地描述美国《出口管制条例》,并讨论该条例如何应用于开源社区发展全球协作。本文中,“开源”一般指的是任何源码可公开获取的技术或软件。作为一种创造模式,开源已不仅仅局限于软件技术的开发。如今,开源还包括了其他广泛的开放技术领域,如硬件设计、微型处理器指令集架构、规范、数据模型、协议、标准以及公众以公开模式协作创造的其他技术。
美国的《出口管制条例》
《出口管理条例》(Export Administration Regulations,以下简称“EAR”)是美国联邦政府限制出口的主要条例,由美国商务部(US Department of Commerce)下的产业与安全局(Bureau of Industry and Security,以下简称“BIS”)发布并定期修订。EAR适用于所有“受制于EAR”的物品,并可能管制该等物品的出口、再出口或(境内)转让。
EAR下“出口”的定义较为宽泛。出口不仅包括从美国境内向外输送实物产品,还包括其他行为,例如向非美国公民或非美国合法永久居民传送技术,以及向美国境外人员提供用于电子传输的软件。
从表面看来,EAR似乎为开源社区敲响了警钟,但是好消息是,公开发布给全世界享用的开源技术是不受制于EAR的。因此,开源至今仍然是一个最为便利的全球协作的模式。
在接下来的内容中,我们将解析为何美国的出口管制法规一般不会对开源模式造成影响,并通过举例的方式说明和讨论为何开源软件的出口在一般情况下不受制于EAR。接着 ,我们将探讨在一定情况下的两个特定事项的范围:
第一,包含加密功能的开源软件;
第二,实施由神经网络驱动的地理空间分析训练(neural network-driven geospatial analysis training)功能的开源软件。最后,我们会提出一些最佳实践建议,供开源社区在项目实施过程中采纳。
将EAR应用于开源软件
EAR界定了某些可能受到出口限制的事项(包括软件和技术)的范围。“ECCNs”(Export Control Classification Numbers)是EAR法下用于物品分类(包括软件和技术)的编码。有些物品是受制于EAR的, 这代表它们在EAR的管控范围内,并只能在符合以下条件的前提下出口:无需许可证就可出口,适用许可证例外的情况或者出口方已经获得了出口许可证。
这正是开源技术的优势所在,因为EAR明确豁免了大多数以开源形式呈现的软件和技术。有一些事项被明确列为“不受制于”EAR,意味着它们“被置于EAR法规管辖外并不受这些法规的约束 。” 具体来说,EAR第734.3(b)条规定“下列事项不受制于EAR:”,其后列明,“如第734.7 条所述的,(i)已经发布的信息及‘软件’”。这里指向第734.7条是非常重要的 ,因为该部分规定“已发布”的事项不受到EAR的管辖。具体来说,EAR第734.7部分规定,
. . .当可被公众获取且无进一步传播限制时,未被归类为密级事项的“技术”或“软件”属于“ 已发布”,因此不属于受EAR管辖的“技术”或“软件”
来自Linux基金会以及与我们合作的项目社区的开源软件均满足EAR第734.7条中“已发布”的要求。
以下典型事项(未详尽列举)下不受到EAR限制,因为“开源”“已发布”:
已公开发布的开源软件不受制于EAR
已公开发布的开源规格不受制于EAR
已公开发布的,说明硬件设计的开源文档不受制于EAR
已公开发布的开源软件二进制不受制于EAR
如此可见,“已发布”是关键要素。基于EAR之目的,如果开源技术不受进一步传播的限制且可被公开获取,那么它将被视为“已发布”了的开源事项,并将因此“不受制于”EAR。将“已发布”的软件和技术纳入受制于EAR限制的范围内将是一项重大的政策性转变,迄今为止我们尚未知悉任何关于上述政策性转变的讨论。
可公开获取的软件和技术不受制于出口管制并非美国独有的政策,欧盟也有相关政策。
另外,与软件、技术和其他在EAR范围内的事项无关的活动也不受EAR限制,其中包括非技术性协作:有关商务事项的会议、活动策划、市场营销等类似的其他活动均不受EAR约束,因为上述事宜超出了EAR管辖范围。
若项目涉及加密技术,则开源社区可能需要多采取其他措施以满足EAR法下的“已发布”的要求。
加密
EAR下,软件开发者的一个关注焦点便是加密技术。EAR 管理特定加密软件和技术的出口。“加密软件”的定义非常广泛,并可能包括仅激活或创设其他软硬件产品的加密功能的软件。对于具备标准加密功能的软件,包括在软件设计文档中呈现的加密硬件,最为常见的ECCN类别是5D002 。如加密软件在EAR的管辖范围内,那么为了将其出口到除了加拿大以外的国家,出口方必须首先确认EAR例外条款在此情况下适用,或申请并从BIS获取相应的出口许可证。
然而,在考虑EAR例外条款是否适用或出口许可证是否必要前,首先要考虑的问题是:该加密软件是否在EAR 的管辖范围内。
属于ECCN 5D002的加密源代码如符合以下两个条件,则不 在EAR的管辖范围内:(1)该源代码是“可公开获取”的,以及(2)已向EAR第742.15(b) 条所载的电子邮箱地址发送了电子邮件以示通知。
上述衡量标准的第一部分要求,即“可公开获取”,指的是在EAR法下“已发布”的定义,这包括通过在公开的网页上进行发表(即公开传播)。只要完全公开的开源软件项目达到该标准,则应当视为通过了衡量标准的第一部分要求:如果项目的源代码可在互联网上公开获取,则应被视为“可公开获取”。
为满足上述衡量标准的第二部分要求,还需要向两个指定的邮箱地址发送邮件(一个是BIS的邮箱地址,另外一个是国家安全局(National Security Agency,简称“NSA”)的邮箱地址)。邮件内容需要包括可公开获取的源代码的URL地址(或源代码本身)。如URL或源代码发生任何变更,则需要再次以邮件形式通知上述邮箱地址。
最后,在通过了上述两项衡量标准后,相应的物件代码也将不受EAR管辖。
Linux基金会的所有项目源代码,包括加密软件,均可公开获取,我们也已经提供了上文所要求的电子邮件通知。并在我们的官网上公开了上述电子邮件通知的内容。12所以,Linux基金会的项目源代码及对应的目标代码均不受 EAR关于加密的限制。
请注意,上述情况只适用于开源项目本身。修改项目代码或其衍生产品的下游再分销商在源码并未公开时,仍然需要评估其是否符合EAR的规定( 如同需评估其出口的其他软件一样)。
神经网络驱动的地理空间分析训练
BIS在2020年1月6日宣布了一项新的EAR规定,并自宣布之日起立即生效。该规定设立了EAR针对一种专门为了训练深度卷识神经网络 (Deep Convolutional Neural Network)自动分析地理空间图像和点云(point cloud)能力的特殊地理空间图像软件的管控权。该规定阐明“点云”是指由坐标系统界定的数据点集合,又称数码表面模型。虽然规定自发布之日立即生效,但它仍有待公开意见征求并可能继续扩充或被修订。但无论如何,如果软件是可公开获取的(如开源软件),那么如上文所述,它将不受 EAR的管辖。
一些对新规定的公开解读可能在暗示该规定整体上对地理空间图像软件,或甚至人工智能/机器学习软件施加了广泛的限制。但事实并非如此。
这条规定的适用范围实际上显得很狭窄。它只适用于具体包括上述所有方面的事项。此外, 任何一项软件同时还必须包括以下所有功能,才受这条新EAR规定的管辖:
提供图形用户界面,使用户能够从地理空间图像和点云中识别物体(例如,车辆、房屋等),以便提取物体的阳性和阴性样本(positive and negative samples);
通过对阳性样本进行尺度、颜色和旋转归一化来减少像素变化范围;
训练深度卷积神经网络从阳性样本和阴性样本中探测到物体;和
利用训练好的深度卷积神经网络,将阳性样本的旋转模式与地理空间图像中物体的旋转模式进行匹配进而识别地理空间图像中的物体。
如软件不具备上述列出的所有方面和功能,那么该软件则似乎不受该条新规定(目前版本)的管辖。上述要求更像 是针对由商业解决方案提供商提供的解决方案,而不是 针对开源项目。特别是,训练要求不仅需要一个软件项目,并且还需要阳性和阴性的训练数据集,这种对数据集的具体要求可能只适用实施特定的神经网络。
现有的一些可公开获取的开源项目可能具备这些功能。然而,即使现在要创建一个新的项目,只要该项目是一个可公开获取的开源项目,那么它就不会受 EAR的管辖。
开源软件社区的最佳实践
以下是一些我们了解到或者尝试过的可能对所有开源社区有所助益的一些实践经验。
公开化和公众化
我们经常用“公开”这个词来形容许多事情:开源许可、公开和透明的讨论、公开的社区、公共智库里储存的可公开获取的源代码。对于开源社区来说,“公开”似乎是显而易见的做法,但我们对社区也提供一些建议。
首先,社区需要努力 维持他们技术交流的开放性与公开性。私人交流在社区中经常出现 ,对此我们建议将社区决策和结果向公众公开。信息的公开透明对我们项目来说很重要,因为技术或技术信息的私下交换可能不符合EAR中“可公开获取”的标准。
安全系统缺陷披露的过程中涉及到的信息交换会引起问题。对此,我们建议最好可在缺陷修复后公开项目交流内容,而不仅限于向保密披露清单里的各方提供。
交流技术思想和知识,进行技术辩论是开源社区的标志,其中最前沿的是最佳的技术解决方案。在公开场合进行这些交流有时可能会让人难以接受,但是我们那些严格遵守该原则的社区往往也是在建立透明度和可信赖性方面最为成功的社区。尽管可能会有分歧,但每个人都知道这个讨论是公开和透明的。当然公开和开放协作有很多益处,而不仅限于其能够符合EAR的要求。
提供加密的通知
如果你的开源软件项目实施或使用了ECCN5002项下的加密功能,那么根据EAR的要求,你需要向BIS和NSA提供加密通知。EAR第742.15(b)(2) 条 列举了以下这些要求:
发送电邮至crypt@bis.doc.go enc@nsa.go
邮件应该包括含有可公开获取加密源代码的网站地址,或源代码本身。一般来说,我们预计开源项目会选择第一种方式。
如果你提供的是网站地址,那么每次更换网站地址时, 你都必须通过电子邮件通知他们,但是你不需要通知他们有关源代码本身的更新或者变更。
如果你提供的是源代码副本,那么每当加密功能 存在更新或者变更后, 你都必须把最新的源代码提供给他们。
正如Linux基金会的通知所展现,以下我们建议的其他一些最佳实践方案:
为了加强透明度和展现合规性,将传给BIS和NSA的通知公开化。这也有助于解决下游用户对社区是否发送了通知的疑惑。通过公开通知的方式, 你可以避免这些困扰。
附加联系方式和负责项目的法人实体的名称(如适用)。
设计一个保留中期至长期证据的系统 ,以证明发送给BIS和NSA的通知电邮实际上已经送达 。最好不要仅依靠“已发送”邮箱记录,以避免将来发生问题, 和规避该个人无法再访问该“已发送”邮箱 的风险。
如果你不确定你的开源软件是否使用加密功能,或将来是否可能涉及这种功能,那么为确保万无一失, 你也可以考虑向相关部门发送此类通知 。
确保相应的加密源代码是能够公开获取的
如果你以目标代码形式公开分享加密软件,那么 你应确保该软件的源代码也是可公开获取的 。
项目的维护者,也是最熟悉项目代码的人群,应该审查并确认加密功能是否以二进制或目标代码形式分发的。如果是,那么应该先考虑上述操作是否必要。在大多数情况下,以源代码形式分发可能是最佳的方案 - 不仅基于出口合规的考虑,并且此种方案有助于下游用户摈弃对“黑盒子”二进制的依赖,并且可以轻松地从源代码处自主研发。
如果必须以二进制或目标代码形式分发加密软件,那么就必须确定相应的源代码是可公开获取的。最容易的方式就是自主将该加密软件版本的源代码公开,作为项目本身的源代码。(事实上 , 取决于适用的开源许可内容,从遵守开源许可的角度来说可能必须这样做,或者至少有所助益!)
除人工审核外,还有一些性能不等的扫描工具,可以扫描源代码并探测加密功能的应用。没有一种自动扫描工具能够完美地检测出所有的应用,但这些工具可能有助于识别大型代码库中的加密软件。
原版白皮书:
相关阅读:
美国贸易管制黑名单新增:奇虎360、烽火通信、云从科技、东方网力等33家
美国贸易管制黑名单新增:商汤、依图、旷视、海康威视、大华等 8 家
云头条:美国贸易管制黑名单新增中科曙光、天津海光、成都海光集成电路、海光微电子技术和无锡江南计算技术研究所
美国将限制华为使用美国技术设计和生产产品:切断其与全球芯片供应商联系!
五角大楼认定华为、浪潮等20家中企"与军方有关":我国学者称这是“乱找理由”的威胁与打压