查看原文
其他

源代码受美国出口管控么?要提前囤代码么?看完有答案

Linux爱好者 算法爱好者 2021-01-31

(给算法爱好者加星标,修炼编程内功


综合整理:程序员的那些事(id:iProgrammer)

这几天一直在关注「开源和美国出口管制」的话题。


看到有些网友在假设讨论,「如果某个编程语言禁止某国用,会是什么一种情况」,以及「如果源码受美国出口管控,要不要提前囤代码」。


21 日,《GitHub、Apache 等平台开源项目,受美国出口管制么?》这篇推文中,提到了 Apache 基金会旗下开源产品适用于美国出口管制法律法规。


当地时间 5 月 22 日,ASF 法务副总裁 Roman 在官博发了一份声明,算是解除了最近程序员圈内的一些疑惑。


Apache 基金会解释「美国出口管制」相关疑问


(ASF 声明截图)


> 对实体清单上所列缔约方的出口和再出口的限制,显然适用于受出口管理条例(EAR)约束的活动和交易。

> 美国商务部工业和安全局(BIS)于 2016 年 9 月 20 日重新分类,开放源码公开可用的加密软件源代码,因已是「公开可用」和「已发布」,不再受 EAR 约束。

涉及加密软件源代码的开源项目,仍然需要向 BIS 和 NSA 发送项目 URL 的通知,以满足 EAR §742.15(b) 中的“公开可用”通知要求。 


> ASF 继续与 Apache 项目及其社区合作,以确保他们的通知是最新的,并在未来得到维护。

> 把软件开放源码、在开放源码上的协作、参加公开电话会议或个人会议,以及提供赞助资金,这些活动都不受 EAR 的影响,因此不应该对我们的社区有影响。


上面这句是 ASF 声明中的重点!仔细看了这句的英文,「Open Source software」中的「Open Source」是指动作 。这句言外之意:大家投身参与到开源运'动,不受美国出口管制约束影响

但 ASF 的声明,没有消除「开源代码是否会受出口管控」的疑虑。


不过,我们看完电子前沿基金会(EFF)官网的一篇文章后,又少了更多疑虑。



源代码会受美国出口管控么? 要提前囤代码么?看完下文你会有答案的


2015 年,美国非营利性组织电子前沿基金会(EFF) 成立 25 周年。EFF 官网发布了一篇文章,回顾了一次重大的法律胜利,即:伯恩斯坦起诉美国司法部案。


这是一起具有里程碑意义的案件,它确立了代码即言论,改变了美国对加密软件的出口管制规定。

90 年代初,出于国家安全目的为由,美国政府把加密软件归类为一种「军火」,对其实施严格限制和监管。


题外话:① 为啥美国政府这么看重加密软件,甚至归到军火中?第二次世界大战,正面战场的背后,其实在打密码战。阿兰·图灵破解德军 Enigma 密码机的故事,这里不用重复了。② 盟军如何获得德军 Enigma 密码机?可以看看这部电影《猎杀U571》。


伯克利数学博士生 Daniel J. Bernstein ,他希望发表自己开发的加密算法、运行该算法程序的源代码,以及一篇描述和解释该算法的数学论文。

鉴于当时美国政府的法律法规,Bernstein 必须提交自己的想法,登记成为军火商,然后申请出口许可证。 然而,美国国务院还警告他,即便他真的申请许可了,他们会拒绝给他颁发许可,因为他的加密技术太安全了。

因此,EFF 组建了一支精干的法律团队,并在 1995 年 2 月代表 Bernstein 起诉美国政府。

1996 年 4 月 15 日,加利福尼亚州北部地区的法官 Marilyn Hall Patel 发布了至关重要的第一个裁决,
认定代码即言论,因此受到第一修正案的保护

本法庭认为计算机语言,特别是上述定义的高级语言,与德语或法语之间没有显著差异。就像音乐和数学方程一样,计算机语言就是语言,它可以把信息传递给计算机,也可以传递给那些能读懂它的人。—— Patel 法官


1999 年 5 月,美国第九巡回上诉法院给出了裁定,支持下级法院的裁定,即:美国出口管制法律禁止 Bernstein 发表受宪法保护的言论,违反了美国《第一修正案》赋予给他的权利。

这一裁定,最终导致美国监管机构做出调整。


美国出口管制条例 EAR §742.15(b) 条款


(EAR §742.15(b) 条款截图


(EAR §742.15(b) 第(2) 款,没有规定公开可用加密软件开源项目需要 BIS 和 NSA 的批准,但要求通知到这两个机构,可以是通过电子邮件发 URL 地址,或者直接给它们发一份源代码副本。


综合 ASF 声明 + EFF 文章 + EAR 条款,可以有这份小结:


在美国,


1️⃣、代码即言论,受第一修正案的保护;

2️⃣、不涉及加密软件的源码永自由,EAR 管不了;

3️⃣、涉及加密软件的开源代码,不受 EAR 约束,不需要 BIS 和 NSA 批准,但要向它们发通知;

4️⃣、但源码编译后的软件可能受出口管制;


前几天有网友在评论中调侃,说他已经囤了 2G 的代码。我们认为,如果不经常出现光纤被挖断等特殊情况,那就没必要囤源代码了! 


至于某种编程语言是否能被出口管制,请重新看 Patel 法官的那段话,自然有答案了。


觉得本文有帮助?请分享给更多人

关注「算法爱好者」加星标,修炼编程内功

好文章,我在看❤️

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存