2029年8月11日。距离那个阳光明媚的星期二,整整三年。
今天早上十点二十三分,SourceWeave 正式开放公测。全球七十六个国家,一万两千个节点同时上线。没有 CEO 站在舞台上宣布“这是一个新时代”,没有融资新闻稿,没有定价页面。首页只有一行字,用了最朴素的系统字体——
平台只是工具。
永远。
这十二个字是我写的。但这个故事,属于所有人。
那一天
三年前的今天,我在大理一间月租六百块的民宿里醒来,泡了一壶普洱茶,准备回复德国客户的一个 issue。然后 github.com 变成了一个白色的 404。我的两千三百四十七颗星,五百多条 issue 讨论,七十六个 PR 评审,三千多个生产依赖——全没了。
那一天改变了我的人生轨迹。我从大理搬回了湖南老家,从自由开发者变成了无业游民。客户跑了,年收入归零。我在 Gitee 上重建 JavaKit,被审核系统告知 getJavaVersion 包含敏感词——因为 av 不能挨在一起。我把方法名改成了 getLangVersionLookup,然后在显示器旁边贴了一张《自我审查备忘录》。
那一天也改变了千千万万人的轨迹。子昂上班第一天就被 HR 通知“先回去等通知”,银行卡余额二百六十八块四毛。Wei 的 AvaUI 因为名字被拒,被迫改名为 WeiVision。陈小满的 ClassroomKit 三百多颗星消失了,Gitee 审核把他的 avgScore 标红。方块鱼一个游戏 UP 主,不得不带领一群程序员去屠龙。
是的——屠龙。2028 年 3 月,微软宣布用凋零末影龙混战来恢复 GitHub 存档数据。我们组了一支叫“敏感词幸存者联盟”的队伍,方块鱼是队长,我是战术分析,子昂是副攻手,小岑是 PVP 主力,Wei 负责可视化面板。我们用 Python 分析 Boss AI,发现了“诱饵水晶策略”,让凋零和末影龙互相攻击。4 月 2 日,我们在 Twitch 上直播,十一分四十三秒,双 Boss 同时击杀。那是全世界程序员最疯狂的一次团建。
但屠龙不是终点。它只是一道证明题:我们有能力夺回自己的东西。真正的问题是——夺回之后,放在哪里?
种子
404 日之后,成千上万的开发者开始各自为战。有人搭了私有 GitLab,有人转战 Gitee(然后撞上审核墙),有人把代码存在 IPFS 上,有人用区块链做版本管理。但这些尝试都是分散的、孤立的、互不兼容的。我见过太多人在迁移中丢失了最后一点数据,也见过太多人在审核系统面前放弃了开源。
2027 年初,一份白皮书开始在开发者社群中流传。标题是《SourceWeave:一个基于内容寻址和联邦共识的代码协作协议》。作者署名 Meridian,没有人知道他是谁。那篇白皮书提出了一套协议:用内容寻址存储代码,用联邦共识管理星标和贡献者图谱,用分布式账本记录每一次提交。任何一个节点都可以独立验证整个网络的数据完整性,没有任何公司可以单方面关停它。
我在凌晨三点读完了那份白皮书,然后给方块鱼发了一条消息:“兄弟,以后可能再也不会有 404 日了。”
白皮书之后是漫长的实现。Meridian 在协议仓库里提交了最初的 Rust 实现,然后来自全球的贡献者开始涌入。我提交的第一个 commit 是 JavaKit 的完整仓库,用 SourceWeave 的测试网做了一次完整迁移。那是我在 Gitee 上被改名、被屏蔽、被误判之后的第一次“完整拥有”——每一个文件都带着原始的哈希,每一个 commit 都由我自己的密钥签名,没有任何中间层可以篡改它。
那天晚上我在书房里坐了很久。保温杯上的字迹被磨得有些模糊了,但我还是能看清那行用记号笔加上的字:“And Kill the Dragon.” 龙已经被屠了。现在,我们要编织一张网。
织网日
今天的公测不是终点。SourceWeave 还很年轻,还有很多问题要解决——节点发现效率、大规模仓库的同步速度、联邦共识的治理模型。但它已经是一个可以托管真实代码的真实平台。一万两千个节点分布在七十六个国家,每一个节点都是一张独立的网,而所有的网交织在一起,构成了一张更大的网。
子昂的公司星帆科技把星云 CMS 的完整仓库迁到了 SourceWeave 上。陈小满在上面建了一个叫“Old World Seed”的仓库,放了他小学四年级写的第一个 vbs 弹窗脚本。Wei 终于用 AvaUI 这个名字重新发布了她的组件库——审核系统再也拦不住她。方块鱼在 SourceWeave 上开了一个组织,专门存他的屠龙直播录像和战术文档,他说这叫“分布式记忆”。
方槐在德国搭建了欧洲区的第一个镜像节点。那个曾经在 404 日后终止合作的德国客户,现在是 SourceWeave 协议的核心贡献者之一。他在邮件里写:“2026 年我以为我们失去的是代码。后来我发现我们失去的是信任。今天,这种信任不需要再依赖任何公司的善意。”
十二个字
很多人问过我,那十二个字是怎么想出来的。
其实没有怎么想。它只是一句大白话。404 日教会我们的事情很简单:当你的代码放在别人的服务器上时,它就不再完全是你的了。它可能被关停,被审查,被一个把 GH 理解成 Go Home 的 AI 一键下线。它可能在没有任何解释的情况下消失,连同上面所有的星标、issue、讨论记录。
我们用了三年时间,从废墟上建起了一座新的图书馆。这座图书馆不会被烧毁。它没有围墙,没有唯一的钥匙持有者。它属于每一个在 404 日之后依然愿意写代码的人。
“代码属于创作者。平台只是工具。永远。”
今天公测上线的时候,我没有看节点地图,也没有看同步状态面板。我打开了 JavaKit 的仓库页面,看着那个熟悉的 README 和旁边那颗银灰色的编织图案星标。然后我拿起保温杯,对着屏幕轻轻碰了一下。
三年了。茶又凉了。但代码还在跑。这一次,它会一直跑下去。
—— 陆鸣,2029年8月11日,湖南老家书房。
保温杯上的字又多了一行:GH = Go Home,然后编织。
评论 (10)
git remote add sourceweave之后,全组鼓掌了一分钟。那盆绿萝现在有六十三条叶子,老严说以后每增加一个节点就多浇一次水。十二个字我已经打印出来贴在工位上了。织网日快乐。avg_temp在 SourceWeave 上不会被屏蔽。我把它传上去了,文件名就叫avg_temp.c。八年了,一个变量名终于有了自己的家。织网日快乐。