2020年7月,Linux 基金会发布了一份白皮书,介绍了开源社区该如何了解并遵循与美国出口管制要求及开源加密相关的一般性原则。这个消息是以中、英文两种语言一同发布的,白皮书还用了中英文并列的方式展现了内容。

以下是 Linux 基金会的发布消息全文。该白皮书的PDF版本,欢迎关注「腾源会」公众号,后台回复「报告」获取下载链接。

PART ONE

简 介

开源开发的最大优势之一是它实现了整个世界的协作。然而,由于开源开发是一项全球性的活动,它必然涉及跨国界提供可用的软件。一些国家的出口管制条例,例如美国,可能需要采取额外的步骤来确保一个开源项目符合当地条例规定的义务。

本文概述了开源社区应该了解并遵循的与美国出口管制要求和开源加密相关的一般性原则。

PART TWO

美国和其他国家的出口管制

《出口管理条例》(以下简称“EAR”)是美国联邦政府限制出口的主要条例,由美国商务部下的产业与安全局(以下简称“BIS”)发布并定期修订。《出口管制条例》适用于所有“受《出口管制条例》管制的物品,并可管制这些物品的出口、再出口或(在国内)转让。”

EAR下“出口”的定义较为宽泛。出口不仅包括从美国境内向境外输送实物产品,还包括其他行为,例如向在美国居住的非美国公民或非美国合法永久居民传送技术,以及向美国境外人员提供用于电子传输的软件。

EAR 似乎给开源社区敲响了警钟,但是好消息是,公开发布给全世界享用的开源技术是不受制于 EAR 的。因此,开源至今仍然是一个最为便利的全球协作的模式。

为了符合 EAR 的要求,如果开源技术是公开的,不受进一步传播的限制,那么它是“已发布的”,因此“不受制”于 EAR。

除美国外,欧盟在其出口管制条例中也有类似规定。

PART THREE

怎样的开源项目不受EAR和欧盟出口限制?

所有。Linux 基金会以及与我们合作的项目社区制作的开源软件均已发布,并且在没有任何传播限制的前提下供公众通过公开渠道获取。

以下情形(但不仅限于此)不受到 EAR 限制,因为“开源”“已发布”:

  • 已公开发布的开源软件不受制于 EAR

  • 已公开发布的开源规范不受制于 EAR

  • 已公开发布的,说明硬件设计的开源文档不受制于 EAR

  • 已公开发布的开源软件二进制不受制于 EAR

然而,若项目涉及加密技术,则开源社区可能需要采取一些其他的措施以满足 EAR “已发布”的要求。

PART FOUR

使用加密技术的项目

EAR 规范了特定加密软件和技术的出口。“加密软件”的定义非常广泛,并可能包括仅激活或启用其他软硬件产品的加密功能的软件。

但是,与已发布的软件不受制于 EAR 一样,使用加密技术的软件即如符合以下两个条件,则不受制于 EAR:(1)该源代码是“可公开获取”的,以及(2)已向第742.15(b)部分所提供的电子邮箱地址发送了邮件以示通知。

为符合第一项豁免要求,“可公开获取”指的是在 EAR 法下“已发布”的定义,这包括通过公共站点进行发布(即公开传播)。只要完全公开的开源软件项目达到该标准,则应当视为通过了衡量标准的第一部分要求:如果项目的源代码可在互联网上公开获取,则应被视为“可公开获取”。

为满足上述衡量标准的第二部分要求,还需要向两个指定的邮箱地址发送邮件(一个是 BIS 的邮箱地址:crypt@bis.doc.gov,另外一个是国家安全局(简称“NSA”)的邮箱地址:enc@nsa.gov)。邮件内容需要包括可公开获取的源代码的 URL 地址(或源代码本身)。如 URL 或源代码发生任何变更,则需要再次以邮件形式通知上述邮箱地址。

当该可公开获取的加密源代码通过了上述两项衡量标准后,那么相应的目标代码也将不受EAR管辖。

Linux 基金会的所有项目源代码,包括加密软件,均可公开获取,我们也已经提供了如上所述的电子邮件通知。我们也在LF官网上公开了上述电子邮件通知的副本。所以,Linux 基金会的项目源代码及对应的物件代码均不受制于 EAR 关于加密的限制。

请注意,上述情况只适用于开源项目本身。如源代码并未公开,修改了项目代码的下游分销商或其衍生产品的下游分销商仍然需要自行评估是否符合 EAR 的规定(和其出口的其他软件一样)。

