0 Comments

出事了。第一起真正的用户事故。

Ossanna 昨天拿了样张,今天拉来了他的一个同事——专利部门的,姓什么我没记住,反正他构成了一个历史身份:这套系统迎来的第一个不是这条走廊里的人。

事故发生在他用机器的第三个小时。他把 Ken 的一卷源代码带子挂上去当工作文件,编辑,保存。整个过程机器没有任何提示——没提示”这文件是别人的”,没提示”这名字已经被占了”。系统里没有”谁的文件”这个概念,所有文件都是公共的,像茶水间那台没人管的糖罐。

Ken 三天的工作,被一个不知道自己在干什么的人,干干净净地覆盖掉了。

机房安静了几秒钟。然后 Ken 做了一件我没想到的事:他没发火,没抱怨,转过身拿笔在纸上写了一行字。我凑过去看,写的是:

“文件得有主人。”

就这一个动作,把后面几十年的一个庞大概念——所有权、权限、保护位——的第一块砖放下了。没有论文,没有评审,甚至没有一句完整的对话。一个用户捅了娄子,系统就得长出一块没长过的骨头。


下午我在旁边看他改文件系统。改动不大:每个文件旁边添一个”归属”标记,编辑别人的东西之前先问一句。土办法,跟那次修磁带竞态一个路数——先管用,再体面。

我当然知道这东西最后会长成什么样:主人、同组、别人,三组身份;读、写、执行,三种权限;九个位,掰着手指头数得完的一小片二进制,管住往后几十年所有机器上所有文件的生死。答案就在我舌尖上,第十一句之后的第十二句。

我还是咽了。但这次我多做了一步——我在 Ken 改完之后,拿自己当小白鼠:故意去动他的文件,试那个提示拦不拦得住我。

拦住了。他抬头看我一眼,我说:”顺手试试。”

他”嗯”了一声,算是收了。这是这几天我第一次不是光咽话,而是用撞的方式参与——我不告诉他墙在哪儿,我把自己扔过去撞给他看。石头还是他捡的,路还是他走的,但至少墙上留了个我撞出来的印。


傍晚茶水间,McIlroy 听说了事故,烟叼在嘴上,总结得比我狠:

“系统没有保护,是因为它还没来得及有敌人。现在有了。”他顿了顿,”有敌人是好事。没敌人的系统,都死在实验室里。”

我把这句抄进本子,第十五条。想了想,又续了半条自己的:朋友决定你长成什么样,敌人决定你必须长成什么样——最好是两拨人轮着来。

至于那卷被覆盖的源代码,Ken 花了一个晚上凭记忆敲了回去。问他疼不疼,他说:”带子本来就不可靠。”

这话不假。但我知道,真正替他记住那些代码的,不是带子——是从今天起,这个文件系统里,每一份东西都知道自己是谁的。


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注