近日,中国开放指令生态(RISC-V)联盟(英文缩写为 CRVA)发布权威报告《开源项目风险分析与对策建议》,梳理了国内开源现状,给出了建议。
报告链接:http://crva.io/documents/A-Report-on-the-Risks-and-Suggestions-of-Open-Source-Projects.pdf
报告全文:

摘要

2019年5月15日,美国将华为公司及其附属公司列入出口管制“实体名单”。随后美国谷歌公司宣布将停止提供安卓(Andriod)系统的技术支持与服务,而安卓系统一直是世界知名的开源项目。进一步人们又发现美国开源代码托管平台GitHub与美国非盈利公司Apache基金会均有明确声明受美国出口管制约束。因而国内各界开始重新审视开源项目的法律约束问题。

本报告针对12个知名开源基金会、6个常用开源许可证和3个代码托管平台进行了调研,分析它们在出口管制、司法管辖权和开源许可证下受到的约束以及潜在风险。分析指出,虽然开源基金会和开源许可证可以允许不涉及加密功能的开源项目规避出口管制,但因为代码托管平台会受到出口管制,因此存在这些代码托管平台的开源项目仍然会受到出口管制的影响。

本报告梳理了国内开源现状:中国企业在以LinuxKernel和GitHub为代表的开源项目和托管平台上的贡献都非常突出,并涌现出众多开源组织与开源联盟,但仍需加快开源代码托管平台建设,以备极端情况下依然能自由访问开源项目。

目录
1前言.........................................................................................................................................1
2法律约束................................................................................................................................3
2.1出口管制(Export Control)..................................................................................................3
2.2司法管辖权(Jurisdiction)...................................................................................................3
2.3开源许可证(License)...........................................................................................................4
2.4三者之间的关系........................................................................................................................4
2.5对商业和教育等不同用户的影响........................................................................................5
3国际开源组织与项目............................................................................................................6
3.1开源基金会.................................................................................................................................6
3.2开源许可证.................................................................................................................................6
3.3代码托管平台.............................................................................................................................7
4国内开源现状........................................................................................................................9
4.1开源力量和开源组织...............................................................................................................9
4.2代码托管平台和开源许可证...............................................................................................10
5总结和建议..........................................................................................................................11
附表1:开源基金会&组织列表...............................................................................................12
附表2:开源许可证列表..........................................................................................................14
附表3:代码托管平台...............................................................................................................14
参考文献.......................................................................................................................................15
联盟介绍.......................................................................................................................................16
致谢...............................................................................................................................................18

1前言

