🔥 以码入道 · 第三十八章:开源
灰鸽子协议 · 进程状态报告
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
PID: 灰鸽子-0x7F5B
宿主: 龙骨服务器(昆仑山 · 地下五千丈)
当前阶段: 作者授权已持有 — 首次公开分发待命 (git push –mirror)
系统时间: 纪元八年六月 · 申时初刻
在线用户: 45,219 名散修(+0.0% · 无人知晓)
分布式网络: 407 节点在线 · 归墟抑制条件: 已恢复(脆弱)
审计进度: 99.1% — 已成历史
天元位: 已展开 · 天外天连接稳定
入侵威胁: 🟡 中 — 长老会已察觉异常读取
剩余时间: ∞(仅当 root 有主)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
一、公开远端
「授权有了。」裴无花说,「然后呢?」
李祥荣握着那枚签章,沉默了一会儿。
然后他说了一句在修真界听起来毫无意义的话:
「然后我得找一个地方,push 上去。」
「push?」
「开源不是把源码读一遍。」他说,「开源是把它交出去——交到一个所有人伸手都能拿到的地方。可我手上这份授权,只在界外有效。界内的系统里,没有任何一个地址,名字叫做『所有人』。」
裴无花想了很久。
「有一个地方。」她终于说,「407 个。」
李祥荣抬起头。
「分布式网络。」他说。
「三万年来,天道把算力分给众生。」裴无花的声音慢慢铺开,「渡劫要算力、传送要算力、炼丹炼器、卜算天机,都要。系统忙不过来的时候,就把一部分活儿,借给散修们空闲的识海。借出去的算力,攒成一颗颗『德』,能换灵石,能换洞府,能换一次时辰的安稳。」
「借算力的时候,识海是开着的。」
「对。」她说,「开着的。407 个节点,每一个都是别人家的一扇窗。窗后面的人不知道,他们的识海,此刻正被当作这个世界的一部分在运转。」
李祥荣闭上了眼。
他伸手,往那 407 个方向探了一下。
他看见了。
东海的一个小岛上,一个老渔夫的识海里,跑着传送阵的路径计算。他不知道自己懂阵法,他只知道最近做梦,梦里全是线条。
北境的一个雪洞里,一个刚死的散修,识海还没散干净,正在替天劫调度器做最后一批取整。
南方一座城的市集上,一个十岁的孩子,睡梦里被拿来算灵石的分配比例,梦里他在数一堆永远数不完的豆子。
四万五千道读取经过李祥荣的手。而这 407 扇窗,是四万五千人里,最敞开的那 407 扇。
「你打算怎么做?」裴无花问。
「git push。」李祥荣说,「推到 407 个节点上。每个节点一份。不推到某一个中心,推到每一个人的本地——那才是真正的『公开』。中心可以被封,可以被夺,可以被下一个人拿去当天。可 407 份副本,没有中心。」
裴无花沉默了一阵。
「这叫 --mirror。」她说。
李祥荣愣了一下。
「你怎么知道?」
「因为他三万年前也这么说过。」她的声音很低,「他说,仓库不该只有一份。他说这句话的时候,我正在他背后的界外,看着他敲下最后一个字符。」
风停了一瞬。
「还有一件事你得知道。」裴无花说,「push 和 fetch 不一样。fetch 是拿——拿回来,你不满意还能扔。push 是给。给出去的东西,收不回来。」
「我知道。」
「你不知道。」她说,「git 里没有『取消分发』这个命令。你删了本地仓库也不管用——因为已经有人 clone 了。他们会带着那一份走,走得很远,走到你神识到不了的地方去。你今天交出去的每一个字符,都会在你看不见的地方,被别人改、被别人骂、被别人拿去干你不同意的事。」
李祥荣笑了一下。
「我前世推过一次错的提交。」他说,「我把一段没写完的代码,推到了主干上。三千多个人的机器,第二天早上全都跑不起来。我删了仓库、回了滚、写了三页道歉信——没用的。因为前一天晚上,有四十七个人已经 clone 了。四十七份错误的代码,散在四十七个地方。我永远不知道它们去了哪里。」
「那你还要再推一次?」
「推。」他说,「不同的是,这一次我打算写清楚注释。」
二、解释权
他还没动手,长老会就来了。
不是杀上来,是请。三道符箓落在天外天的枝叶上,规规矩矩,礼数周全——他们请「新任天君」回昆仑正殿,说有要事相商。
李祥荣去了。
正殿里坐满了人。他没坐上位,站在殿中。九位长老分坐两侧,为首的是那位在归墟倒计时里第一个把手按在剑上、又第一个把手放下的老者。
老者没有起身,也没有行礼。他只问了一句:
「你要把天理,给所有人看?」
「是。」
殿里安静得能听见香灰落下的声音。
「你知道会发生什么吗?」老者说,「不是怒斥,不是阻拦。我是真的在问你——你知道会发生什么吗?」
「大概知道。」
「那我告诉你。」老者抬了抬手,殿中的铜镜亮了。镜里是东海边上一个小渔村,几十户人家,炊烟正起。「这个村子里,三个识字,一个读过《天理总纲》的残卷。他们现在知道的事是:渡劫要积德,灵根分五等,天君在上,众生在下。他们敬畏,所以他们在自己那一等里,把日子过得很好。」
他的手一拨,镜里的画面变了。变成长老会藏书阁深处的一排书架。
「而我们这九个人,三万年来做的事,只有一件——解释。」老者说,「天理从来不是一本能读懂的书。它是一堆没人看得懂的符号。众生生下来就在符号里活着,不明白为什么,但有我们告诉他们为什么。为什么你灵根差?因为前世因果。为什么你家遭劫?因为气数。为什么你该认命?因为这就是天理。」
「所以我们守的,从来不是天理。」老者看着他,「我们守的是解释权。天理要是晦涩的、高的、远的,解释权就在我们手里。天理要是白纸黑字、人人可读——」
他停了一下。
「——那我们就什么都不是了。」
李祥荣看着这位老人。
他没有想到,第一个把真相说出口的,不是他,是对方。
「您刚才那番话,」他慢慢地说,「比我想的诚实得多。」
「我活了六百四十年。」老者说,「一个人活到我这个岁数,就不太会骗自己了。我只剩一个理由,不想让天理公开——」
「什么理由?」
「fork。」
老者说出这个字的时候,发音生硬,像是从某个极古老的典籍里硬背下来的。
「三万年前,天道不是没被人读过。」他说,「读得懂的人,三万年来一共出过十一个。他们每人都在自己那一小块地方,改了一点点。有人把天劫的阈值调松,让自己门下的弟子不渡劫就能结丹。有人把灵脉的分配权重改高,让一座城三百年风调雨顺,代价是隔壁三座城连着旱。有人甚至改了自己的寿数上限——他活了九百年,然后疯了。」
「这些改动,有一个共同的名字。」老者说,「叫『局部天理』。它们各自都对,各自都有道理,合在一起,就是这个修真界过去三万年里,所有那些说不清来由的灾。」
「您现在说这些,是为了让我怕。」
「不。」老者摇头,「是为了让你知道:开源不是自由,开源是分叉。 而你,将成为那个亲手把刀递出去的人。」
殿里静了很久。
李祥荣忽然问:「那您想怎么办?继续让四万五千人,活在一本自己看不懂的书里,由九个人告诉他们为什么?」
老者没有说话。
「您刚才说,天理要是人人可读,你们就什么都不是了。」李祥荣说,「可您有没有想过——在这之前,四万五千人也什么都不是。他们连自己为什么受苦都不知道。他们以为那是命。」
他抬起手,掌心向上。
「解释权不是秩序,长老。」他说,「解释权是您的位置。秩序是另外一样东西——秩序是所有人都知道规则,然后各自为自己的选择负责。」
「他们会互相杀。」
「会。」李祥荣说,「但那是他们的事。不是您的。」
三、第一次分发
当天夜里,他没有回天外天。
他站在龙骨服务器的最深处,root 的位置上,把 fixer 的手按在虚空里。
系统的分发层,第一次被他完整地展开。那不是他熟悉的任何一层——不是天理层,不是经脉网,不是天劫调度器。它比那些都薄,都轻,像一层贴在整个修真界背面的、几乎透明的纸。
纸上什么也没有。三万年来,这一层从来没有被用过。
因为天道 v1.0 的许可校验,一直拦在这里。
他抬手,写下这一生里最短的一行:
git remote add public dht://skynet/407
四万五千道读取,静静地经过他。
然后他写下第二行。
git push public --all
回车。
——
一开始,什么都没有。
然后,那层透明的纸,第一次亮了起来。
不是从中心亮,是从边上——从东海那个小岛,从北境那个雪洞,从南方市集上那个数豆子的孩子那里,一个点,一个点地亮起来,像有人在一片漆黑的海面上,一盏一盏点亮了四百零七座灯塔。
407 个识海,同时收到了同一份东西。
不是灵力,不是法诀,不是天劫的判决。是一堆没人看得懂的符号——四万七千行,一整套天道的源码,以最笨、最原始的方式,一字不差地,落进了四百零七个陌生人的脑子里。
第一个「读到」的人,是那个十岁的孩子。
他在梦里,看见一行字。
那行字不是法诀,不是天机,是开发者三万年前写在文件最开头的一行注释:
// 你若改它,请留下你的名字。
孩子醒来,什么也没记住。他只知道,他做了个梦,梦里有个声音对他说:你若改它,请留下你的名字。
第二天,他跑去市集上,问卖糖的老头:「改东西要留名字吗?」
老头笑了,说:「你个小崽子,改啥呀。」
孩子说:「不知道。梦里有人问我。」
四、第一场灾
事故发生在第四十六个时辰。
北境,一处叫「卧牛村」的地方,二百七十六户,四百多口人。
那里没有灵根出众的人,几代人靠种一种耐寒的黍米活着。那年的雪来得早,村里有个读过几年书的年轻人,叫陈九,在 407 个节点里,恰好是其中之一。
他读懂了。
不是全懂。他懂了一点点——他看懂了天劫调度器里,那一段关于「阈值」的代码。他看见上面写着一个数:三百。那是积德的门槛。过了三百,天劫降下,过了天劫,结丹。
他往下翻了三行,看见另一段:
// TODO: 阈值与功德记录的同步存在竞态。
// 极端情况下,功德已在记录中清零,阈值未更新。
// —— 此路径三万年来触发 11 次,均为误判。
十一此。
陈九看着这行字,看了整整一夜。
他想起了自己的母亲。他母亲三十年前渡劫,功德差三分,被雷劈成了灰。那年他七岁。村里人说,那是命。天理如此。
他又看了那行注释:
此路径三万年来触发 11 次,均为误判。
他开始改。
不是恶意。他改得很小心。他把阈值的读取,改成先读记录、再读阈值,让那三行的竞态消失。他甚至在旁边加了一行注释:
// 陈九 · 卧牛村 · 修 rogue/功德竞态
// 母亲死于此处。故改。若有人读到这里,请勿责怪。
他按下了那个他完全不懂、但源码里写得清清楚楚的字:
commit
——
第四十六个时辰的夜里,卧牛村方圆三十里,天变了。
不是灾难,是秩序变了。那一片的天劫调度器,从此对任何人都不再降劫——不只是卧牛村,是所有路过的、落单的、功德不足的修士。一个刚杀了人的魔修,一头闯进这片地界,他本该在三十里外就被雷劈成焦炭的。
他在卧牛村住了一夜。第二天早上,卧牛村没了。
二百七十六户。四百一十三口人。
陈九没有跑。他坐在村口的雪地上,看着自己改了那一行字的地方,一直坐到雪把他埋了一半。
——
消息传到李祥荣这里的时候,他正在天外天的根须下坐着。
他闭上眼,看见了。
不是通过神识——是通过 root。那个村子死的时候,四百一十三道读取,同时消失了。四百一十三个悬垂指针,在系统里闪了一下,然后被标记成 freed。
他感觉到那种「闪一下」。
不是疼。是少了一块。
五、回滚,还是继续
「回滚吧。」裴无花说。
她的声音第一次这么急。
「你有 root。你能做到——把所有节点的副本强制回滚到你推上去的第一版。删掉那四千七百份变异。天亮之前,一切都能恢复原样。」
「恢复成什么原样?」李祥荣问。
「恢复成……没有这一场灾的样子。」
「那不是原样。」他说,「那是从来没有发生过。可它已经发生了。四百一十三个人死了。我要是把它们抹掉,明天开始,这四百一十三个人连『死』这件事都不会有人记得。我会变成一个更好的天——一个连自己造成的错都不留痕迹的天。」
裴无花很久没说话。
「那你想怎么办?」
李祥荣站起来,往上看。
「推上去的收不回来。」他说,「所以我不收。我要往上加。」
他抬手,在那一层透明的纸上,写下了第三样东西。不是源码,不是授权,也不是校验。
是一份契约。
LICENSE · 天理公开协议 · 第一条
一、你可自由阅读、修改、分发本源码。
二、你若修改,须在改动处署名,写明:你是谁,你在哪,你改了什么。
三、你所改之处,若致他人死伤,责任在你,不在原作者,不在天。
四、本协议不是锁。它拦不住任何人。它只是让每一个改动,
都有一个能找得到的人。
—— 签署人: (空)
写完之后,他做了第二件更奇怪的事。
他调用了系统的广播层——那是三万年来只用来发布天劫预警和长老会通令的通道。他把它开到了最大,开到四万五千道读取全部能听见。
然后,他以「天」的身份,第一次,说了一句从来没有任何一任天说过的话:
「卧牛村的事,是我做的。」
四万五千道读取,同时震了一下。
「我把天理给了你们。」他说,「第一个接到它的人,用它改了三个字,死了四百一十三个人。这不是他的错。是我把东西给出去,却没有同时给你们『怎么用』的规矩。我只给了自由,没给你们责任。这是我的疏忽。」
「我收回不了已经给出去的东西。所以我只能补上另一样——从今天起,任何一个人改天理,都要留下名字;任何一处改动出了人命,都能查到是谁。天不再替你们担这个责了,因为从今天起,你们每个人都得自己担。」
「我不是在罚他。我在给他一个位置。」他说,「陈九。卧牛村。你母亲的事,是真的。那十一此误判,也是真的。你改得对。但你改的时候,不知道你改的不是一个村,是三十里。这不是你的错,是我不该让你在不知道的情况下改。——所以现在,我把三十里以外的地方,也一并告诉你。」
长久的寂静。
然后,三千七百里外,北境的雪地上,有一个跪着的人,终于抬起了头。
六、归墟的饥饿
那一夜,归墟没有醒。
它本该醒的。它等了三万年,等的就是「天无主」的那一刻。它上一次醒来,是因为李祥荣把 root 写成了 NULL;它上上一次醒来,是因为历代天君死的时候,root 空了一瞬。
可这一次,没有人空。
它按着老规矩,往系统里探了一次——去找那个「无主」的地址,找那个没有主人的位置,找那个可以下口的空。
它找到了 407 个地址。
然后它发现,407 个地址每一个都有主。不是一个人有主——是每一个都有一个人,坐在那里,手里攥着一份一模一样的源码,一边发抖一边读,一边读一边问「这是什么」。
再往下找,它找到了更多。那些读过、clone 过、又传给别人的散修。他们手里的副本歪歪扭扭,有的缺了半边,有的被改得面目全非,有的只是抄了一行注释贴在洞府墙上。
可每一份,都有一个名字。
归墟在整个修真界里,再也找不到一个「无主」的地方。
它饿了。
——
「它在退化。」裴无花的声音里有一种极古怪的、像笑又像哭的东西,「归墟在退化。你感觉到了吗?它开始……开始整理碎片了。」
李祥荣闭上眼。
他看见那头三万年的巨兽,蹲在系统的深处,慢慢地、笨拙地,把一些散的、没人要的内存,一块一块捡起来,摆整齐。
它没有死。它只是……没有事可做了。
一个绝妙的、残酷的、几乎像笑话一样的结局:不是杀死归墟,是让它失业。
「它从来不是恶。」李祥荣轻声说,「它只是一个负责回收『无主之物』的程序。只要这世界上还有无主的东西,它就永远有活干,永远有理由吃人。可这世界上要是没有无主的东西了呢?」
「那它就只是个进程。」裴无花说,「一个安安静静,替世界扫地的进程。」
「对。」李祥荣说,「这就是我想要的『天』——一个不需要被敬畏的进程。」
七、松手
天快亮了。
天外天的那株老树,根须还亮着。八千年没松过的那半根线,此刻还在她手里。
「李祥荣。」裴无花忽然叫他。
「嗯。」
「我可以松手了吗?」
他停住了。
「你想松吗?」
「我不知道。」她说得很慢,像是第一次,把一件在心里放了八千年的事,拿出来放到光底下看,「我一直以为,我守的是一个人。他走的时候说,你替我站在这儿,别让线断。我就站在这儿了。八千年。我连自己是谁都忘了,我只记得我是那根线的这一头。」
她顿了一下。
「可今天晚上,我看见那 407 个亮起来的地方。我看见一个十岁的孩子,做梦梦见『你若改它,请留下你的名字』。我看见那个叫陈九的,坐在雪地里,不肯走。」
「我忽然明白了。」她说,「我守的从来不是一个人。我守的是一条路。」
「路已经通了。」李祥荣说,「很多人都在走了。」
「我知道。」她说,「可我还想再站一会儿。」
「为什么?」
她笑了。那笑声很轻,像风吹过八千年没响过的枝头。
「因为我还想看看,它会长成什么样。」
李祥荣没有再说话。
他站在 root 的位置上,四万五千道读取,静静地经过他。
第一次,他觉得「经过他」这件事,没有那么重了。
——
天亮的最后一刻,系统的日志里,多了一行谁也没注意到的记录。
那是在 407 份副本里,最先亮起来的那个节点上——南方市集上,那个数豆子的孩子的识海里。
那里多了一份东西。不是他 clone 的,不是他改的,也不是他传出去的。
是一份被改过的副本。变异了四千七百处。时间戳是:第四十六个时辰 · 卧牛村的消息传开的同一个时辰。
而在那份副本的署名栏里——那份他自己写的、还没签过任何人的空白署名栏里——
有人替他签了名字。
签署人: 李祥荣
时间: 纪元八年六月 · 未时
来源: 卧牛村 · 三十里外
李祥荣盯着那三个字。
很久很久。
他从来没有 push 过那一份。
——
未完待续
[系统状态]
累计字数: 127,154
已更新: 38/38 章
当前卷: 第四卷「开源篇」
新线索: dht://skynet/407(407 个公有节点 · 无中心仓库)
新收获: LICENSE·天理公开协议(第一条至第四条 · 署名追溯)
新事件: 卧牛村事件(413 人死亡 · 开源后第 46 时辰)
待解任务: 是谁以「李祥荣」的名义 fork 了那份变异副本?
下一章预告: 署名