Skip to main content

开源软件项目是否会被限制出口

前言
最近 Google 谷歌中止与华为业务往来的事情引起了轩然大波。
开源社法律咨询委员会成员,OIN 专利联盟亚太许可总监黄鸿文先生指出主要的冲击是 Google 不对华为 GMS(Google Mobile Services)认证,与安卓开源项目Android Open Soure Project(AOSP)无关。欧盟禁止 Google 服务捆绑,但是 GMS 下的服务可以使用者自己安装。一旦没有 GMS 认证,连安装都有困难。
InfoQ:谷歌中止与华为业务往来,华为自研手机 OS 也要一夜“转正”?
InfoQ 发表了一篇文章引起了广泛讨论,其中关于 Apache 软件基金会项目也会遭到限制出口的论点我们认为有误,在此抛砖引玉提出我们认为正确的观点。
文中指出:
据路透社的最新报道,谷歌已经暂停与华为的业务知情人士表示:这意味着华为只能使用安卓的公开版本,无法访问来自谷歌的专有应用程序和服务”,包括但不限于 Play Store 、Gmail 和 YouTube 。...
赵钰莹,公众号:InfoQ谷歌中止与华为业务往来,华为自研手机OS也要一夜“转正”?
而在该文结束语里提到了:
一纸禁令虽无法阻止华为继续使用开源安卓技术,但还是为国产手机操作系统的研发敲响了警钟。目前,国内具备完全自主研发能力的厂商十分有限,无论是硬件层面还是软件层面,大部分都是基于开源代码进行改进,但要知道即便是最为广泛使用的 Apache 协议依旧在其官网明确表态:
赵钰莹,公众号:InfoQ谷歌中止与华为业务往来,华为自研手机OS也要一夜“转正”?
" 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 )的发行版,并且随着产品和技术再出口到不同的地方依旧保持有效。"
赵钰莹,公众号:InfoQ谷歌中止与华为业务往来,华为自研手机OS也要一夜“转正”?
这意味着,除非经美国政府正式授权,否则 ASF 软件或技术不得直接或间接出口 / 再出口到受美国禁运或贸易制裁的任何目的地,国产自研技术需要更多“科技自立”的中国科技公司站出来并有所作为。
赵钰莹,公众号:InfoQ谷歌中止与华为业务往来,华为自研手机OS也要一夜“转正”?
我们认为 InfoQ 和开源中国的说法有误
根据林诚夏先生(台湾开放文化基金会法制顾问,开源社法律咨询委员会成员)的分析与说明,“开源软件,只要不涉加解密技术,不会被美国出口管理条例Export Administration Regulation  (EAR)管制,但涉及加解密者则会被管制。
以下为详细说明:
◈ 依美国 EAR,美国人、美国公司将软件出口至美国境外,或在美国境内提供给外国人作为出口的预备行为,必须申请取得许可
◈ 但符合公开可及Publicly available定义的软件,不在 EAR 管制范围,亦即不需要申请许可;也就是说,多数的开源软件皆为公开可及并能后续散布,符合这条但书,出口上不需要申请许可(EAR 734.7 (a))
◈ 但 EAR 734.7 (b) 同时说明,公开可及软件虽不需许可,但若涉及加解密技术,仍然必须申请许可
◈ 除非是这个加解密技术,除了代码本身公开可及外,其加密方式原则上也是公开可及的,那就可以再主张它在 ECCN 5D002 的列表里,可以采 EAR 742.15(b) 款提供源代码或揭露源代码来源的方式,来登录备查。
或是更简要的说,在美国:
◈ 软件出口必须申请许可。
◈ 除非该软件是公开可及的,那就不需要申请许可
◈ 公开可及的软件,若涉及信息加密技术仍然要申请许可
◈ 除非该公开可及的软件,除了代码公开可及外,连加密技术本身也公开可及,那就再进入例外不需要申请许可
◈ 虽然不需要申请许可,但这样的代码公开可及、加密技术公开可及的软件仍然要向美国 BIS 汇报备查,并提供相关讯息供其事前事后查验。
像 Red Hat 及 Mozilla 是有定期提供备查清单出来给美国政府的。亦即有列备查清单者的,原则不能被管制出口。
注:Part 734 章节里的 734.7 对于何谓“公开可及”做了定义说明及例示,简要来说:“技术或软件已经是被一般公众可以接触,并不限及其后续散布者(when it has been made available to the public without restrictions upon its further dissemination)”。
概念辨析
Apache 许可证与 Apache 基金会项目
有很多开源软件,都会选择使用 Apache 许可证 2.0,但是这并不代表这个开源项目已经属于 Apache 基金会,只有当项目被明确捐赠给 Apache 基金会,才是属于 Apache 基金会的项目,受到美国法律的监管。但是,只要这个项目不涉及加密,同样不在 EAR 管制范围。
开源软件不等于美国的软件
有很多人担心,美国一声令下,会禁止所有的开源软件被中国使用。这样的担忧是不必要的。有太多的自由软件/开源软件,不属于任何一个公司,也不属于任何一家开源基金会,或者属于美国之外的组织,这些都是美国管不到的地方。
Github.com 及其上托管的开源项目,与 Github 企业版
针对开源中国上述的文章,我们担心存在一些混淆。Github 是一家美国公司,当然受美国法律的约束。Github.com 上托管的项目,却未必受美国法律的约束。Github 企业版是 Github 公司的一个产品,而且是一个闭源的产品,这个产品不属于「公开可及( Publicly available )」的范围,因此会受到 EAR 管制。确实可能存在无法出口的问题。但是,这个产品,大多数情况下是企业采购之后,在本公司内部部署并使用的产品,对于开源社区,几乎没有任何影响
因此,我们认为除了 EAR 限制的加密技术之外,由于开源软件在网络公开下载传播的属性,ASF 软件基金会或是其他开源软件项目不会也很难被美国政府限制出口。您的看法如何呢?欢迎评论!

 

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...