计算机和网络的新思维模型
极客界的一部伟大作品是 Neal Stephenson 的 In the Beginning Was the Command Line,这是一本散文长度的书,出版于 1999 年。与 Linux 一样,代码是开源的。现在仍然是。这是 本书全文 的一个副本。尽管 Neal 的许多参考文献(例如,Be 操作系统)已被遗忘或过时,但他对 Linux(及其 UNIX 亲属)的论证仍然像以往一样新鲜和正确。以下是它的要点
Unix 机器的文件系统都具有相同的通用结构。在您简陋的操作系统上,您可以创建目录(文件夹)并给它们命名,例如 Frodo 或 My Stuff,并将它们放在您喜欢的任何位置。但是在 Unix 下,文件系统的最高级别——根目录——始终用单个字符“/”表示,并且它始终包含同一组顶级目录
- /usr
- /etc
- /var
- /bin
- /proc
- /boot
- /home
- /root
- /sbin
- /dev
- /lib
- /tmp
并且这些目录中的每一个通常都有自己独特的子目录结构。请注意对缩写和避免大写字母的痴迷使用;这是一个由那些患有重复性劳损的人发明的系统,对于他们来说,重复性劳损就像矿工的矽肺病一样。长名称被磨损成三个字母的残茬,就像被河流磨平的石头。
这里不是尝试解释为什么存在上述每个目录以及其中包含什么的地方。起初,这一切似乎都很晦涩难懂;更糟糕的是,它似乎是故意晦涩难懂的。当我开始使用 Linux 时,我习惯于能够在任何我想要的地方创建目录,并给它们起任何我喜欢的名字。在 Unix 下,您当然可以自由地这样做(您可以自由地做任何事情),但是随着您对系统的经验增加,您会明白,上面列出的目录是为了最好的理由而创建的,如果您遵循它,您的生活将会轻松得多(顺便说一句,在 /home 中,您几乎拥有无限的自由)。
在发生过数百或数千次此类事情之后,黑客们理解了为什么 Unix 是现在的样子,并同意它不会是其他任何样子。正是这种文化适应让 Unix 黑客对系统充满信心,以及迪尔伯特漫画中捕捉到的那种冷静、坚定、令人恼火的优越感。Windows 95 和 MacOS 是产品,由工程师为特定公司服务而设计。相比之下,Unix 与其说是一种产品,不如说它是黑客亚文化精心编纂的口述历史。它是我们的吉尔伽美什史诗。
像吉尔伽美什这样的古老史诗之所以如此强大和长寿,是因为它们是活生生的叙事主体,许多人铭记于心,并一遍又一遍地讲述——在他们灵感迸发时进行自己的个人润色。糟糕的润色被驳斥,好的润色被其他人采纳、润色、改进,并随着时间的推移融入到故事中。同样,Unix 被如此多的黑客所知、喜爱和理解,以至于每当有人需要时,都可以从头开始重新创建它。对于习惯于将操作系统视为绝对必须购买的东西的人来说,这非常难以理解。
当 Tim Berners-Lee 发明万维网时,他是在 NeXT 机器上完成的,该机器也具有 UNIX 祖先。但这无关紧要。重要的是,Tim 在 UNIX 模型上安排了 Web 的目录:文件嵌套在目录中,按一系列斜杠分层划分:http://example.com/this/that/etc。相同的层次结构也隐含在客户端-服务器中,它应该被称为服务器-客户端,以反映状态的排列:服务器高于客户端。
在目录路径和客户端-服务器之间,我们拥有的是计算和网络的思维模型,它锚定了所有计算文明。
但是,当涉及到构思和设计分布式方法(例如点对点)时,它也给我们带来了问题。它给了我们一个又一个层次结构,以及层次结构中的层次结构,而不是 Paul Baran 在 1964 年绘制图表时想象的未来互联网所体现的异构(图 1)。

