一
1985 年 3 月,一本名叫《Dr. Dobb’s Journal》的程序员杂志刊出一篇长文。署名是 Richard Stallman,时任麻省理工学院人工智能实验室的程序员。文章的题目是《GNU Manifesto》1。
那一年 Stallman 三十二岁。他刚刚从 MIT AI Lab 辞职,理由不是他找到了更好的工作,而是他要确保自己写的代码不会被 MIT 当作专利出售。一年前,1984 年 1 月,他正式开始 GNU 项目——一个目标完全公开、完全免费、与 Unix 兼容的操作系统2。
GNU 这个缩写有它自己的笑话:它代表 GNU’s Not Unix——一个递归的名字,承认自己是 Unix 的模仿者,又强调自己不是 Unix。这个笑话不重要。重要的是它代表了一种立场。当时 Unix 已经从早期 AT&T 贝尔实验室的免费学术工具,变成了一个被严格许可、按 CPU 收费、源代码受保密协议保护的商业产品。Stallman 不接受这种转向。
《GNU Manifesto》开头的几句话已经写得很清楚:
“GNU, which stands for Gnu’s Not Unix, is the name for the complete Unix-compatible software system which I am writing so that I can give it away free to everyone who can use it.”
注意这里的“free”——Stallman 很快就开始反复强调,“free” 不是“免费”,是“自由”。在他后来的演讲与文章里,他用了几十种方式重复这个区分。一个经常被引用的句子是:“Free as in freedom, not as in beer”——不是免费啤酒的免费,是言论自由的自由3。
这个区分本身不是技术问题。这是一个政治姿态。Stallman 相信,软件用户对自己使用的软件有四项不可剥夺的权利——使用它、研究它、修改它、再分发它。专有软件违反了这四项中的至少三项。所以专有软件不只是商业模式问题,是道德问题4。
1985 年 10 月,Stallman 在波士顿成立 Free Software Foundation。这是一个 501(c)(3) 慈善机构,目标是为 GNU 项目筹款、买硬件、雇程序员。这个机构存在的前提是相信:自由软件本身是公共善,需要有组织地推动5。
整个 1980 年代后半叶到 1990 年代前半叶,FSF 与 GNU 项目都被主流软件行业视为一种边缘的乌托邦。IBM、Microsoft、Apple、Sun、Oracle 都视 Stallman 的“四项自由”为商业模式的根本威胁。当 Stallman 1989 年写出 GPL(GNU General Public License)的第一版时——一份要求“所有衍生作品也必须开放”的许可证——主流商业律师称其为“病毒”6。
GPL 的特殊性在于它的“copyleft”机制。普通的版权保护原作者;GPL 反过来保护使用者:任何使用 GPL 代码的衍生作品,必须以同样条款开放源代码。这是一种用法律工具反向使用版权制度的做法——Stallman 称之为“用主人的工具拆掉主人的房子”。
这是开源的第一种形态:自由软件。它的逻辑是道德的,立场是反企业的,姿态是对抗性的。它不试图说服任何公司——它试图建立一个不依赖任何公司的备援系统。
二
到了 1990 年代后半叶,事情开始变化。
1991 年,芬兰赫尔辛基大学的一个二年级学生 Linus Torvalds 在 comp.os.minix 新闻组贴出一条消息,标题大致是“我在写一个免费的操作系统(只是个爱好,不会大)”。这就是 Linux 的开始。Linus 当时没有 Stallman 的政治议程——他只是想要一个能在自己的 386 PC 上跑的、像 Unix 一样的系统7。
但他做了一个关键选择:把 Linux 用 GPL 许可。这个选择把 Linux 接入了 Stallman 已经建立的 GNU 工具链(GCC 编译器、GNU C Library、GNU Bash 等)。从此 Linux 不只是一个操作系统内核,而是与整个 GNU 生态绑定的“GNU/Linux”——这是 Stallman 一直坚持的正确名称,虽然在主流话语中“Linux”已经赢得了简称权。
到 1995 年前后,GNU/Linux 已经能跑大部分 Unix 软件。它在大学和研究机构里被广泛使用,但在企业市场仍然边缘。一年后 1996 年,Netscape 的浏览器市场份额开始被 Internet Explorer 蚕食。Netscape 公司开始考虑一个极端的反击:把自己的浏览器源代码全部开源。
1998 年 1 月 22 日,Netscape 宣布开源 Mozilla 源代码。这是当时最大的商业公司第一次主动把核心产品开源8。
这个事件让一群人意识到:他们需要一个新的名字。
1998 年 2 月 3 日,在 Palo Alto 的一次会议上,Eric Raymond、Bruce Perens、Linus Torvalds 等人聚在一起讨论。在场的 Christine Peterson(一位 nanotech 研究者)提出了一个新词:Open Source。这个词不带 Stallman 那种道德姿态。它强调的是开发模式的优越性——“多人合作、快速迭代、bazaar 而非 cathedral”。它把开源运动从一种政治立场,重新包装成一种商业可接受的方法论9。
1998 年 2 月底,Open Source Initiative 在 Palo Alto 成立。Eric Raymond 任首任 President,Bruce Perens 任副 President。初始董事包括 Brian Behlendorf(Apache 创始人之一)、Ian Murdock(Debian 创始人)、Russ Nelson、Chip Salzenberg10。
OSI 公布的“Open Source Definition”是 Bruce Perens 此前为 Debian 写的“Free Software Guidelines”的修改版。两个文件在技术层面几乎完全一致,但在哲学层面已经分裂:
- Stallman 的 Free Software Definition 是“四项自由”,以用户权利为先
- OSI 的 Open Source Definition 是“开发模式优越性”,以商业可行性为先
Stallman 不接受这个转向。他后来反复批评 OSI 把开源运动“道德上抽空”。但更年轻的一代——包括 Bruce Perens 自己——觉得这个抽空是必要的代价。如果想让 IBM、Oracle、Sun 拥抱开源,就不能用“四项自由”这种听起来像宗教信仰的话术。
这是开源的第二种形态:Open Source。它的逻辑是务实的,立场是商业可接受的,姿态是合作性的。它愿意接受大公司的赞助、董事会席位、影响力。它相信“如果开源更好,市场就会选择它”。
三
接下来的十年——从 1998 到 2008——是开源在商业层面取得决定性胜利的十年。
1999 年 3 月,一群 Apache HTTP Server 的维护者成立了 Apache Software Foundation。这个基金会注册在 Delaware,是一个 501(c)(3) 慈善组织。它的存在是为了给 Apache HTTP Server 这种“靠多人邮件协作维护”的项目提供法律保护——让贡献者的代码版权能被集中管理,让公司能放心使用11。
Apache HTTP Server 那时候已经是世界上部署最广的 Web 服务器。在 2001 年 5 月,Apache License 2.0 发布。这份许可证有两个对企业极其友好的特点:它允许专有衍生作品(不像 GPL 要求开源),它明确处理专利授权(不像旧的 BSD 许可证留下灰色地带)。Apache 2.0 后来成为云时代最重要的开源许可证之一——Kubernetes、TensorFlow、PyTorch、Apache 旗下几乎所有项目都用它12。
2000 年 12 月,IBM 宣布投资 10 亿美元到 Linux 上。这是大公司第一次明确把开源当作战略平台。这笔钱不是捐款——它是 IBM 给自己工程师做 Linux 开发的工资、买服务器的钱、做营销的钱、打官司的钱。但效果一样:Linux 从此有了一个一万亿美元市值公司的全身投入13。
2007 年,Open Source Development Labs 和 Free Standards Group 合并,成立 Linux Foundation。这是一个 501(c)(6) 贸易协会,注册在加州(后来迁到 San Francisco / Delaware)。它的主要资助方是 IBM、Intel、Google、Oracle、Cisco——后来还有 Microsoft。截至 2023 年,Linux Foundation 年度营收 $1.96 亿美元,员工 298 人14。
这个数字本身就说明问题。Linux Foundation 不是一个程序员社区——它是一个具有相当规模的机构,拥有事业部、市场部、法务部、合规部。它管理着包括 Linux Kernel、Kubernetes、PyTorch、CNCF(Cloud Native Computing Foundation)、Hyperledger 在内的近一千个项目。它的存在是开源企业捕获阶段的物质化结果15。
Microsoft 的转向也发生在这个阶段。2001 年时任 CEO Steve Ballmer 公开把 Linux 称为 “cancer”(癌症)。2014 年新 CEO Satya Nadella 上任,公司话术彻底改变:“Microsoft loves Linux”。2018 年 6 月,Microsoft 用 75 亿美元收购了 GitHub——全球最大的开源代码托管平台16。
这个收购在当时引起了很多担忧。但实际效果是 Microsoft 大幅扩展了 GitHub 的免费功能,承诺继续保持中立。在很多开源运动的老兵看来,这恰恰证明了开源已经赢了——连 Microsoft 这样的“老敌人”都不得不拥抱它。但他们没意识到的是,赢下 Microsoft 同时也意味着把开源最大的协作平台交到了一家美国上市公司手里。
这是开源的第二阶段的结束:到 2018 年,开源已经完全胜利。但胜利的方式是把自己嵌入大公司的法律实体之中。Linux Foundation 在美国,Apache Foundation 在美国,Eclipse Foundation 在美国(注册地是 Delaware),后来又有了 Brussels 的欧洲子机构,CNCF 是 Linux Foundation 的子项目,Mozilla Foundation 在美国,OSI 在美国。几乎所有开源治理实体都在美国法律管辖之内。
四
2014 年是一个转折点。
那年 3 月,俄罗斯吞并克里米亚。美国和欧盟随即对俄罗斯实施第一波制裁——包括把一系列俄罗斯个人、公司列入 OFAC SDN(Specially Designated Nationals)list17。
OFAC(Office of Foreign Assets Control,外国资产控制办公室)是美国财政部下属机构。它维护的 SDN list 上的实体被禁止与美国人或美国注册公司进行任何交易。这个法律工具在 2014 年之前主要用于金融制裁——禁止美国银行处理 SDN list 上的账户。但它的法律适用范围在理论上覆盖一切——包括软件分发、技术服务、源代码托管。
2014 年那时候,GitHub 还是一家旧金山的中型创业公司。它注册在美国,所以理论上受 OFAC 约束。但实际执行很松散——GitHub 的工程师懒得追究每个用户的 IP 地址在哪里。
同一年 4 月,另一件事发生:OpenSSL 中的 Heartbleed 漏洞被公开18。这是当时被发现的最严重的互联网安全漏洞之一。它影响全球大约 17% 的“安全”网络服务器——大约 50 万台。漏洞的技术细节我们留到下一章详细讲。这里只需要知道两个事实。
第一,OpenSSL 是全球大部分 HTTPS 加密的基础。当时全世界的电商网站、银行网站、邮箱服务,绝大多数都依赖 OpenSSL 做 TLS 握手。
第二,在 Heartbleed 公开之前,OpenSSL 只有一个全职维护者——Stephen Henson——一个人审核了项目超过 45 万行代码的一半以上。整个 OpenSSL 项目的年度捐款总额大约是 2000 美元19。
OpenSSL Software Foundation 的主席 Steve Marquess 在 Heartbleed 公开后接受 The Register 采访时说了一句话,后来被反复引用:
“The mystery is not that a few overworked volunteers missed this bug; the mystery is why it hasn’t happened more often.”20
这句话很重要。它在 2014 年 4 月第一次公开承认了一个之前没人愿意公开承认的事实:现代互联网的关键基础设施大部分是被几个志愿者维护的。这些志愿者拿很少的钱或不拿钱,没有商业支持,没有 incident response 团队,没有 24 小时 on-call,没有专门的安全审计。但他们的代码被部署在数以千万计的服务器上。
2014 这两件事——克里米亚 + Heartbleed——是开源进入第三阶段的双重信号。克里米亚揭示了“国家可以通过制裁穿透开源协作”;Heartbleed 揭示了“如果国家想要利用关键基础设施的脆弱,那里有大量目标”。
接下来十年发生的所有事——GitHub 2019 年对伊朗的封锁、2018 年 Microsoft 收购 GitHub、2019 年 RISC-V 国际基金会迁瑞士、2020 年中国 OpenAtom 成立、2021 年 Log4Shell、2022 年 Sovereign Tech Fund 成立、2024 年 xz 后门、2024 年 Linux 删除 11 名俄籍 maintainer——都是这两个信号的延伸。
五
要理解为什么 2014 年成为转折点,得先看一下 2014 年之前的几个事件。
1999 年 5 月 6 日,美国第九巡回上诉法院在 Bernstein v. United States 案中做出了一个判决:源代码受第一修正案保护21。
这个判决的背景是这样的。1990 年代美国政府仍然把加密软件视为“军用品”——受 ITAR(International Traffic in Arms Regulations,国际武器贸易条例)管制。要把加密软件源代码送出美国,理论上需要申请武器出口许可证。Daniel Bernstein 当时是 UC Berkeley 的数学博士生,他写了一个加密程序叫 Snuffle,想公开发布。他向商务部申请,被告知必须先注册为武器商人。他起诉政府22。
九年的官司之后,第九巡回法院的判决说:源代码是一种“言论”。它表达想法、传递信息、可以被读者理解。所以它受第一修正案保护。政府不能强制开发者在公开源代码之前申请许可证。
这个判决从那以后成为美国对待开源软件出口管制的法律基础。在很长一段时间里,它意味着:源代码可以自由跨境流动,加密软件可以被开源、可以被讨论、可以被发表。1991 年 Phil Zimmermann 写出 PGP 之后被联邦调查的故事就发生在这个判决出来之前——Zimmermann 当时差点被起诉违反武器出口法。他的支持者们用了一个聪明的办法:把 PGP 源代码印成书,由 MIT 出版社发行23。书是受第一修正案保护的“印刷出版物”,国会不能限制它跨境流通。司法部最终撤销了对 Zimmermann 的调查。
Bernstein 案把这个“书 vs 软件”的区分彻底抹平。1999 年之后,开源软件在美国的法律地位变得相对清晰——它是受保护的言论。
但 Bernstein 案没有解决另一个问题:deemed export(视同出口)。这是 EAR(Export Administration Regulations)下的一个学说。它说:如果你在美国土壤上向一个外国人传授某些受管制的技术或源代码,这就被“视同”出口到了那个外国人的母国24。
这个学说听起来荒谬,但实际效果很强。如果一个伊朗博士生在美国大学的实验室里学习某种受 EAR 管制的加密技术,这等于把该技术“出口”到了伊朗——大学需要为此申请许可证。对绝大多数大学研究来说,这是不可承受的合规负担。所以“deemed export” 的实际效果是:受管制技术的研究只对美国公民和绿卡持有者完全开放。
在 1990 年代,这个学说主要影响军用密码学和核技术。但 2014 年之后,它开始扩展。2015 年时任商务部官员公开表示,“deemed export” 可能适用于 AI、量子计算、生物技术等“新兴技术”。这些技术里很多本身就是开源的。
这就引出了一个让 Stallman 三十年前不敢想象的问题:一份完全开源的、在 GitHub 上公开的源代码,能不能因为某些人不能“接收”它,而变得“违法”?
2019 年 7 月,GitHub 给出了第一个明确的实际回答。
六
2019 年 7 月底,几个 GitHub 用户突然发现他们的账号被限制了。
第一波报告来自伊朗。一个伊朗开发者在 Medium 上发了一篇愤怒的帖子:他的账号没有任何预警就被锁了,他甚至无法导出自己几年的代码25。接下来几天,叙利亚、克里米亚的开发者也开始报告类似情况。
GitHub 的 CEO Nat Friedman 公开承认了这件事。在一份声明中他说:GitHub 必须遵守美国出口管制法律,包括 OFAC 制裁。对于位于伊朗、叙利亚、克里米亚的用户,GitHub 关闭了私有 repo、付费账号、Marketplace 访问。公共 repo 仍然可读,但用户不能 push 代码26。
执行方式是基于 IP 地址和支付历史,不基于国籍或民族。一个在加州工作的伊朗裔美国公民不受影响——但一个在德黑兰工作的英国国籍工程师会被锁。这种识别方式有大量误伤:拉脱维亚的一些开发者被误识为俄罗斯地区27。一些到伊朗探亲的美国伊朗裔被临时锁定。一个住在克里米亚的乌克兰开发者——他是因为克里米亚被吞并才“变成”被制裁地区——给项目维护者写公开信,说他可能无法继续维护 GameHub 这个项目。
GitHub 后来获得了 OFAC 的一项 license,允许向伊朗个人开发者提供服务(但仍排除政府和被制裁实体)。这缓解了部分误伤,但没有改变结构性事实:一个美国注册的私营公司,必须按照美国法律决定哪些开发者可以使用它的服务28。
GitHub 不是孤立案例。SourceForge、Atlassian Bitbucket、GitLab.com、Docker Hub——所有美国注册的开源基础设施服务都面临同样的法律义务。这些公司多年来对 OFAC 的执行非常松散,但 2018 年 6 月 Microsoft 收购 GitHub 之后,作为一家大型上市公司,Microsoft 的合规要求更严。GitHub 2019 年的封锁可以理解为 Microsoft 合规压力的直接结果。
这就是开源进入第三阶段的标志性事件。开源运动几十年来相信“代码是全球公地”——它不属于任何国家、不受任何政府控制。但 2019 年 GitHub 的行动证明:当代码的协作基础设施被一家美国公司拥有时,全球公地的概念就被穿透了。一个伊朗开发者贡献给一个开源项目的代码,可能被技术上拒收——不是因为代码本身有问题,是因为开发者所在的地理位置违反了某个政府的法律。
七
接下来五年的事件可以理解为这个穿透过程的精细化。
2019 年 11 月,RISC-V 国际基金会(当时叫 RISC-V Foundation)宣布从 Delaware 迁到瑞士29。RISC-V 是一个开放的指令集架构——理论上不应该被任何政府管制。但 RISC-V Foundation 的董事会担心:如果美国政府决定把 RISC-V 列为“管制技术”,那么所有在美国注册的基金会成员都必须遵守。迁到瑞士可以让基金会本身免受美国法律管辖——虽然成员公司仍然受其本国法律管辖。
这是一次主权避险:基金会的所在地决定了它受谁的法律约束。
2020 年 6 月,中国成立 OpenAtom 开源基金会30。这是中国第一个真正意义上的开源软件基金会。发起方包括阿里、百度、华为、浪潮、奇虎、腾讯、招商银行。它的政治意义远超它的技术规模:它是中国对“几乎所有开源治理实体都在美国”这个现实的直接回应。
2021 年 11 月,华为把 EulerOS(一个基于 CentOS 的服务器 Linux 发行版)捐赠给 OpenAtom,更名为 openEuler31。这跟 Meta 2022 年把 PyTorch 捐赠给 Linux Foundation 在形式上类似——都是把企业项目“中立化”到基金会层面。但政治含义不同:openEuler 进入了一个中国注册的基金会,PyTorch 进入了一个美国注册的基金会32。
2021 年 12 月,Log4Shell 漏洞被公开。Log4j 是一个 Java 日志库,被全球几乎所有大型 Java 应用使用——包括 Apple iCloud、Twitter、Steam、Minecraft、亚马逊 AWS、阿里云。当时 Log4j 由三个人志愿者维护。其中之一 Ralph Goers 是 Log4j 的初始作者,但他的全职工作在另一家公司——他维护 Log4j 是用业余时间33。
这是 Heartbleed 故事七年之后的同样剧情。基础设施 critical,维护者孤独,发现漏洞靠运气。Heartbleed 之后成立的 Core Infrastructure Initiative 没能阻止 Log4Shell;Log4Shell 之后成立的 OpenSSF Alpha-Omega Project(2022 年 2 月,Microsoft + Google 投入 500 万美元)也没能阻止 xz34。
2022 年 2 月俄罗斯入侵乌克兰。新一轮制裁开始。GitHub 这次的执行比 2019 年精确——它没有对俄罗斯境内所有用户广撒网,而是针对被制裁的俄罗斯具体公司(Sberbank、Gazprom、被制裁的国防工业实体)。但效果仍然显著:俄罗斯企业开始大规模迁移到自托管 GitLab,本土 forge 平台 GitFlic 用户增长,俄罗斯政府发布 Decree 166 要求关键信息基础设施必须使用本土软件35。
2022 年 5 月,德国联邦议会拨款 350 万欧元每年成立 Sovereign Tech Fund(后改名 Sovereign Tech Agency)。这是一个直接资助关键开源项目的政府机构。它资助的项目包括 cURL、Drupal、Gnome、openSSH、systemd 等。到 2023 年底它已经支持了 40+ 个关键开源项目36。
这是一个新的现象:政府直接资助开源维护者。在 Stallman 1985 年的设想中,“自由软件”是反企业的;它没有想象过反国家。但 Sovereign Tech Fund 不是反国家——它就是国家。德国政府决定开源基础设施的稳定属于国家利益,所以它直接投钱进去。法国、荷兰、欧盟整体后来都跟进了类似项目。
到 2024 年,事情已经走到一个不可回避的地步。
八
2024 年 3 月 29 日,一个叫 Andres Freund 的工程师在 oss-security 邮件列表发了一封信。他在做 PostgreSQL 性能测试时,发现 SSH 登录时间从 100ms 增加到 500ms。他追踪到 liblzma——也就是 xz Utils 这个压缩库——里面有恶意代码。他报告了这件事37。
接下来几天的调查揭示了一个事实:在过去三年里,一个或多个使用 “Jia Tan” 身份的人通过精心设计的社会工程,逐步成为 xz Utils 的 co-maintainer,并在 2024 年 2 月把后门嵌入了 5.6.0 release。这个后门可以让攻击者绕过 SSH 认证直接执行代码。如果不是 Freund 因为性能测试偶然发现,它已经会被 Debian、Ubuntu、Fedora、Arch Linux 的下一个稳定版本集成到全球数十亿台 Linux 服务器上38。
xz 后门是这本书的第四章的核心案例。这里只需要知道一件事:它代表了开源进入第三阶段的最完整体现。一个国家级行为者投入了至少三年的时间、多个 sock puppet 账号、精心设计的施压和信任建立过程,目标是在一个被一位芬兰人单人维护的压缩库里植入一个能控制全球大部分 Linux 服务器的后门39。
它差点成功。它被发现是因为运气。
接下来七个月——2024 年 4 月到 10 月——这件事的余震在开源世界传遍。安全研究者重新审视了其他被单人维护的关键库;Linux Foundation 加大了对 maintainer 身份验证的考虑;CISA、NSA、各国安全机构都发布了关于 OSS 供应链威胁的警告。
2024 年 10 月 18 日,在这个余震的背景下,Linux 内核 stable 分支的负责人 Greg Kroah-Hartman 发送了一个 patch 到 LKML(Linux Kernel Mailing List)。这个 patch 从 MAINTAINERS 文件中删除了 11 个名字。Greg KH 的 commit message 只有两句话:
“Remove some entries due to various compliance requirements. They can come back in the future if sufficient documentation is provided.”40
被删除的 11 个名字几乎全部是俄籍 maintainer,多数关联到俄罗斯科技公司——Baikal Electronics、Yandex、Open Mobile Platform 等41。Baikal Electronics 是俄罗斯本土 CPU 厂商,2022 年俄乌战争后被列入 OFAC SDN list。其他几家也在 SDN list 上,或被 SDN list 上的母公司控制。
邮件列表上立即有人质疑。Geert Uytterhoeven(一位长期 Linux 开发者)问:什么是 “compliance requirements”?什么是 “sufficient documentation”?后续邮件中 James Bottomley(受雇于 IBM 的 Linux maintainer)给出了精确回答:
“如果你的公司在 U.S. OFAC SDN list 上,受 OFAC 制裁项目约束,或被 list 上的公司拥有/控制,我们与你的协作能力将受限,你不能出现在 MAINTAINERS 文件中。”
10 月 23 日,Linus Torvalds 出面表态:
“The change was done clearly, it’s not getting reverted, and multiple random anonymous accounts trying to reverse it wouldn’t change anything.”42
Linus 在同一封邮件里也表达了个人立场——他不接受俄罗斯入侵乌克兰,所以他个人也支持这个合规决定。但他强调:核心不是个人立场,是法律合规。Linux Foundation 是美国注册的非营利组织,它必须遵守 OFAC 制裁。
这件事的标志性不在于它前所未有——GitHub 2019 年的封锁早就证明了同样的逻辑。它的标志性在于它发生在 Linux 内核的 MAINTAINERS 文件里——这是开源世界最古老、最受尊重、最具象征意义的“贡献者名单”之一。当 11 个名字因为合规要求被从这份名单上删除时,开源运动用了四十年小心保持的姿态——“代码不分国界”——就在那一刻被官方否定了。
代码不分国界。但 maintainer 分国界。基金会注册地分国界。OFAC SDN list 分国界。
九
把 1985 年的 GNU 宣言和 2024 年的 Greg KH 邮件放在一起读,会让人不舒服。前者是一个三十二岁的程序员写的、充满道德激情的、关于自由的宣言。后者是一个 Linux 维护者写的、两句话的、技术性合规通知。
但如果只看到这两个文件之间的距离,就会错过这本书想说的东西。
这本书要说的不是“开源死了”。它没死。Stallman 仍然活着,仍然在写关于自由软件的文章。Linus Torvalds 仍然在维护 Linux。Apache Foundation 仍然在运作。CNCF 仍然在管理 Kubernetes。GitHub 上每天有几百万个 commit。世界上没有任何其他代码协作模式比开源更成功。
但 2024 年 10 月 18 日的事件揭示了一件事:开源运动相信了四十年的“代码作为全球公地”的姿态,在结构上已经无法维持。原因不是任何人的恶意。原因是开源的所有治理实体——Linux Foundation、Apache、CNCF、PyTorch Foundation、GitHub——都注册在某个国家。被注册的实体必须遵守注册地法律。当注册地的法律开始把代码协作纳入国家安全考量时,开源就不可能保持中立。
这不是美国一家的事。中国 2020 年成立 OpenAtom 是同样的逻辑:它要确保自己有不依赖美国法律实体的开源基础设施。俄罗斯 2022 年要求关键基础设施迁到本土软件是同样的逻辑。欧盟 2024 年通过 Cyber Resilience Act 是同样的逻辑。各方都意识到了:开源已经不再是中性技术,是国家能力的一部分43。
接下来这本书的十一章,会一步一步把这个图景展开。第二章讲法律层面:从 Bernstein 案的“代码是言论”到今天 AI 模型权重的不解决状态。第三章讲基础设施的脆弱:Heartbleed、Log4Shell、xz 的三次警告,每次间隔在缩短。第四章是核心:xz 后门的完整技术与社会工程过程,让一个读者真正“看懂”国家级 OSS 供应链攻击长什么样。第五章是人物:维护者的具体面孔。第六章讲制裁穿透:GitHub 2019 和 Linux 2024 的完整故事。第七到第十一章讲各国战略、关键项目、可验证供应链、平行生态、AI 模型权重。第十二章是收束。
不论哪一章,都建立在一个判断上:开源仍然是开源——你仍然能 fork、clone、读源代码。这是 1985 年 Stallman 创造的,是 1998 年 OSI 推广的,是 2014 年的 Heartbleed 之后还在维持的。这种根本属性,今天仍然让 Iran、Cuba、Crimea 的程序员能继续工作。它不是过时的乌托邦——它是这个世界上仍在运行的少数几个全球公地之一。
但它运行的全球协作秩序,正在被切割。这个切割不是一夜之间的事;它是从 2014 年开始、到 2024 年达到一个不可回避的临界点的过程。理解这个过程,才能理解 2024 年 10 月 18 日 Greg KH 邮件里那两句话——“由于多种合规要求”——为什么是 1985 年 Stallman 写《GNU 宣言》时绝对没法想象的。
References
-
The GNU Manifesto, Richard Stallman, Dr. Dobb’s Journal, March 1985. GNU Project page
-
Wikipedia: GNU Manifesto. Link →
-
Richard Stallman, “Free Software, Free Society: Selected Essays”, FSF, 2002. PDF →
-
Free Software Foundation, “What is Free Software?”, FSF official page. Link →
-
FSF History, Free Software Foundation. Link →
-
Wikipedia: GNU General Public License. Link →
-
Linus Torvalds, “Just a hobby, won’t be big and professional like gnu”, comp.os.minix, 1991-08-25. Now archived in multiple places including Linux Foundation history pages.
-
Wikipedia: Netscape (web browser). 1998 年 1 月 22 日 Netscape 宣布开源 Mozilla 源代码。Link →
-
History of the Open Source Initiative, OSI. Link →
-
Wikipedia: Open Source Initiative. Link →
-
ASF History Project Timeline. Link →
-
Wikipedia: Apache License. Link →
-
ProPublica Nonprofit Explorer: The Linux Foundation, EIN 460503801. 2023 年 Form 990 显示营收 $196,026,148。Link →
-
Linux Foundation Annual Report 2023. 提到“welcoming 270 new members and approaching nearly 1,000 active projects”。Link →
-
Microsoft 2018-06 收购 GitHub 公告。多次重申“Microsoft loves Linux”立场。
-
U.S. Department of the Treasury OFAC: Specially Designated Nationals And Blocked Persons List. 2014 年以后多次更新。OFAC SDN page
-
Wikipedia: Heartbleed. Link →
-
Mend.io: “How The Heartbleed Vulnerability Shaped OpenSSL as We Know It”. Link →
-
The Register 2014-04-11: “OpenSSL Heartbleed: Bloody nose for open-source bleeding hearts”. 包含 Steve Marquess 引述。Link →
-
Wikipedia: Bernstein v. United States. Link →
-
EFF: Bernstein v. US Department of Justice case page. Link →
-
Wikipedia: Phil Zimmermann. 包括 PGP 源代码作为 MIT Press 出版物的故事。Link →
-
Bureau of Industry and Security: “What is a deemed export?”. Link →
-
TechCrunch 2019-07-29: “GitHub confirms it has blocked developers in Iran, Syria and Crimea”. Link →
-
GitHub Docs: GitHub and Trade Controls. Link →
-
Tom’s Hardware: “GitHub Blocks Iran, Syria and Crimea-Based Users”. 包括拉脱维亚误伤报道。Link →
-
Menabytes: “GitHub blocks partial access for developers in Syria, Iran and other countries under US sanctions”. Link →
-
The Register 2019-11-26: “RISC-V business: Tech foundation moving to Switzerland because of geopolitical concerns”. Link →
-
Wikipedia: OpenAtom Foundation. 成立于 2020 年 6 月,由阿里、百度、华为、浪潮、奇虎 360、腾讯、招商银行等共同发起。Link →
-
Caixin Global 2021-11-10: “Huawei Donates Operating System to Chinese Tech Nonprofit”. Link →
-
Linux Foundation 2022-09-12: “Meta Transitions PyTorch to the Linux Foundation”. Link →
-
Wikipedia: Log4Shell. 包括 “The Apache Log4j project is being maintained by three people who volunteer their time” 的细节。Link →
-
OpenSSF Press Release 2022-02-01: “OpenSSF Announces The Alpha-Omega Project”. Microsoft + Google 投入初始 500 万美元。Link →
-
Wikipedia: Astra Linux. 包括 Decree 166 强制国企迁移的描述。Link →
-
Sovereign Tech Agency (formerly Sovereign Tech Fund). Link → 与 Wikipedia: Sovereign Tech Agency。Link →
-
Wikipedia: XZ Utils backdoor. Link →
-
Russ Cox: “Timeline of the xz open source attack”, research!rsc. Link →
-
Securelist: “Social engineering aspect of the XZ incident”. Link →
-
LWN.net: “Several Russian developers lose kernel maintainership status”. 包含 Greg KH 的 LKML 邮件原文摘录。Link →
-
OSTechNix: “Several Russian Maintainers Removed From Linux Kernel”. Link →
-
The Register 2024-10-23: “Linus Torvalds affirms expulsion of Russian maintainers”. 包括 Linus 表态原文。Link →
-
Jamestown Foundation: “Open-Source Technology and PRC National Strategy: Part I”. 提供中国战略层面的分析。Link →