扫码打开虎嗅APP
本文来自微信公众号:品玩 (ID:pinwancool),作者:白宁,原文标题:《“争夺”Linux:华为已是最大内核贡献者,而美国军方现在想把它“控制”起来》,题图来自:《斯巴达300勇士》
“几千名散布在全球各地的开发者们,利用业余时间,仅仅是通过Internet这种脆弱的合作,就鬼斧神工般地造就了一个世界级的操作系统?我肯定想不到。”
这是Eric S.Raymond在1999年出版的《大教堂与集市》一文中形容Linux系统的话。
这本书后来被誉为“开源运动的《圣经》,颠覆了传统的软件开发思路,影响了整个软件开发领域”。
而让他惊讶的Linux系统也一路成长,今天已是大多数计算机启动时最先加载的程序之一,也是云计算、物联网的核心模块。甚至可以说整个网络计算机世界都运转在这个最著名的开源软件之上。
而书中Eric总结的开源软件的优势,也成了Linux等开源软件后来大获成功的最好解释:“只要眼睛多,bug容易捉。”(given enough eyeballs, all bugs are shallow)
他在书中把封闭的开发形容为大教堂——自上而下,信息不透明,成本高昂;而开源软件则聚集了不同的开发者从不同角度做贡献,这些人带着热情钻研每行代码时,不仅效率高,也会更安全,更容易发现漏洞——就像热闹的集市那样。
由此而推动的开源运动中,也对开源达成了许多定义,包括它最重要的特点是源代码开放,最核心的原则之一就是不得对任何人或团体有差别待遇。
但是这种开放和互信精神一直在遭受着各种冲击。微软曾经被认为是打压开源的代表,Linux的创始人林纳斯·托瓦兹和微软前副总裁克瑞格·蒙迪就曾有过一次著名的争论,脾气火爆的托瓦兹对蒙迪说:
“我不知道蒙迪是否听说过艾萨克·牛顿爵士?他不仅因为创立了经典物理学而出名,也因为说过这样一句话:‘我之所以能够看得更远,是因为我站在巨人肩膀上的缘故‘。我宁愿听牛顿的也不愿听蒙迪的。他(牛顿)虽然死了快300年了,却也没有让房间这样地臭气熏天。”
后来的故事大家都知道了,微软经过了各种事情后也变成拥抱开源的企业。Linux也已经存在于每个人的电子设备中。
但针对Linux和开源软件的不信任,从没消失——现在,轮到美国政府表达对开源的不信任了。
或者应该说,美国政府不太想站在那些非美国籍牛顿们的肩膀上了。
据MIT科技评论最新的一篇报道,美国国防高级研究计划局(Defense Advanced Research Projects Agency,简称DARPA)开展了一个名为SocialCyber的项目。
在介绍这个项目的报告《混合 AI 保护开源代码的完整性》中写道,使用开源虽然节省了成本,提高了可维护性,甚至吸引了开发人才,但也暴露了所用开源软件的组成和路径,使其更容易遭到攻击。所以,他们觉得有必要全方位分析开源软件,以防止恶意活动。
为此,DARPA成立了专门的项目组,打算花费18个月时间、数百万美元做这件事。而且,项目组表示,在AI工具的协助下,不仅要分析开源软件的源代码(一般有数百万甚至上千万行),还要进行社会维度的分析。
据MIT科技评论报道,研究人员将分析开源社区内的互动,以识别扰乱性或伤害性的行为,然后进一步判断社区成员的性质,比如,哪些值得信赖,哪些又需要警惕。
而DARPA选择用这套方法“处理”的第一个开源软件,正是Linux。
Linux已经是当前最著名的开源软件。应用Linux的计算机之多,远远超出其他任何操作系统:
我们熟悉的所有互联网终端,手机、平板电脑、路由器、电视和电子游戏机等等,其嵌入式系统都建构在Linux之上。
Linux也是服务器所用的主要系统,是公共互联网服务器上最常用的操作系统。
从数据库 MySQL到大数据处理工具 Hadoop、Spark,只要你能想象到的技术领域,几乎都能找到 Linux 的身影。
可以说,我们每时每刻都在使用着Linux,虽然很多人并不知道。
影响力如此之大的开源软件,其正常运行自然也是建构在整个互联网的协助之上的。如果有人统计Linux内核的贡献者,会发现这约等于写一本全球IT厂商点名册:英特尔、谷歌、IBM、英伟达、Red Hat……
然而,很多人不知道的是,在这些Linux内核的贡献者中,华为的排名已经攀升到了第一。去年7月份,Linux发布了有史以来最大的发行版之一,Linux Kernel 5.8,当时Linux内核贡献排行统计显示:华为在代码修改行(line changed)位列第一,占比 27.8%,是第二名的3倍以上;代码贡献(changesets)位列第二名,占比 8.6%,仅次于Intel。
华为贡献的 1399 个补丁,涵盖了ARM64 SPE perf event、ACPI CPPC 支持 ARM64 CPU 超频、虚化热迁移页标脏优化、CPU 休眠调控器默认可根据场景调整等系统特性,以及网络、文件系统、perf 调测、安全等关键子系统的 bugfix 补丁,均为 Linux 能够正常运行所需的基础功能,对于 Linux 非常重要。
众所周知,华为近些年一直是美国政府的重点管制对象。于是在对社区成员的性质分析时,DARPA进行了重点研究,并对华为的贡献再次进行了“肯定”。
负责其项目的研究机构声称:他们发现华为目前是Linux内核的最大贡献者。不过,“肯定”的目的当然不是为了表扬,因为研究机构接下来说的是:另外,与华为一样受到美国制裁的俄罗斯网络安全公司Positive Technologies,也对Linux内核做出过贡献。
“受到美国制裁”这个形容词,基本解释了上文“需要警惕”所指向的群体。有评论就指出,DARPA这个项目所谓的分析Linux,真正目的更像是要“审查Linux的开发者”:
听起来他们不像对维护感兴趣,而是对提交代码的“受制裁实体”更感兴趣。
另一方面,和DARPA《混合 AI 保护开源代码的完整性》中暗示的、人们对于Linux似乎“只用不维护”恰恰相反,为了维护好Linux,互联网巨头们一直出人、出钱、出力。
微软曾发布面向Linux通用的微软防御高级威胁保护(ATP),以保护Linux服务器免受服务器和网络威胁。谷歌一直热衷于参与开源应用的安全维护,它甚至在2021年资助了两名人员,让他们专职开发和维护Linux内核安全。
Linux基金会也在2021年10月宣布,与其他行业领导者一起筹资1000万美元,用于识别和修复开源软件中的网络安全漏洞,并开发改进的工具、培训、研究和漏洞披露实践。
不过,对修补平台漏洞贡献最多的还是Linux平台上的开发者。截止发稿日,这个群体成员目前已经达到了13256人。
根据谷歌公司的研究项目 ,正是该平台的开发者努力修复漏洞,才让Linux的安全性评级远超 Windows 、macOS。
他们查看了 2019 年 1 月至 2021 年 12 月期间报告的已修复错误,发现开源程序员平均只需 25 天即可修复 Linux 问题,与此同时,苹果平均用了大约 69 天、谷歌为 44 天、Mozilla 大约为 46 天,微软则是83天。
另外,Linux 开发者也一直在稳步减少修补安全漏洞所需的时间。早在 2019 年,这个数据就已经缩短至一个月,至现在,已经缩短到两周左右。
也就是说,在DARPA介入之前,针对Linux的维护已卓有成效。且所有的系统维护都是针对代码本身,从未牵扯到人的身份上。
DARPA要更进一步识别贡献成员的这个操作,就引起了争议——因为这看起来更像按照DARPA的“一家独大”的思路,把Linux这样的开源软件“控制”起来,由它根据美国的利益来决定谁是“值得信赖”的贡献者。
事实上,美国其实早就习惯了把开源作为自己的控制范围。比如前几年,美国就将开源软件纳入了“出口管制”名单,为此,全球最大的开源软件基金会Apache、全球最大的开源代码托管平台Github不得不发布公告,称受政策影响,服务可能受到影响:
Apache:“除非经美国政府正式授权,否则ASF软件/技术数据不得直接或间接出口/再出口到受美国禁运或贸易制裁的任何目的地。” Github:“GitHub.com,GitHub Enterprise Server以及您托管的开源项目可能受美国出口管制法律的约束,包括美国出口管理条例(EAR)。”
限制事件发生之后就出现了不少反对的声音。开发者们在GitHub创建了名为“github-do-not-ban-us”的项目进行抗议,还一度登上了GitHub热榜第一。
而值得注意的是,本次“审查事件”的主人公Linux在当时就一直没有发布相关公告,而且还在一年后,正式发布了一份中英文版白皮书《了解开源科技和美国出口管制》。
它在操作层面给出了绕过出口管制条例等问题的攻略,并且写到:
“公开发布给全世界享用的开源技术是不受制于美国出口管制EAR,开源至今仍然是一个最为便利的全球协作的模式。”
本文来自微信公众号:品玩 (ID:pinwancool),作者:白宁