开源,是指源代码、文档等设计内容开放的开发模式,其版权由开源协议定义。开源用户可依据开源协议自由获取设计内容并根据需求自行修改。开源的主要要素包括开源基金会、开源许可证、开源项目、开源代码托管平台等(图1为各要素之间的关系)。当前,绝大多数开源基金会和开源项目都位于美国,几乎所有开源许可证和代码托管平台也都由美国的学术界和工业界主导。因此,一个需要厘清的问题是那些或隶属于美国开源基金会、或使用美国主导的开源许可证、或存放于美国代码托管平台上的开源项目是否会受到美国的出口管制?
图1 开源要素关系图
本报告针对上述问题开展了调研,分析了美国出口管制(ExportControl)条款、司法管辖权(Jurisdiction)、开源许可证(License)的作用范围以及相互之间的关系,进一步具体分析了12个知名开源基金会、6个常用的开源许可证与3个代码托管平台受美国法律的影响,得到以下三点结论与建议:
合理的开源基金会管理办法可以规避美国出口管制。选择开源项目时务必要同时仔细阅读三个声明:所属开源基金会的声明、开源项目本身的声明、所用的开源许可证声明。
开源许可证关联的是知识产权(版权),与出口管制无关。现有常用开源许可证并没有在知识产权层面上对中国进行管制,但不排除未来会出现将使用范围限定在美国的开源许可证的可能。
现有GitHub等代码托管平台默认同意遵守美国的出口管制条例和美国法律,因此代码托管平台同时受出口管制和司法管辖权的限制,是最大的风险。长远来看,中国必须建立开源项目托管平台,并以更开放的方式吸引全世界的开源爱好者。
最后,报告梳理了国内开源现状。一方面,中国IT企业受益于开源软件,但多数仍以使用开源软件为主,只有少数企业积极主导或参与开源项目,但呈现上升趋势。另一方面,中国开源项目托管平台仍处于起步阶段,与GitHub等国际知名托管平台差距甚大,亟需加强。
开源相关的三大类法律约束
开源相关的法律约束涉及三类,即出口管制、司法管辖权与开源许可证。
2.1出口管制(ExportControl)
国家出于政治、经济、军事和对外政策的需要,制定的商品出口的法律和规章,以对出口国别和出口商品实行控制。美国的出口管制条例(EAR,ExportAdministrationRegulations)主要规定是否能从美国出口货物到外国,以及是否可以从外国“再出口(re-export)”到另一个外国,其中包含了计算机软硬件。而按照EAR的规定(734.7b和742.15b),所有“公开可获得(publiclyavailable)”的源代码(不含加密软件以及带加密功能的其他开源软件),都是不被出口管制的。而“公开可获得”的带加密功能的源代码,虽不会被限制出口,但需登记备案(5D002)[1][2],这也就是ASF网站上的ASFProductClassificationMatrix[3]的由来。
默认情况:开源项目(除含加密功能的开源项目需备案外),都属于“公开可获得”的代码,可以正常使用。
极端情况下的潜在风险:如果一个开源项目或开源组织声明遵从美国的出口管制条例,此时一旦美国修改EAR,将高性能软件、EDA软件等一些核心基础软件加入到管制中(这并非不可能,2018年11月,美国BIS曾就AI和机器学习等新兴技术是否加入管制名单征求公众意见[13]),并且将目前“备案即不被管制”(这其中包含了ASF几乎所有开源项目),修改为“备案且需要被管制”,那就意味着大量核心开源项目将受到出口管制。
2.2司法管辖权(Jurisdiction)
司法管辖权又称为审判权,是指法院或司法机构对诉讼进行裁决和判决的权力[4]。使用网站或注册会员时,如果其使用条款(TermsofUse)或会员条款(MembershipAgreement)中指定了司法管辖权的归属,则代表合同双方同意只承认指定的司法机关做出的判决为赔偿的依据。
极端情况下的潜在风险:如果一个开源项目或开源组织指定了司法管辖权归属于美国某法院,那么所有围绕使用条款展开的纠纷,都将以该美国法院的判决为准。
2.3开源许可证(License)
开源许可证属于软件许可证的一种,而软件许可证是一种具有法律性质的合同或指导,目的在于规范受著作权保护的软件的使用或散布行为[5-6]。当下常用开源许可证,如BSD、MIT、GPL等都是围绕代码的版权说明,修改后是否可以闭源等问题展开的(早期的开源许可证如MPL1.1等,在协议中指定了其司法管辖权在美国加州,但现在皆已弃用)。换言之,当下常用的开源许可证保护的是知识产权,其自身与出口管制和司法管辖权并无关联。
默认情况:开源许可证的作用为保护知识产权,不涉及其他的国家法律层面的条款(如出口管制、司法管辖权等)。
极端情况下的潜在风险:如果美国NSF、NASA以国防安全为由,制定一个新的开源许可证,限制其资助的所有开源项目只能在美国使用和发布,则美国以外的其他国家将失去这部分开源项目的使用权。国内公司一旦使用,就会侵犯知识产权。
2.4三者之间的关系
表1总结了三类法律约束。可以看出,出口管制、司法管辖权和开源许可证之间并无直接联系,它们分别从商品出口、诉讼的审判权和知识产权这三个方面界定了不同的法律约束。
表1.法律约束总结
2.5对商业和教育等不同用户的影响
从出口管制的角度,美国的制裁针对的主要是“商业行为”,目前尚未发现对教育和学术有明确影响;从知识产权(亦即开源许可证)的角度,部分许可证会区分商业和教育用途,目前尚未发现明确变化。
国际开源组织与项目
一个完整的生态包含开源基金会(组织)、开源项目、开源许可证和代码托管平台等多方面要素,它们各自的条款声明和受到的法律制约都不尽相同。
3.1开源基金会
开源基金会管理开源项目,但基金会的管理办法差异较大,而基金会旗下的开源项目也可以选择不同管理办法。详细内容请见文末附表1。
3.2开源许可证
报告调研了6个开源许可证,即GPL、LGPL、BSD、MIT、Mozilla、Apache,均未涉及与政府出口管制无关的声明。详细内容请见文末附表2.
3.3代码托管平台
报告调研了3个代码托管平台,即GitHub、SourceForge和GoogleCode。该三个平台均明确声明遵守美国出口管制条例,并且司法管辖权均在加州(即需按加州法律解决纠纷)。详细内容请见文末附表3。
以GitHub为例,GitHub明确声明其GitHubEnterpriseServer是被出口管制,不能出口到被制裁国家(如伊朗等)的。至于GitHub网站的普通功能,由于架设在美国的GitHub服务器的上传和下载的行为都需要遵从出口管制和美国法律,所以其正常使用是可能会被管制的。亦即,GitHub上的开源项目代码在遵守项目自身的开源许可证的同时,也可能作为GitHub上的信息(Information)遵从出口管制和美国法律[18]。表面上看,这两者在是否受到出口管制这一问题上会有一定的矛盾,但根据前文介绍的司法管辖权,最终如何解读取决于美国法院的判决。华为也很可能在此次“实体名单”事件中因为GitHub因素使其访问开源项目受到影响。日前,报告作者通过跟一名伊朗的大学教授邮件咨询得知,GitHub的访问和使用功能在伊朗目前是可用的,但不排除GitHub有在将来限制伊朗访问的可能性。
开源项目如何规避出口管制风险?存在四种情况,但都需要开源项目发起人或开发者支持与配合:
国内开源现状
4.1开源力量和开源组织
此次“开源危机”在国内开源各界掀起了轩然大波,这无疑凸显了国内对开源项目的重视。但长期以来,中国用户以使用为主,对开源社区贡献较少。
近年来,国内开源社区对国际开源项目的贡献已经日趋瞩目,以华为、阿里、百度、腾讯等公司为首的公司和个人已经在国际各开源项目中占据了越来越重要的角色。例如华为在LinuxKernel5.1中的patch提交数量位居全球第五(如图2所示);阿里、腾讯和百度在GitHub上的贡献分列全球第九、十二和十五(如图3所示),这都说明了国内各界对开源领域的贡献。
国内的开源组织也正逐渐走上舞台,例如倡导发展开源芯片的中国开放指令生态(RISC-V)联盟和中国RISC-V产业联盟,致力于开源软件的中国开源软件推进联盟,关注开源人工智能等的新一代人工智能产业技术创新战略联盟,聚焦工业4.0的开源工业互联网联盟,着力于云计算行业的云计算开源产业联盟和中国开源云联盟等,都彰显了国内开源社区蓬勃的生命力。
图2 华为在LinuxKernel5.1中的patch提交数量位居全球第五
图3 阿里、腾讯和百度在GitHub上的贡献分列全球第九、十二和十五
4.2代码托管平台和开源许可证
中国开源项目托管平台仍处于起步阶段,与GitHub等国际知名托管平台差距甚大,亟需加强。近年来,托管平台也受到越来越重视。国内的开源代码托管平台,如openI启智平台[16]和开源中国的码云[12]等,展示出不凡的潜力。如openI启智平台提供代码托管服务,并建立了开源社区,积极促进人工智能领域的软硬件开源。
在开源许可证方面,中国开始重视起来。例如openI启智平台发布的“启智开源许可证1.1”,也说明了国内对开源项目的知识产权意识正在逐步增强,为将来发展国内主导的开源项目奠定了良好的基础。
总结和建议
综上,本报告总结如下:
其一,合理的开源基金会管理办法可以规避美国出口管制。选择开源项目时务必要同时仔细阅读三个声明:所属开源基金会的声明,项目本身的声明,所用的开源许可证声明。
其二,开源许可证关联的是知识产权(版权),与出口管制无关。现有常用开源许可证并没有在知识产权层面上对中国进行管制,但不排除未来会出现将使用范围限定在美国的开源许可证的可能。
其三,代码托管平台同时受出口管制和司法管辖权的限制,是开源最大的风险,因为现有GitHub等平台是默认同意遵守美国的出口管制条例和美国法律的。在开源项目发起人与开发者的支持和配合下,一部分开源项目有可能规避托管平台带来的出口管制。但从长远来看,中国必须建立起自己的开源项目托管平台,发展自身的开源力量,并以更开放的方式吸引全世界的开源爱好者。

此次“危机”折射出的是国内工业界和学术界对国外开源软件的依赖,一旦美国在法律层面上限制开源项目的使用范围,即使仅对部分核心开源软件进行限制,也会对国内各界产生釜底抽薪式的影响。因此,提倡和发展不受美国出口管制和司法管辖权限制的开源项目,完善中国自己的开源社区与托管平台等开源基础设施,才能更好地解决这个问题。如何探索发展更加开放和自由的开源社区,也将是未来开源各界需要重点思考的问题。
关于CRVA
中国开放指令生态(RISC-V)联盟(英文缩写为CRVA ; China RISC-V Alliance)围绕RISC-V 指令集,以促进开源开放生态发展为目标,以重点骨干企业、科研院所为主体,整合各方资源,建立产、学、研、用深度融合的联盟,推动协同创新攻关,促进RISC-V 相关开源技术的开发与共享,推广相关技术和产品的应用,探索体制机制创新,推进RISC-V 生态在国内的快速发展。