开源软件会不会被卡脖子,在华为列入实体清单,高校不能用MATLAB时已经闹得沸沸扬扬。 当时Apache基金会,Linux基金会等大佬做了回应,各路大神也已经下了结论。 达成的共识就是: 按照 美国出口管制规定 (以下简称 EAR ): 可以公开获得的软件(publicly available software),不在EAR管制范围之内,可以自由出口 。 开源软件属于publicly available software, 所以不受管制。 这里边有个例外,如果 开源项目中包含加密功能,需要向美国政府备案 ,告知软件公开的互联网地址,源码,升级信息等等。 中国互联网可以松一口气了,开源那么多轮子,可以放心食用,对吧? 最近看到中国RISC-V联盟的一个报告《开源项目风险分析与对策建议》( http://crva.ict.ac.cn/documents/A-Report-on-the-Risks-and-Suggestions-of-Open-Source-Projects.pdf ), 发现这事儿不是字面上写的这么简单,水很深。 这里给小伙伴们分享一下,也欢迎大家积极讨论。 我们担心美帝卡脖子,主要是因为 开源软件大部分发源于美国, 并且被位于美国的组织主导,连代码也托管于美国的代码平台之上,所以美国可以管辖 。 虽然开源软件的License大都声明可以自由使用和分发,但是有 开源组织和托管平台这两个隐患 。 1. 开源组织声明遵循美国EAR 开源软件一般都属于某个开源组织,比如Linux属于Linux基金会,Hadoop属于Apache基金会,这些开源组织可能会声明遵循EAR。 Apache基金会就是这么声明的: The Apache Software Foundation (ASF) is a 501(c)(3) nonprofit charity based in the United States of America. All of our products are developed via online collaboration in public forums and distributed from a central server within the U.S. Therefore, U.S. export laws and regulations apply to our distributions and remain in force as products and technology are re-exported to different parties and places around the world . 大意就是Apache基金会是位于美国的非盈利组织,所有产品都从美国服务器分发,因此适用于美国出口的法律法规,遵守EAR。 虽然前面提到可以公开获得软件不受EAR管制,但是这里边就 存在极端情况下的隐患 : 如果美国修改EAR,将一些核心开源软件添加到出口管制当中,并且将目前"备案就不被管制"(这其中包含了 Apache基金会几乎所有开源项目),修改为"备案且需要被管制", 那就意味着大量核心软件(Apache HTTP Server,Hadoop, Spark等)就没法用了。 这并不是危言耸听, 2018年11月, 美国商务部下属的工业及安全局(BIS)就新兴技术管制名单征询过公众意见,名单就包括AI、微处理器、量子计算、生物识别、3D打印等在内的14个新兴技术。 2. 代码托管平台声明遵守美国EAR 现在最大的代码托管平台是GitHub,以及Google Code , SourceForge,它们都明确声明遵守美国出口管制条例EAR。 它暗含的意思就是:服务器架设在美国,那么代码的上传和下载行为需要遵守EAR。 所以,如果美国政府禁止GitHub某个开源项目出口,不让某个公司使用,理论上是可以做到的。 这似乎又和开源License中写的源码可以自由使用相矛盾的,是听代码托管平台的还是听特定开源软件的? 如何最终解读要看 司法管辖权 , 如果开源组织指定司法管辖权归属美国某法院,那围绕使用条款展开的纠纷,都已美国法院判决为准。 美国的平台,司法管辖权不可能指定中国地区的法院。 例如GitHub、SourceForge 和 Google Code,该三个平台都声明司法管辖权均在美国加州,有纠纷找加州法院判决 。 3. 总结 开源软件是全世界程序员的劳动成果,美国不太可能冒天下之大不韪,大规模对开源软件开刀。 如果发生这种情况,估计开源软件的组织和平台很快就会"逃离"美国,重新寻找安身之所,这对美国来说也是极大伤害。 但是并不排除极端情况下,美帝针对某个国家,某个公司动手,以所谓国家安全的名义限制软件出口。 所以如果想完全独立,不被美帝卡脖子,还是要发展中国自己的开源社区,建立自己的代码托管平台。 彩蛋时间 美国计算机密码学家齐默尔曼写了一个保护个人通信隐私的软件:PGP,这是个非常棒的加密软件,美国政府自然不允许出口。 后来有人给齐默尔曼支招, 美国宪法第一修正案规定:虽然出口枪支弹药和软件受到限制,但是书籍的出口不受限制。 于是,齐默尔曼通过MIT出版社出了一本书《PGP Source Code and Internals》,有600页,这本书没别的东西, 全是PGP这个软件的源代码 ! 任何人,只要你购买了这本书(不受美国出口的限制),你就获得了PGP软件,前提是,需要用OCR软件扫描一下——齐默尔曼在书的开头非常贴心地告诉了大家如何使用OCR来操作。 齐默尔曼的故事参见我写的另外一篇文章《我写了一个软件,差点被投入监狱!》