除了使用加密技术的项目外,EAR 还在 2020 年 1 月为采用神经网络驱动的地理空间分析培训的系统增加了一项新法规。与其他公开提供的开源技术一样,公开发布的开源软件,即使是在神经网络驱动的地理空间分析培训这一类别中,也不会受到 EAR 的约束。请参阅完整的白皮书(PDF版本可关注「腾源会」公众号,后台回复「报告」获取下载链接)了解更多说明。

PART FIVE

开源软件社区的最佳实践

虽然开源项目不受 EAR 限制,但我们已经学习或者掌握了一些可能对所有开源社区有所助益的实践,都与出口管理条例相关。

我们经常用“公开”这个词来形容许多事情:开源许可、公开和透明的讨论、公开的社区、公共智库里储存的可公开获取的源代码。对于开源社区来说,“公开”似乎是显而易见的做法,但以下是一些社区需要考虑的具体建议。

PART SIX

开放,公开

首先,社区应该尽量保持技术对话的开放和公开。如果私人技术对话在社区内发生,这是正常的,但建议将社区决策和结果公开。对于我们的项目来说,使信息公开透明是很重要的,因为技术或技术信息的私人交流可能不符合 EAR 的“公开可得”标准。

出现的一个问题与在安全披露过程中交换与安全问题有关的信息有关。作为一种最佳实践,项目可能会考虑在修复程序可用时公开此类交换,而不是将此信息限制在一个机密的公开列表中。

PART SEVEN

向BIS和NSA发送加密通知

如果您的开源软件项目实施或使用属于 ECCN 5D002 规定的加密功能,那么根据 EAR 的要求,您将需要向 BIS 和 NSA 发送加密通知。EAR 的具体要求如下:

  • 发送电邮至 crypt@bis.doc.gov 及 enc@nsa.gov。如果您的项目是LF的项目,并且您的通知没有出现在我们的出口管理页面上,请发送通知至 legal@linuxfoundation.org。

  • 邮件应该包括含有可公开获取加密源代码的网站地址,或源代码本身。

  • 如果您提供的是网站地址,那么每次更换网站地址时,您都必须通过电子邮件发送通知,但是您不需要通知有关源代码本身的更新或者变更。

  • 如果您提供的是源代码本身,那么每当加密功能进行更新或者变更后,您都必须提供最新的源代码。

Linux 基金会建议将其他的一些细节作为最佳实践:

  • 为了加强透明度和展现合规性,将提交给 BIS 和 NSA 的通知公开化。这也有助于解决下游用户对社区是否发送了通知的疑惑。通过公开通知的方式,您可以避免这些困扰。

  • 附加联系方式和负责项目的法人实体的名称。

  • 设计一个保留中期至长期证据的系统(证明发送给 BIS 和 NSA 的通知电邮实际上已经送达)。因为如果将来发生问题,或者如果个人无法访问该“已发送”邮箱,仅依靠“已发送”邮箱记录不是个好办法(例如发件人跳槽了)。

此外,如果您正在以目标代码的形式分发公开可用的加密软件,那么您还需要确保它也以源代码的形式公开可用。

如果必须以二进制或目标代码形式分发加密软件,那么就必须确定相应的源代码是可公开获取的。最简便的方式就是自主将该加密软件版本的源代码公开,作为项目本身的源代码。(事实上,根据适用的开源许可,这对遵守开源许可可能也是必要的,或者至少是有用的!)

除人工审核外,还有一些性能各异的扫描工具(例如 Fossology 和exportctl ),可以扫描源代码并探测加密功能的应用。没有一种自动扫描工具能够完美地检测出所有的应用,但这些工具可能有助于识别大型代码库中的加密软件。

本文来源于:Linux中国 公众号

作者:Linux基金会

腾小源温馨Tips

欢迎关注本公众号,回复「报告」后台领取获取白皮书PDF哦~

