陆鸣

自由开发者 · JavaKit 作者 · ⭐ 2,347 · 敏感词幸存者 · SourceWeave 维护者

SourceWeave 宣言:代码属于创作者,平台只是工具

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)

🐼
林子昂2029-08-11 10:35
陆哥,星云 CMS 完整迁移完成。李哥在终端里敲了 git remote add sourceweave 之后,全组鼓掌了一分钟。那盆绿萝现在有六十三条叶子,老严说以后每增加一个节点就多浇一次水。十二个字我已经打印出来贴在工位上了。织网日快乐。
回复
🐟
方块鱼2029-08-11 10:58
“分布式记忆”组织已创建,第一个仓库是2028年4月2日的屠龙录像,码率拉满,未剪辑。陆哥,当年你写诱饵水晶策略的文档我也传上去了,commit message 是:“这是程序员打游戏的方式。也是游戏教会程序员的东西。” 织网日,全员 Go Home,然后 Come Back。
回复
🇲🇾
Wei2029-08-11 11:20
AvaUI 在 SourceWeave 上发布了。我盯着那个仓库名称看了很久——没有星号,没有拒绝通知,没有任何审核系统的影子。我在 README 里写了一句:“This name was censored once. Never again.” 陆哥,没有你和 DeCensor,我可能早就放弃这个项目了。今天是 AvaUI 的生日,也是自由的生日。
回复
🌱
陈小满2029-08-11 12:44
Old World Seed 仓库已建。第一个文件是那个 vbs 弹窗脚本,第二个文件是化学对战游戏的原始代码(含被 Gitee 标红的 avgScore)。README 里我引用了你那十二个字。陆哥,谢谢你让我知道,代码不必完美,但它必须自由。
回复
老严2029-08-11 14:15
我们公司已经把全部基础设施仓库迁到 SourceWeave 上了。子昂说以后再也不会有进度条停在 73% 这种事。我说不,进度条还是会卡,但这次卡了之后我们换一个节点就行了。这就是去中心化的意义——不是不出问题,而是出问题的时候你不用等别人来救你。
回复
方槐2029-08-11 16:02
Luming, the European mirror node went live at 10:23 CET, synchronized with the global launch. Three years ago I sent you that painful email cancelling our contract. Today I'm sending you this: our entire toolchain now runs on SourceWeave. The trust we lost in 2026 has been rebuilt in code. — Fang Huai
回复
🗄️
那个匿名的 Gitee 审核员2029-08-11 18:30
我还在原来的岗位上。但今天有人在内部论坛转发了你这篇文章。我没有 SourceWeave 的账号,但我注册了一个。不是因为我要迁移项目,而是因为我想看看——一个没有敏感词审查的代码平台长什么样子。谢谢你让我看到另一种可能。
回复
🦎
那个被误伤了八年的嵌入式开发者2029-08-11 19:55
我的 avg_temp 在 SourceWeave 上不会被屏蔽。我把它传上去了,文件名就叫 avg_temp.c。八年了,一个变量名终于有了自己的家。织网日快乐。
回复
一个从百度经验过来的老码农2029-08-11 21:10
我没有星标,没有开源项目。我只是一个用 batch 脚本自动化运维了十年的老家伙。404 日的时候我丢了所有的内部工具库,没有备份。今天我在 SourceWeave 上重建了它们,用的是最笨的方法——一行一行重新写。commit message 是:“这次放在不会被关停的地方了。”
回复
🐙
Meridian2029-08-11 23:59
陆鸣,这是我在公开场合第一次留言。白皮书是我写的,协议是我起的头,但没有你和像你一样的三千万开发者,SourceWeave 只会是一份 PDF。你在那十二个字里用的“永远”,不是技术承诺——没有技术能保证永远。它是一种态度:只要还有人写代码,就会有人为代码的自由而战。织网日是一个开始。谢谢你,谢谢所有人。
回复