图 1. 集中式、分散式和分布式网络
在我们讨论这个问题时,让我们也回顾一下 David P. Reed、Jerome H. Saltzer 和 David D. Clark 的 《系统设计中的端到端论证》:一个 设计指南,它帮助体现和合理化了 互联网协议,在理想的世界中,这将为我们提供一个完全分布式的网络(图 1 中的 C)。唉,当前互联网的实现更接近于分散式(图 1 中的 B)。作为分布式网络,它已经不错了,但还不够好,因为它仍然使客户端节点 подчиняется 服务器节点,因此服务器获得了规模,而客户端获得的规模比服务器(以及网络本身中的“括约肌”运营商)允许的规模略高。我们还拥有一个网络化的世界,在这个世界中,政府可以偏袒或禁止他们不喜欢的流量。即使社会本身也在一定程度上被 Facebook 和 LinkedIn 等大型私人“社交网络”重新组织和重新集中。
早在 2016 年 4 月,我就建议,我们的下一场战斗是为了摆脱我刚才描述的那种集中式系统。为自由而战也将使我们更接近以下每个理想
- 通用计算和网络。
- 去中心化和分布式一切。
- 隐私。
- 真正的物联网。
现在我建议,我们也需要将自己从我们用来构建巨大的集中式陷阱的思维模型中解放出来,我们需要从中逃脱。
有积极的迹象。区块链,尽管有其缺点,但从设计上是分布式的。为了提出区块链和比特币(它使用区块链),中本聪(或任何真正的那个人)必须跳出法定货币、银行、集中式信任系统以及其他熟悉的控制世界经济交易的框架,几乎所有这些框架都是集中式设计的。他必须思考完全分布式的点对点方法如何处理所有这些事情,从而开辟可能性并超越以旧方式完成的货币、支付和记录保存。人们可以在许多方面批评比特币和区块链,但重要的是,一个分布式系统被构想和实施,导致世界上许多其他新的反思和重建。
思维模型的问题在于它们有效——也在于我们无法摆脱那些最深层的思维模型,这些模型锚定在我们自己作为物理身体在物理世界中运作的经验中。
有没有想过为什么好是向上(或高)而坏是向下(或低)?为什么更容易想象天堂在天空,地狱在地下,而不是相反?或者为什么光明是好的,黑暗是坏的?或者为什么人们说“开悟”而不是“变黑”?或者为什么我们“抓住”或“理解”想法?答案是,因为我们是直立行走的昼行动物,有手和可对握的拇指。如果猫头鹰或鼹鼠天生就具备拥有道德体系并谈论它们的方法,那么它们的隐喻将截然不同。黑暗可能是好的,而光明可能是坏的。
我们是有形的动物,我们无法摆脱这个事实。但我们本质上也是分布式的,而且是不同的。在基本层面上,我们是杂合子。我们俩都不一样,除非我们是同卵双胞胎;即使那样,我们也是分离且独特的个体。(一个有趣的事实:苹果也是如此。Michael Pollan 在《欲望植物学》中写道,每个苹果中的每颗种子“都包含完全新的和不同的苹果树的遗传指令,如果种植,它只会与它的父母有最粗略的相似之处”。我们所知道的所有苹果品种——Granny Smith、Delicious、Macintosh——都生长在从单株祖先植物嫁接而来的树木上。)
我们需要的设计是那些欣赏我们杂合的遗传,以及我们被设计为在整个健康生活中学习的事实。“包容世界,但永远不要试图包容我”,Walt Whitman 建议。他补充说
Urge and urge and urge,
Always the procreant urge of the world.
Out of the dimness opposite equals advance.
Always substance and increase, always sex,
Always a knit of identity, always distinction,
Always a breed of life.
我喜欢惠特曼如何将这些放在一起,因为它们都不适合任何系统,除了一个即使他自己也无法理解的系统,即使他拥抱它的神秘性。我也喜欢“身份的编织”,因为每个生命都是一条独特的线,具有自身的物质和增长能力,但又是不断变化的整体的一部分。每个自我,就像每个物种一样,都是生命的品种。
计算很难理解这一点,但对于编程和使用计算机的人们的头脑来说并非如此。
计算和编程要求我们以明确的方式和明确的术语来思考两者。然而,我们对世界的了解大多是心照不宣的。“我们知道的比我们能说的多”,Michael Polanyi 说,这是一个近乎绝对的轻描淡写。它适用于我们思考和说的一切。例如:即使到目前为止,我在这篇文章中已经完全让您明白了,您可能也无法逐字逐句地向我重复一遍。如果您可以,那更多的是归功于记忆而不是理解。短期记忆是人类天性的一种惊人的恩典。它迫使我们更多地传达意义而不是文字。想想看,在解释某件事的过程中,我们有多少次不记得我们是如何开始我们现在正在说的句子的,或者我们到底将如何完成它们,但不知何故我们会说出我们的意思,其他人也会理解它,即使他们无法完全重复我们所说的话。
那是因为,当我们彼此交流时,我们不会传递明确的词语缓存。相反,我们使意义在另一个人的心中形成。意义是我们从任何对话中获得的大部分内容。任何学校的课程、任何书籍或任何经历都是如此。我们获得的意义大多是心照不宣的。一旦我们将其归为己有,它也大多是未经质疑的。
这是我多年前在 Open Sources 2.0 的一章 中提出的
几年前,我与 Tim O'Reilly 谈论了我们都对将信息视为商品感到不适。在我们看来,信息不仅仅是可传播的知识形式,而且与可传播的知识形式截然不同。它不完全是一种商品,并且被我们称之为“内容”的普遍性所侮辱。
我们观察到,信息源自动词inform,它与动词form有关。告知不是“传递信息”,而是形成对方。如果您告诉我一些我以前不知道的事情,我就会因此而改变。如果我相信您并重视您所说的话,我就赋予了您权威,这意味着我赋予了您撰写我所知道的内容的权利。
因此,我们都是彼此的作者。在任何情况下,这都是一种深刻的人类状况,但它是开源价值体系的一个特别重要的方面。通过相互塑造,就像我们也塑造有用的软件一样,我们正在创造世界,而不仅仅是改变世界。
因此,现在将创作视为我们所有人都在做的事情——或者应该能够做的事情——在比我们的金字塔式集中式系统允许的更多的方式和环境中。
考虑一下我们异质性和我们在整个生命中沟通和学习的巨大能力的可能目的。我们为什么会这样?这些非常人性化的本质难道不会被构建为将个性从属于数据库类别的系统所侮辱吗?异构的全部承诺难道不是我们为只制造层次结构而付出的代价吗,一遍又一遍,因为这就是我们的工具和思维模型所倾向于做的事情吗?
我们有许多颜色、大小和体型——所有这些都有不同的面孔,这些面孔也会随着我们的成长和衰老而变化——这是一种恩典,旨在帮助我们认识到每个人都是独特和独立的。不仅仅是为了让我们通过这些特征中的任何一个来对彼此进行分类。我们都不是仅仅是黑人或白人、男性或女性、高个子或矮个子。我们是拥有完整灵魂的主权个体,不能被简化为任何一个特征,无论这样做多么容易,尤其是在研究和计算机方面。
我提出这一点是因为我认为也值得考虑的是,分布式系统和网络的最佳案例是它们利用了我们之间无数的差异和独创性。分布式系统,比我们能命名的任何其他类型都更能——使认识到我们最大的资源是彼此——以及我们自己成为可能。