一个在 GitHub 上收获了一千颗星标、被数十人分叉的代码仓库,翻开文件列表却连半行软件源码都没有。仓库里唯一的说明文件写着一句话:这里根本不存在官方的 XScreenSaver 代码仓库。
项目作者 Jamie Zawinski(社区常称 jwz)用账号 yesthatjwz 提交了仅有的两次记录,提交哈希分别为 c74bed5 与 12d9873,时间戳甚至直接标到了 2026 年 10 月 16 日。这处看似荒诞的空壳仓库并不是黑客的恶作剧,而是 Unix 时代最资深的屏保程序作者在现代软件生态里,立下的一块防盗防冒告示牌。
此地无银的官方告示
如果你习惯了在微软旗下的 GitHub 上搜索开源项目,这个名为 xscreensaver-official/xscreensaver 的空间会直接打破你的惯性。作者在文档里写得很明确:软件唯一的官方源码与正式版本,永远只发布在他自己的个人主页 jwz.org/xscreensaver/ 上,且一律采用古典的 tar 压缩包分发。
文档里还补了一记重锤:任何在 GitHub 或其他平台上能搜到的所谓源码镜像,都与作者本人无关,用户绝不应该信任那些代码。如果有人想提交代码补丁或提出修改建议,必须通过邮件发送到 jwz@jwz.org,这里不接受任何 Issue 讨论,也不处理任何 Pull Request。
用户 st_goliath 在 Hacker News 社区发布了这条动态(讨论条目 50163142),迅速引来了开发者的两极讨论。现代协作派的开发者觉得不可思议,认为纯粹依靠个人网站分发 tarball 阻碍了年轻开发者参与,也增加了 Linux 发行版打包者的审计成本。但在老派 Unix 拥趸看来,这是独立开发者在抵御平台垄断时做出的正当自卫。
防御性占位背后的安全现实
很多人把这次建仓看成老黑客的顽固脾气,但在我看来,这是一场教科书式的防御性占位。
开源供应链近几年遭遇的安全投毒事件层出不穷。攻击者最惯用的伎俩,就是寻找那些资历极老、知名度极高,却没有在主流平台上注册官方命名空间的知名项目。攻击者会抢先注册一个看似官方的组织名称,克隆原版代码,再悄无声息地植入后门。许多下游打包人员和应用开发者在搜索依赖时稍有不慎,就会把被污染的代码引入生产环境。
平台的垄断已经深重到,连拒绝它的人都必须先成为它的用户才能保全名号。
jwz 如果不在 GitHub 上抢下 xscreensaver-official 这个命名空间,迟早会有人抢下它并假冒官方。他宁可忍受繁琐去建一个空仓库,写下几百个字符的免责声明,也不给任何投毒者留下李鬼扮李逵的空间。
- 风险.如果大量古老开源项目不采取主动防御,开源依赖链条就会在非官方镜像被投毒时全线溃败。
被平台霸权倒逼的古典隐士
这件事最耐人寻味的地方,在于它折射出中心化平台对现代软件心智的绝对统治。
在早期互联网时代,开源软件的天然居所是 FTP 服务器、独立主页与 Usenet 新闻组。开发者掌握自己的服务器,用 PGP 签名验证身份,用 diff 补丁交流技术。世异则事异,如今整整一代程序员都是伴随着网页端的绿格子提交图和 Pull Request 按钮成长起来的。当一个项目不在 GitHub 上,许多人甚至会本能地怀疑这个项目是不是已经死掉,或者它到底是不是开源软件。
- 结论.真正的软件自主权正在被托管服务全面侵蚀,你即便完全不使用商业巨头的基础设施,也无法逃避巨头构筑的心智规则。
jwz 极度反感商业大厂对协作流程的格式化改造,他坚持用邮件接收代码,坚持不让微软的服务器染指自己的提交历史。可现实给了这种坚持一记冷幽默的耳光:为了证明自己依然活着、为了证明那些非官方代码库不可信,他不得不亲自去微软的后院开一个账号,规规矩矩地上传一个 README,扮演起平台规则下的自证者。
这让我想起十九世纪末铁路扩张时期的私人驿站。哪怕掌柜坚决不乘火车、不买车票,也必须走到铁轨旁边竖起一块木牌,写明自家的马车店还在老路上开着,以免过往旅客以为这间老店早已关门大吉。
