源代码受美国出口管控么?要提前囤代码么?看完有答案
(给Linux爱好者加星标,提升Linux技能)
原创:Linux爱好者(id:LinuxHub)
这几天一直在关注「开源和美国出口管制」的话题。
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)有调整,但涉及加密的开源项目要出口,但还是需要向 BIS 和 NSA(美国国安局)发 URL 通知。
综合 ASF 的声明 + EFF 的文章,可以有这份小结:
1️⃣、在美国,代码即言论,受第一修正案的保护;
2️⃣、非涉及加密的源码永自由,出口管制法律法规管不了;
3️⃣、但源码编译后的软件可能受出口管制;
前几天有网友在评论中调侃,说他已经屯了 2G 的代码。我们认为,如果不经常出现光纤被挖断等特殊情况,那就没必要囤源代码了!
推荐阅读
(点击标题可跳转阅读)
看完本文有收获?请分享给更多人
关注「Linux 爱好者」加星标,提升Linux技能
好文章,我在看❤️
- Cocos2d-x源代码剖析-SimpleGame代码剖析
- 从源代码分析modelDriven拦截器和params拦截器和拦截器prepare 和paramsPrepareParamsStack拦截器栈(让你的Struts2代码更简洁——如何培养框架设计能力
- Java语言使用注解处理器生成代码——第三部分:生成源代码
- 将源代码中的全角符号转换成半角符号并对代码风格进行美化
- 美国经济放缓拖累中国出口
- 有哪些 Java 源代码看了后让你收获很多,代码思维和能力有较大的提升?
- java面试题及答案(基础题122道,代码题19道)2009-8-6-004中部分
- 美国电话号码格式化的Objective-C代码
- linux源代码阅读笔记 get_free_page()代码分析
- 源代码 目标代码 可执行代码
- php代码下载文件转换成迅雷,快车,qq下载文件源代码
- 解析美国东部时间与北京时间相互转换的实现代码
- 源代码编译成托管代码托管代码合并成程序集
- 经典面试题(二)附答案 算法+数据结构+代码 微软Microsoft、谷歌Google、百度、腾讯
- 清空代码防止查看源代码
- 在使用Reference Source调试.Net 源代码时如何取消optimizations(代码优化)
- Python程序员面试题 你必须提前准备!(答案及解析)
- BT源代码学习心得(八):跟踪服务器(Tracker)的代码分析(用户请求的实际处理) - 转贴自 wolfenstein (NeverSayNever)
- 电子工程师最关心的10个问题,看完有答案没?
- CodeMaker代码生成工具【源代码下载】(转)