这或许是中国突破技术封锁的一条意外道路
导读:近期,中国发布首个独立开源桌面操作系统,标志着中国开源文化和开源生态建设迈出重要一步。“开源”(Open source)是互联网基础设施的重要组成部分,在软件开发中发挥着核心作用,据估计目前市场上80%到96%的软件,其代码都是开源的。开源生态是激发自主创新能力的温床,也是芯片设计、人工智能、云计算等多领域应用和创新的支撑力量。但是,近年来地缘政治变化开始侵扰开源领域,在美国2020年加紧对华技术出口管制时,就曾引发“开源是否有国界”的争论。
本文指出,对开源软件的关注已经从经济逐渐转向地缘政治。起初,开源模式源自社区开发者的自愿贡献。大型科技企业在过去20年内逐步加大对开源项目的资金和人力投入,成为开源生态系统治理的支柱力量,并试图将“开源”逐步将其整合入“数字商业帝国”的一部分。近年来,各国政府也更加关注开源软件快速普及后的网络安全问题,尤其是意外漏洞的风险,以及犯罪分子和外国代理人对开源代码的操纵。作者认为,大国政府正在从一般的开发者和使用者,转变为开源生态系统的出资人和治理者。其中,中国开始加强自主的开源基础设施的建设,美国声称要“减轻外国对开源的潜在干预风险”,欧洲则探索其了一条介于“全球公域”和“国家主权”之间的“第三条道路”。此外,政府对开源生态的介入不仅是被动地应对现有问题,更体现了大国主动推进“数字主权”的雄心。
开源模式在互联网时代为各国提供了巨大的经济互惠效应,其开放和共享的特征,也限制了美国在技术战中将开源软件“武器化”的能力。中国的开源生态发展,需考虑开源领域未来面临管制甚至制裁的风险,更需要思考如何维护开源软件的公共价值,并为全球科技发展贡献中国力量。欧亚系统科学研究会特编译本文,供读者参考。文章原刊于法国国际关系研究所(IFRI),仅代表作者本人观点。
1、简介
当今的技术趋势之一是人类活动的日益“软件化”,即个人、企业和政府的大量活动都通过软件完成。工业转型、公共服务数字化、5G部署以及物联网出现,都让软件的战略地位不断攀升。软件不仅无处不在,而且其功能和组件也日益复杂,相关的软件风险也日新月异,因此安全分析也必须顺势而为。
软件的核心是“开源代码”。据统计,目前市场上80%到96%的软件(包括专有软件),其代码都是开源的。无论是否知情,大多数公司、个人和政府都在使用开源软件或组件。根据美国Apache软件基金会负责人David Nalley的说法,“开源不仅是软件行业的重要组成部分,而且是现代全球经济的基础之一”。此外,所有新兴技术,如人工智能和物联网,都在广泛应用开源的资源。因此,“开源”这一现象的战略重要性将持续增加。(译者注:开源软件是指可以公开访问其源代码的软件,这意味着任何人都可以查看、修改和共享它。它通常由社区开发,并遵循自由和开放的协议。开源代码和组件是开源软件的基础,因为软件是由这些组件和代码组合构建而成的。开源组件也是开源代码的一种形式,因为组件通常包含开源代码。)
这一事实提出了几个问题。为什么开源软件能够成为全球数字基础设施和经济的一个结构性元素?如今的全球开源生态系统是如何运作的?开源生态和占主导地位的私营企业之间存在哪些合作和紧张关系?政府是如何处理上述问题的,及其做法会对开源生态系统带来什么影响?
如今,开源软件相关的网络安全、经济与创新问题已不言而喻。开源模式为软件开发带来了巨大利好,涉及速度、质量、组件的透明度、可能的漏洞、交互性、使用自主性等各个方面。也正是因为如此,开源具有众所周知的弱点:即便是在很多关键性、基础性的开源项目中,其主要贡献者和维护者都是自发的志愿者。
因此,私营企业越来越关注开源项目,并为充分利用这一资源做出了具体战略。出于实际和经济的原因,大型科技企业率先介入了开源生态系统的构建和治理,如今已经成为其中的支柱。事实上,如今的全球开源生态系统正是围绕着(私营企业相关的)大型基金会和代码库而组织的。
各数字大国政府长期关注开源问题,但也是近期才逐步意识到开源软件的战略地位。通过分析美国、中国和欧洲案例表明,政府对开源生态系统的参与不仅是被动地应对现实问题,而且越发政治化,表露出维护政府对国家安全、国际影响或数字主权的雄心。然而,对于公共部门而言,在“确保关键开源组件的普及”、“开发‘主权’技术”、“防范开源软件的去中心化风险”三者之间,依然存在明显的矛盾。
2、开源软件的崛起、机遇与挑战
关于软件的开发和分配有着两种主要的许可模式:专有软件(proprietary software)和开源软件。基于此也诞生了相应的经济和政治制度。起初,专有软件占据主导地位,但因为其明显的局限性(如经济成本高、风险大),开源软件在过去的二十年里迅速崛起。
如今,很多开源代码和组件已经成为全球数字基础设施的核心。在现实的软件开发过程中,两种模式也逐渐混合化,已经很难直接将这两种模式区分开来。然而,开源生态系统时常发生巨大的网络安全漏洞事件,并且对某些关键组件也缺乏相关维护资源,这些都导致了企业和政府对该系统的关注与日俱增。
(一)“开源”成为数字经济的核心基础设施
1、为何要寻求专有软件模式的替代方案?
从20世纪70年代互联网时代的到来,到20世纪90年代末,专有软件大量涌现并成为主导。在专有软件通常由私人实体开发,以获取商业利益。软件(尤其是通过云计算提供的软件)通过许可制度(licensing),以付费订阅的方式被提供给客户。软件出版商的其他收入来源还有维护合同,以及销售相关服务、“高级”功能和广告等。在该模式中,用户一般无法获得软件的源代码,因此不能检查或修改软件。
此后,专有软件的主导地位受到了挑战。对用户来说,专有软件模式带来了一系列问题和风险,而全球地缘政治竞争更是增加了依赖专有软件的风险。当某些专有软件是由外国公司生产的时候,问题更加突出:网络安全风险的能见度相对更低(因为不开放代码和后台运营详情),用户权益保护和争端解决依赖域外立法(特别是关于软件使用产生的数据处理),专有软件的交易和使用受到地区限制(出于数据保护、政治、国家安全等原因)。
(1)激增的网络和物理风险。专有软件和开源软件在安全方面各有优劣,使用范围是影响安全性的首要因素。很多专有软件往往拥有特殊权限,甚至能够直接进入网络和设备的软件。例如,由SolarWinds公司开发的Orion软件是对信息系统进行性能监控的平台,安装在美国成千上万的组织中,其中包括美国政府。在2020年12月一个针对Orion的恶意软件被曝光时,网络攻击者早已通过该平台接入各大组织的网络和系统,并且获取相关数据长达数月之久。在物联网兴起的背景下,嵌入式软件的风险也随之上升。例如,在2018和2019年波音737 MAX的一系列飞机的事故中,部分就是由飞机软件的错误造成的。随着智能家居、自动驾驶的领域的快速发展,相关物理层面的网络安全问题也会越来越多。
(2)用户与政府加强数据保护。专有软件还涉及数据保护的相关问题,因为这些数据往往容易被轻易流出,甚至未经许可就被其他人利用。此外,专有软件还可能存在后门,能够接入各种硬件设备,并且难以被检查出来。欧洲监管当局此前对基于云计算平台提供的“软件即服务”(Software as a service, SaaS)模式进行了摸排,发现很多软件供应商受到本国法律规定,会强制将用户数据传送给其所在国当局。例如,美国的谷歌、亚马逊和微软等大型云服务提供商都有类似问题。此外,一般的手机应用程序的后台数据往往也会受到开发商政府的监管和审查。
(3)贸易和使用限制在增加。随着全球地缘政治局面的变化,来自某些国家的专有软件的贸易和使用限制在增加。例如,美国的出口管制政策已经从“军事领域”拓展到更多用于工程和技术发展的领域,软件领域也受到其波及。根据美国《外国直接产品规则》(FDPR),向中国和其他国家(重新)出口某些使用美国机器或软件开发的产品需要美国的许可证。此外,根据技术转让限制,如果用户使用在线服务时在不知情的情况下向外国传输了数据,该用户也可能在无意中违反了某些限制。
2、开源:软件开发的基本要素
(1)自由和开源软件的基本原则。从历史上看,开源运动源于20世纪80年代诞生于美国的“自由软件运动”(free software movement)。相比专有软件,自由和开源软件在原则上没有国籍,因此也没有边界。在开源的许可模式下,用户可以获得软件的源代码,并且重新发布、修改和添加,各种限制比专利软件要少得多。开源软件也被广泛用于研究机构,因为它可以针对不同的实验需求进行定制和改进。此外,一些开源软件和组件更是当前数字基础设施的核心,并且也存在于众多私人企业开发的专有软件当中。例如,Python和Perl编程语言、Linux操作系统、Mozilla Firefox网络浏览器、MySQL数据库管理系统、Apache HTTP服务器,以及大多数Java工具。Linux作为开源模式生命力的代表,每天新增1万行代码,5000行被修改。
(2)免费模式和专有模式混合共生。软件企业长期不接受免费的自由软件模式,因为其“违背了知识产权原则”。然而,从1991年Linux操作系统被推出以来,越来越多企业和政府将开源代码纳入其产品中,同时也将自己开发的程序提供给开源社区。一个典型的案例发生在2008年,谷歌推出了基于Linux修改版的安卓手机操作系统。如今,这个系统已被安装在至少25亿台设备上。事实上,当前的软件开发已经是开源组件和专有组件的集合体,一个现代软件应用程序往往会包含至少100个开源组件。一般来说,软件系统的底层架构往往是开放的,而应用程序和用户界面往往是企业专有的。在这样的混合结构下,往往很难梳理一个软件的所有组件。
此外,“自由软件”不一定意味着“非商业软件”。红帽公司(Red Hat,译者注:“红帽”Red Hat是一家开源解决方案供应商,通过为开源社区贡献力量获得了巨大的影响力)等也在开发“商业性”的开源软件——在开源许可下开发产品,并通过向客户收取赞助、维护和安装费用来确保其盈利。受全球大流行的影响,各国数字化进程加快,风险投资基金也更多地投资于生产开源软件的初创企业。
最后,开源生态中的许可证(licenses)类型也在不断演变。1985年,“Copyleft”许可证(如通用公共许可证,GPL)的概念被提出,它提供了“执行、复制、修改和分发计算机代码”的自由,并要求在该软件的所有衍生版本中维持这些自由。换句话说,这种类型的许可证不允许在Copyleft源代码的基础上创建专有软件。然而,大型技术企业往往偏离这些原则。例如谷歌在Linux的基础上开发了安卓系统,但却没有制定了商业许可证,从而避免披露对源代码的修改。
(3)云计算和新兴技术中的开源软件。开源组件是当前云服务的重要元素,例如,所有的云平台都在向开源的分布式架构解决方案Kubernetes靠拢。反过来,大型技术企业的“云即服务”(Cloud as a service)模式也在不断推动开源发展,因为云平台从根本上改变了开源技术的传播方式,其几乎可以被视为一个“开源应用程序商店”。此外,开源软件也将在物联网新兴技术的发展中发挥关键作用。如今,各种“智能”和“互联”设备数量飞速增加,在2010年至2020年期间,物联网设备数量增加了约1000%。随着这类设备的普及,任何类型的企业可能都有软件开发需求,一辆汽车所需的代码行数甚至超过了F15战斗机,并且这些软件必须是“通用的、开源的、可在异质硬件和供应商之间重复使用的,并且实施一套通用标准和API”。
与此同时,开源代码也是监督上述新兴技术的重要方式。欧洲议会在2019年的一份报告中明确指出,有必要将公众纳入人工智能的发展进程,“通过开源来公布所有由公众资助或共同创立的算法、工具和技术”,进而促进对源代码的审计。
(二)“成也开源,败也开源”?
1、网络安全问题
两个重大的安全漏洞凸显了开源组件的网络安全问题:2014年的“Heartbleed漏洞”,以及2021年12月的“Log4Shell漏洞”。
Heartbleed漏洞来自加密工具库OpenSSL代码中的一个错误。这个错误自2012年以来一直存在,直到2014年3月被谷歌的安全团队和芬兰工程师发现。基于这个漏洞,用户名、密码、私钥和通过这些证书交换的数据等加密内容都将暴露。约有三分之二的网站使用OpenSSL,其中包括各大银行官网、电商、社交网络等。作为互联网历史上最严重的漏洞之一,各界都很难评估这个漏洞被恶意行为者利用的程度。
在2021年12月,一个漏洞影响了Log4J日志软件组件。该组件被许多基于Java语言的应用程序和网站用于记录设备上的活动,而这个Log4Shell漏洞将允许网络攻击者控制整个应用程序甚至是设备系统。整个Log4Shell漏洞被称为“有史以来最严重和最广泛的网络安全风险之一”。虽然项目开发者在发现漏洞后的两周内修复了代码错误,但修复该漏洞前必须更新当前的Log4J版本,而很多用户正是在此时才意识到自己的软件和设备存在该代码问题。(译者注:Log4Shell漏洞存在于广泛使用的Apache Log4j日志库中。该漏洞允许攻击者远程执行代码,而无需进行身份验证。攻击者可以通过各种攻击向量利用此漏洞,包括HTTP请求、电子邮件消息和其他形式的数据输入。该漏洞对全球各种规模和行业的组织造成了安全威胁。一些重要的公司和应用程序都受到了影响,例如Microsoft、Apple、Google、Amazon、阿里巴巴、网易等。)
如今,针对开源软件的攻击正在不断发展。相比2020年,2021年的攻击增幅高达650%。并且新一代攻击的模式有所变化,其目的是让软件开发者上传冒用合法文件名称的恶意软件,从而渗透到上游的软件供应链中。
2、经济可行性问题
只要是软件就可能有漏洞,Log4Shell和Heartbleed并不代表开源模式本身的失败。然而,这些时间也凸显了开源模式背后经济模型的不稳定性:尽管一些代码、组件、软件产品非常流行,甚至已经是全球数字架构的骨干,但这些内容在很大程度上依赖于开发者的自愿贡献——从编写、维护到纠错。
OpenSSL的开发团队非常小,捐款也越来越少。在Heartbleed事件之后,Linux基金会承诺对OpenSSL提供财务支持。此外,Log4J早在2014年就暴露出的资金不足问题,也在Log4Shell漏洞后被推到了风口浪尖。2022年1月,一位程序员甚至自发破坏了他正在进行的项目代码,以谴责开源世界的不稳定性。
换言之,目前开源模式并没有反映出开源软件所产生的经济价值。欧盟估计,开源对经济的积极影响在650-950亿欧元之间,2018年的年度投资为10亿欧元;如果开源的贡献增加10%,就会使GDP增加0.4%到0.6%。
因此,更多人呼吁为开源代码项目找到可持续的资助模式。例如,大型软件项目的托管平台GitHub已经推出了“赞助”功能,允许开发者为他们的工作接受经常性的捐赠。然而,而目前的整体趋势依然是大型科技企业在介入开源项目,包括收购资源库平台。
如前所述,这种私有化趋势可能违背了开源的基本原则的运作模式。一方面,大企业直接参与开源项目,会消除贡献者的多样性,而一旦企业放弃项目,整个开源社区都会受到损失。另一方面,如果围绕企业建立集中化的开源项目,很容易招致国家的更多参与,进而导致其他国家的用户无法访问存储库、代码或许可证。例如,当前俄罗斯用户因为国际制裁就被暂停了GitHub账户。
3、开源生态系统的演变:
大型科技企业占据主导
全球开源生态系统的主要构成有:开源项目发起者、源代码贡献者、代码资源的汇集者、为整个体系输送资金等外部资源的行为者。具体而言,三种不同性质的组织扮演着核心角色:基金会、代码库和合作平台(如Github)、大型科技企业。如今,大型科技企业发挥着越来越大的作用——他们不仅直接参与开源项目开发,并对基金会和代码库提供资金支持。
(一)开源的推动者:基金会和合作平台
1、基金会
基金会在开源生态系统的管理、组织和运营中起着关键作用。换言之,它们使各种项目的协同合作成为可能。当前,全球的开源生态系统主要是围绕着少数的美国基金会进行。其中,两个基金会的作用最为突出:Linux 基金会(LF)和 Apache 软件基金会(AF)。LF成立于2007年,目标是推广Linux操作系统,并越来越多地在各个领域开发具有商业利益的项目。它如今的使命是汇集大型社区和投资,促进创新,加速代码开发,确保代码编写的安全性,并帮助管理知识产权。目前有超过100个项目属于LF的保护范围,涉及的领域包括人工智能、自动驾驶汽车、网络或安全。
Linux基金会有200名员工,1000名会员通过LF的各种工具、产品和服务使用相应的开源技术。2019年,Linux基金会的收入为1.24亿美元(从2011年的1560万美元迅速增长),主要来自会议主办、付费服务、企业会员费和培训活动。LF参与了越来越多的大型项目,甚至开始支持或投资其他基金会,比如2020年创建的开源安全基金会(OpenSSF)、2022年9月加入PyTorch(机器学习)和OpenWallet(电子钱包)基金会。
Linux基金会介入Facebook开发的PyTorch项目的动机在于,Facebook需要LF的平台能力进而管理这个超过2400名顶尖贡献者参与的项目。与此同时,也有批评指出,LF如今已牺牲了当初的社区精神,成为“大型科技企业之间利益置换的行业联盟”。
Apache基金会的规模仅次于Linux基金会。它没有员工,但有6000名志愿者和大约200万美元的预算。由AF主办的Apache httpd项目是一个HTTP服务器,它承载了世界上三分之一的网站。AF创建于1999年,并开始负责主持这个项目,此后还主持了大约200个其他项目。与LF不同的是,Apache基金会的会员身份基于是其对于项目的贡献和参与程度,而大型科技企业依然其背后的主要势力。
在欧洲,由于大型科技企业的束缚相对更弱,还有许多其他更小或更专业的基金会存在,并且不少美国基金会也在迁往欧洲,如Eclipse和RISC-V基金会。此外,2022年9月Linux基金会也成立了欧洲分部。
2、协作开发平台和代码库
随着开源模式的推广,程序员社区已经组织起来。各种能承载软件项目并允许集体提供和管理源代码的网站被建立,软件开发实践也具有一定的标准化。
2008年成立于旧金山的GitHub是主要的平台。包括谷歌、Facebook和Twitter等主要科技企业选择在GitHub上托管他们的开源项目代码,并逐步关闭自己的源代码托管服务。2018年,微软以75亿美元收购GitHub,但是并没有影响该平台的受欢迎程度。其免费界面的质量和简单性也促使Apache基金会将其所有项目迁移到GitHub上,同时它也是Linux基金会推荐的平台。
GitHub还承担了许多传统上由基金会承担的功能,包括项目基础设施和专业咨询,例如如何选择许可证、提供对贡献者的付款渠道。在GitHub被微软收购后,尽管很多开发者都希望将软件迁移到其他协作平台或仓库,但却找不到合适的承载主体。事实上,该平台上最大托管项目中,真实的管理权已经从开发者转移到了大型科技企业。
(二)大型科技公司的参与度不断提高
1、控制开源项目的资金流
有趣的是,在开源领域,互相之间激烈竞争的科技企业每天都在合作,而大多数大型科技企业都是大型基金会的成员或赞助商:或是为这些基金会提供资金,例如成为Linux基金会的白金会员,每年缴纳50万美元。或是提供服务器、开发人员等各方面的技术资源,例如微软、谷歌和红帽的员工已经是GitHub的贡献前三名,并且如今只有15%的Linux代码仍然是由志愿者无偿编写的。
此外,大型科技企业还会直接收购现有代码库或开源软件企业。2018年,IBM以380亿美元收购了红帽公司(1.3万名员工,24亿美元的收入),此次交易是IBM 迄今为止最大规模的一次收购交易,也是美国科技史上第三大收购案。
2、大科技企业的控制开源生态系统的动机是什么?
(1)节约开发资源,加速技术创新:使用现有的开源组件意味着不必“重新发明轮子”,并且生机勃勃的开源社区还会不断主动贡献新的想法、技术和项目。对于企业而言,可以在现有资源的基础上,进行更精细和有效方式开发前端软件产品。此外,如沃尔玛、美孚石油或梅赛德斯-奔驰等各种实体企业也在借助开源代码,借此加速其软件开发和数字化过程。该现象在汽车产业尤其明显,大型集团正在通过Eclipse基金会提供的软件定义车辆工作组的协作模式,进而为自动驾驶汽车开发开放和可互操作的软件模块。简言之,开源体系帮助各种企业节约了研发人员的劳动时间及成本、专有软件的许可和订阅(使用)费用,极大降低各种企业进入软件开发领域的门槛。
(2)厘清供应链漏洞,保障网络安全:正因软件在当前世界经济和政治安全中的关键地位,其底层的开源组件的漏洞也应得到重视。通过各种路径的直接投资,科技企业能够更好地把控开源体系的安全。例如,在Log4Shell事件后,谷歌出资1亿美元建立了如“开源安全基金会”这样的专门组织,邀请了几乎所有大型科技企业参与实现“跨行业合作”;此外,2022年5月,谷歌为志愿开发者(科技企业员工)创建了一个内部团队,以维护最关键的开源项;在2022年8月,谷歌还了启动一项计划,向研究人员支付费用,以寻找谷歌最新版本的开源软件中的漏洞——单次奖金可达到3万美元。
(3)快速推广产品,抢占市场空间:科技企业广泛采用开源模式的背后,还隐藏着产品推广的战略动机。通过“免费”策略,在提高某种解决方案被他人使用的机会的同时,还能削弱当前现行产品/服务的市场地位。当一些专有项目转为开源时,大量软件工程师会基于这些技术去开发应用,进而将该项目变成某种标准解决方案,最终实现了对苹果、Meta、谷歌等科技企业品牌和平台的认可和依附。例如,Facebook公司开发的PyTorch已经被认为是人工智能市场的领导者,在GitHub上有超过15万个项目基于PyTorch构建。随着PyTorch转型成为基金会后,它还通过对其他企业的高管提供免费培训,进一步拓展其品牌和市场影响力。
(4)识别开发人才,扩大行业影响:在开源社区,存在很多有优秀的开发人员,并且通过各种有特色的开源项目“崭露头角”。相比传统的招聘模式,科技企业更加倾向这种基于项目的人才筛选机制,因为开源项目开发人员已经证明了其具备相应的实践能力。在科技巨头牢牢控制住数字经济的商业化变现路径后,“有才华”的开发人员也只能通过开源社区实现价值转化和最终的成果落地。
4、大国地缘博弈:政府介入开源生态
如前所述,科技巨头正在逐步用商业利益裹挟“开源生态”,其强大的控制力也导致了开源理念的偏移。而在大国博弈的背景下,政府主体的强势介入又将改变当前的利益格局。例如,中国开始加强自主的开源基础设施的建设,美国声称要“减轻外国对开源的潜在干预风险”,欧洲则探索其了一条介于“全球公域”和“国家主权”之间的“第三条道路”。
(一)中国:在关键领域实现独立自主
1、中国科技巨头影响全球重大开源项目
自 2010 年以来,中国贡献者在全球开源社区中所占的比例持续大幅增加。以GitHub平台为例,其7300万贡献者中超过750 万人来自中国,占比仅次于美国(2021年数据)。许多由中国人开发的GitHub项目拥有数百名贡献者和数千个分支项目,而在2020年关注度最高的五个GitHub用户账户中,有两个是中国开发者的账户。在2021年3月,阿里巴巴、华为和腾讯同时首次进入GitHub资源库贡献度前20名。与此同时,Gitee等本土协作平台也得到中国开发者青睐——这些平台不仅技术性能更好(由于位置靠近中国领土),并且没有外国干涉的风险。
(1)操作系统:Linux操作系统几乎是“整个物联网、云计算和超级计算机,以及数十亿部智能手机等的核心构件”,而华为公司正在成为该系统内核的重要贡献者。与此同时,华为自身技术的许多重要组成部分也以来安卓系统等海外开源软件的贡献。随着美国对华为的制裁深入,华为正通过自主开发的鸿蒙操作系统以稳住阵脚。
(2)半导体:中国公司在用于制造半导体的硬件和软件也依赖开源社区。因此,阿里巴巴和华为,正与谷歌等美国巨头、欧洲恩智浦一起投资于RISC-V项目社区,用于设计开源半导体设计(译者注:RISC-V指令集可以自由地用于任何目的,允许任何人设计、制造和销售RISC-V芯片和软件)。RISC-V作为一个开源项目不属于美国的出口管制范围,但也长期受到美国官方的关注和警告。因此,起初设立在美国的RISC基金会近期已迁往瑞士,以降低未来潜在的美国限制。
(3)云:由于中国对云计算使用的快速增长,中国公司也在积极参与相关技术开发,特别是通过Linux基金会主持的“云原生计算基金会”(Cloud Native Computing Foundation,CNCF)开展工作。如今,中国已经是云计算开源项目的第三大贡献者,仅次于美国和德国。
(4)人工智能:全球最广泛使用的深度学习框架是谷歌的TensorFlow和Meta的PyTorch。而在自动驾驶等更专业的新兴领域,中国则取得了更大的成功。例如,百度的Apollo系统已经吸引了宝马、大众等老牌车企的深度参与,并有望作为一个开源平台逐步替代特斯拉封闭的自动驾驶软件体系。
2、“有为政府”的深度参与
早在2000年,在国际合作的背景下,中国政府倡议建设开源社区。一个旗舰项目是基于Linux的红旗操作系统,由中国科学院软件研究所开发和发布。此后,围绕红旗操作系统,中方还与IBM、英特尔和惠普等美国企业合作,于2004年创建了“中国开源软件推进联盟”。同年,中国还与法国一系列机构(如国立核科学技术学院、国家信息与自动化研究所、源讯、意法半导体等)展开合作,开发开源基础设施软件栈,并成立了一个名为OW2的中间件开源平台。此后,OW2改组成为一个独立基金会,至今仍然存在。
随着“脱钩”言论甚嚣尘上,中国也在持续建设独立自主的本土开源社区。在伊朗和俄罗斯用户被GitHub封号后,2020年,中国首个开源基金会“开放原子开源基金会”(OpenAtom)成立。此后,2021年3月发布的“十四五”规划中也首次将“开源生态”作为国家战略重点,工业和信息化部还制定了“到2025年创建两到三个具有国际影响力的开源社区”的目标。
(二)美国:以“网络安全”为名
1、联邦政府中逐步推广使用开源软件
在1980年代,美国政府主要依靠定制的抓用软件,而国防部就是最大买家。进入90年代,开源软件逐步成为联邦政府信息系统基础设施的后端。随着科技巨头对开源生态的介入,开源软件也随之渗透进入政府内部。直到2016年,美国政府对开源项目采取了更坚决的政策立场——鼓励在联邦政府内部使用开源解决方案,并且推动开源软件在不同行政部门之间重复使用,而现有的专有软件及解决方案可作为备用手段。
美国国防部首席信息官约翰·谢尔曼(John Sherman)在2022年1月的一份备忘录中表示,政府使用开放源代码有几个好处:与小团队开发的软件相比,持续的同行评审能在更大程度上确保软件的可靠性和安全性;基于无限修改源代码的能力,国防部能迅速适应不断变化的情况和需求;开源减少了与依赖专用软件相关的风险和可能导致的限制;当需要许多份软件副本时,开源为软件维护提供了财务优势;开源适合于创新的原型设计和实验。
谢尔曼也表示,开源模式也对国防安全带来了相应挑战:首先,在关键系统中使用外部管理的代码,也可能为敌对方创造突破口,导致恶意代码被引入国防部系统;其次,按照开源生态的原则,国防系统也需要分享自己开发的代码,导致一些关键的创新被泄漏。为此,美国国防部既定的原则是,如果不是“关键技术”的组成部分,也可以在开源许可证下分享其开发的代码。
2、Log4Shell事件之后,进一步推动开源生态政治化
Log4Shell事件导致美国人对开源的安全问题的关注远远超出了国防部的范畴,并显著推动了拜登政府将网络安全问题“政治化”进程。2022年1月,美国政府(商务部、国防部、能源部、国土安全部;网络安全和基础设施安全局、国家标准和技术研究所NIST)、主要科技企业(亚马逊、苹果、谷歌、IBM、Meta、微软)和开源大平台(GitHub、Linux基金会、OpenSSF)在白宫举行了一次会议,讨论开源的安全及融资问题,并强调了政府在相关风险管控中的关键地位。
美国国会也已经启动了立法工作。值得注意是,2022年通过的美国“竞争法案”中在一项修正案中计划建立一系列“关键技术中心”,其中包括一个开源中心,进而允许政府资金能够直接进入所谓“最关键”的开源项目和工具中。此外,美国政府在9月14日继续发布指导方针,要求开源软件产品经由“联邦风险和授权管理计划”(FedRAMP)认证的组织进行评估。
此外,为了更好地识别海外个人或机构对开源代码的干扰风险,美国国防部高级研究计划局(DARPA)在2020年宣布了一个名为SocialCyber的项目,该项目旨在“探索检测和反击可能针对开源软件开发者社区的网络社会行动的能力,例如提交有缺陷的代码或设计,针对开源软件开发者和批评缺陷的维护者的社交媒体运动,以及通过误导性的错误报告,混淆技术讨论和社会对开源软件项目的职能权力的捕获。”
在此背景下,OSS也快速地缘政治化。即便一些开源组件并没有任何安全问题,也遭到美国政府封禁,因为其中有来自俄罗斯或中国的人员贡献。一些美国国防部的职员和供应商就抱怨道,近期美国禁止了一些政府网络加入用于存储和传送网页的流行软件NGINX,因为与该项目有关的一个开发者是俄罗斯人。
美国政策研究人员还煞有其事地分析了两个结构化开源项目(Python和JavaScript包)的前100名贡献者的国籍信息,结果也不如他们所愿。在GitHub上,这些热门项目的开源贡献者中只有一小部分(不到10%)似乎是在俄罗斯或中国,大多数的贡献者位于美国或其他国家。在一些软件包中,没有说明其地理位置的贡献者的数量超过了50%,这使得分析的操作性不强。基于当前分析结果,美国并不能确定来自俄罗斯或中国的开发者是否真的在影响开源软件,更不能确定他们是否在代表他们的政府行事。美国官员可能只是担忧国际竞争——在2020年和2021年之间,来自中国的GitHub开发者增加了15%,而俄罗斯则增加了30%。
(三)欧洲:探索开源生态的“第三条道路”
欧洲与北美一起,曾经在自由和开源软件方面发挥了先锋作用。例如,1993年,欧洲核研究组织(CERN)将英国研究人员蒂姆·伯纳斯·李(Tim Berners-Lee)发明的网络协议放入公共领域,并以自由许可的方式发布了下一个版本,从而促进了互联网的出现和传播。Linux的创始人莱纳斯·托瓦尔德(Linus Torvald)也是北欧人,他在芬兰上学时开发了该项目。在很长的时间内,大部分欧洲技术企业依然深度参与和使用开源系统。在1990年代前,北美和欧洲在数量上主导了开源世界,此后开源贡献者的地理多样性才开始增加。
然而,当前欧洲开发者的贡献已不足全球开源社区的三分之一。据统计,欧洲占GitHub平台贡献的26.8%,落后于北美(34%)和亚洲(30.7%)。在欧洲内部,罗马尼亚、捷克共和国、法国、德国和英国的开源社区尤为强大,其中德国、英国和法国排在GitHub上欧洲提交量和贡献者数量的前三位。欧洲的企业贡献者相对较少(只有德国的SAP和SUSE进入了GitHub的前20名贡献者),但参与治理意愿非常强烈,如Linux基金会中31%的成员是欧洲人。
1、推进数字主权与“数字公域”发展
欧洲在数字世界的雄心更接近“数字公域”的想象,即“维护互联网的最初愿景,建立一个由欧洲推动的多样化、非垄断和非私有化的互联网”。欧洲自身和数字公域有着共同的目标:维护普遍利益、自由竞争、网络中立性、保护个人数据和生态可持续性。一些欧洲项目正在具体表达这种保护公域的雄心。法国国家数字科技研究所(INRIA)在联合国教科文组织的支持下,于2016年启动了软件遗产项目。该项目的目标是收集所有公开可用的软件的源代码及其开发历史,大规模复制及保存,并与所有需要的人分享。
欧洲对开源政治兴趣,也与建立欧洲“数字主权”目标相关。创建“作为全球数字公域的开放和共享的软件和硬件基础设施”是欧洲技术主权项目的第四个支柱,与网络空间的安全、数字市场的法律和经济监管以及创新能力并列。为避免在中美之间被迫和无条件的结盟,欧盟决定追求一条开源软件和硬件解决方案。
为了使开源不仅仅是一种意识形态,INRIA负责人建议应该将其纳入到数字主权建设和产业政策实践中,确保其能创造经济价值并得到私营企业的支持。欧洲必须在国际上复制开源的成功,例如中国的自动驾驶汽车Appolo软件,它的开发速度比特斯拉的系统更快。还有经济上的论据支持在欧洲工业界更多地使用开源。开源对欧盟2018年GDP的积极经济影响估计在650亿至950亿欧元之间,公司共投资10亿欧元。据估计,如果欧洲公司对开源的贡献增长10%,这将有可能使欧盟的GDP增加1000亿欧元,并每年创造1000个数字企业。
2、更多欧盟成员国积极参与
阻碍欧洲实现“数字主权”的结构化力量是美国,这也就提出了一系列实际问题:如何参与各类(美国大型)组织的管理和代码开发?如何为外国项目提供资金?如何吸引外国开发者?为此,欧盟也针对性的做出以下部署:
(1)在政府和公共服务领域采用开放源代码。欧洲当局(在欧盟与成员国层面)积极发展行政部门内部的开源使用,并且开放公共机构生产的代码和数据。欧盟委员会在2020年更新并扩大了其开源战略,将其与“数字自治”的目标联系起来,并设立了“开源项目办公室”(OSPO)。2022年,欧盟委员会信息学总局(DGIT)还启动了一个资源库平台,以托管约100个项目,并分享委员会开发的开源解决方案。
(2)参与开源项目开发。法国INRIA开发了用于数据分析的开源工具箱Scikit-learn,在此基础上鼓励更多企业使用法国方案开发人工智能应用,并且诞生更多如Data Iku这样的法国领先人工智能企业。此外,2022年7月,法国超级计算机Jean Zay上启动了自然语言处理大模型BLOOM的训练,目前已经一千名志愿研究人员通过由法国政府和开源人工智能平台Hugging Face的共同资助参与其中。BLOOM与当前美国开发的GPT-3(Open AI)和LaMDA(谷歌)定位不同:不仅开源,而且多语种(目前已包含46种语言)。
(3)确保开放源代码的网络安全。在2016年Heartbleed漏洞事件后,欧盟设立了“自由和开源软件审计”(FOSSA)试点项目。具体而言,欧盟为欧洲机构使用的开源解决方案准备了20万欧元的漏洞奖金。2021年,欧盟进一步启动了FOSSEPS试点项目以开展更广泛的工作,例如为欧洲公共服务中最关键的开源软件创建一个清单,以确定欧洲对开源组件的依赖性,进而提供全面的安全备案。此外,欧盟还在2022年9月通过了“网络复原力法”,实施“软件材料清单”(SBOMs)制度,要求软件供应商识别并记录其产品中包含的全部组件。
(4)资助开源。欧盟提出“下一代互联网”(NGI)倡议,支持有助于发展“以人为本的互联网”的开源项目。NGI的出发点在于,当前欧洲的研究资助系统(如“地平线计划”)与开源模式几乎不兼容:它们通常是大规模的多国团队,而开源项目通常由个人或小团队制作和维护。2018至2020年期间,已有8200万欧元的NGI基金被分配给约800个项目,其中80%由个人领导;2021至2024年期间,该计划还将投入1.03亿欧元。成员国也在从财政上支持开源生态系统,如果德国就计划通过主权技术基金,每年为关键开源项目提供1000万欧元资助。
(5)更多元的战略方向。自2022年年初以来,开源生态得到了欧洲政治的高度关注。这种政治意识尤其要归功于Log4Shell安全漏洞和法国的大力推动。2022年2月,时任欧盟理事会的主席的法国宣布要制定一项“欧洲数字公域战略”,19个成员国作出了积极回应,并在同年6月发表了一份报告,提倡对数字公域采取共同的“欧洲办法”,并且呼吁各国应该主动识别在互联网和软件方面需要开发的新兴技术,并将资金用于某些关键领域或基础设施。
5、开源生态
会成为地缘政治的受害者吗?
开源模式在软件开发中发挥着核心作用,既与专有模式并行,又与之日益交融。开源生态系统已经是全球科技企业成功的一个主要因素,它不仅是计算机语言、关键软件组件、互联网架构等的数字基础设施的底层支柱,而且也在自动驾驶、人工智能、物联网等新兴技术的发展中发挥巨大作用。
鉴于开源生态能够创造的巨大经济价值,私营企业在过去20年内不断投入资金和人力,逐步成为开源体系中的结构性力量。随着开源生态逐步被私营企业的利益所裹挟,诸多开源贡献者希望能够探索出一条“第三条道路”——在拥有足够资源维护开源模式的安全和创新同时,也避免开源的“公共资源”被大型科技企业所劫持。
与此同时,一个最新动态更引人注意:鉴于开源对经济和安全的重要意义,中、美、欧也相应地制定了重点战略。然而在实践中,政府对开源社区的管理、运营和制度结构等问题上几乎无能为力,因为这些职能由基金会执行。即便私营企业滥用开源原则和自由许可证,政府的行动手段也很有限。因此,国家行动更多集中在开源组件的安全和维护上。
鉴于地缘政治对全球开源生态系统问题的侵扰逐渐严重,美国为在开源领域的竞争中占得优势,也在制造全球开源社区的分裂和国家集中化。例如,来自受美国制裁国家(如伊朗和俄罗斯)的开发者可能会被GitHub平台停职。与此同时,欧盟通过建立开放的全球“数字公域”,则能驱使更多的重要开源基金会向欧洲转移力量:Eclipse迁往比利时,RISC-V迁往瑞士,以及Linux基金会建立欧洲分部。
虽然欧洲与中国在若干数字领域存在合作机会,但从安全战略上,美国依然是一个无法绕开的“盟友”。因此,欧美最终必须考虑不同的安全倡议在国际层面上的一致性,以避免重复的努力或创造矛盾的标准。
版权声明:部分文章推送时未能与原作者取得联系。若涉及版权问题,敬请原作者联系我们。
微信扫码关注该文公众号作者