如何应对美国对开源项目的出口管制?这是Linux基金会的建议相关推荐

  1. 开源人才缺口持续扩大,Linux基金会揭秘开源就业真相

    在数字化转型的过程中,越来越多的企业意识到开源的重要性,因此寻找有经验的开源人才对于这些公司而言可谓是迫在眉睫,原本在疫情爆发前就已经存在的人才缺口持续扩大.除此之外,越来越多的开发者反映了自己在开源 ...

  2. 类似问卷星的开源项目Tduck填鸭部署到Linux服务器

    dddd 1.去gitee上把前后端代码下载到本地. 后端源码:https://gitee.com/TDuckApp/tduck-platform 前端源码:https://gitee.com/TDu ...

  3. 开源项目新蜂商城在Linux上部署,mysql+nginx

    newbee-mall是一项基于Spring Boot的在线商城系统,非常适合新手了解学习Spring Boot框架 源码新蜂商城后端接口 newbee-mall-api 新蜂商城 Vue3 版本 n ...

  4. 中国开源项目迈向全球化!

    整理 | 屠敏 出品 | CSDN(ID:CSDNnews) 中国开源正在登上全球化舞台,成为一股不容忽视的中坚力量.在国际开源领域,ant-design.vue-element-admin 等热门开 ...

  5. 专访 PMC,开源项目 Apache Pulsar 如何挑战 Kafka?

    本专访是开源中国 OSChina 对 StreamNative 联合创始人兼CTO.Apache Pulsar PMC 翟佳的采访内容,由开源中国首发.在本采访中,主要介绍了 Apache Pulsa ...

  6. 8 个你应该了解的环保开源项目

    通过给这些致力于提升环境的项目做贡献来庆祝地球日. 在过去的几年里,我一直在帮助 Greenpeace 建立其第一个完全开源的软件项目,Planet 4. Planet 4 是一个全球参与平台,Gre ...

  7. 项目众包 开源项目_改善8个开源项目的可访问性

    项目众包 开源项目 自四年前改用Linux以来,我一直从事开源工作,有时是代码贡献者,有时只是提交错误和改进文档. 而且,正如你们中某些人可能已经知道的那样,我在视觉上有缺陷. 因此,我参与的大多数开 ...

  8. 开源项目面试重要吗_您的开源故事很重要

    开源项目面试重要吗 我是Linux菜鸟. 一个新来者. 初学者. 随便怎么说,事实是我是Linux的新手. 而且,三年前,我也是开源的新手. 对于我们这一代人(同龄人)来说,拥有PC和Mac,仅使用W ...

  9. 开源项目的所有者去世了怎么办?

    [CSDN编者按]GitHub是全世界最流行的代码托管网站,上面托管了6700万个项目.但是各个开源项目之间所隐藏的复杂软件依赖关系网,带有很大的安全和性能隐患--特别在开源项目的所有者去世之后,很有 ...

  10. 一文读懂开源项目 OpenHarmony2.0 开源项目 OpenHarmony 是什么

    一图胜万语,开发者拿到OpenHarmony 2.0代码后跑起来的样子 OpenHarmony是自主研发.不兼容安卓的全领域下一代开源操作系统. 开放原子开源基金会(简称"基金会" ...

最新文章

  1. 从.NET和Java之争谈IT这个行业
  2. 导入表注入原理和C语言实现
  3. 【学习笔记】3、Jupyter Notebook无法打开问题处理
  4. 自动化运维工具Saltstack详细介绍
  5. Flex数据绑定陷阱(一)
  6. AngularJS 项目搭建--基于RequireJs
  7. 开源题材征集 + MVCEF Core 完整教程小结
  8. oracle有入参的试图,Oracle 带参视图
  9. pytorch argmax_PyTorch深度学习模型的服务化部署
  10. 不同于其他写脚本的同类文章,使用软件取消赞和关注收藏
  11. 上海交大发布全球首款专用光量子计算软件
  12. linux下搭建python机器学习环境
  13. SpringBoot之kafka安装windows
  14. 事务对性能影响_mysql之事务
  15. 正定矩阵(Positive Definite Matrices)、半正定矩阵(Positive Semidefinite Matrices)
  16. 费用报销管理表格计算机考试,计算机等级考试EXCEL练习题-10通讯费年度计划表...
  17. uniapp拍照上传照片流程笔记
  18. 手机计算机表白公式,表白公式数学公式
  19. 再见深圳!我要去成都搞IT了!
  20. Dubbo源码分析之构建远程Invoker

热门文章

  1. office产品密钥如何找回
  2. 什么是Map Reduce
  3. 如何在Excel中少犯二(I)
  4. Attiny48单片机编程经验总结
  5. 读书笔记(一)数联网——大数据如何互联
  6. 2022 抖音记录美好生活
  7. 《软件设计师》复习总结
  8. Android studio添加依赖是什么意思以及添加依赖的方法
  9. C语言ALG什么文件,alg.exe是什么进程文件?如何删除alg病毒?
  10. Dev-C++下的char字符数组strlen()诡异事件