20世纪60年代,童年时期的蒂姆·伯纳斯–李(Tim Berners-Lee)居住在伦敦市郊,他在这个时候已经观察出了关于计算机的一个基本特点:虽然它们非常擅长通过程序进行分步处理,但是它们不善于进行随意的联想和建立巧妙的联系,这是它们与充满想象力的人类之间的区别。
这可不是普通小孩会思考的一个问题,不过伯纳斯–李的父母都是计算机科学家——他们是费伦蒂马克一号(Ferranti Mark I,曼彻斯特大学的存储程序计算机的商用版本)的程序员。一天晚上,他的父亲正在家中按照上司的要求起草一份演讲稿,这个演讲的主题是如何使计算机变得更加直观易用。在准备演讲稿的时候,他跟儿子谈到了自己正在阅读的几本关于人类大脑的书籍。他的儿子回忆道:“其中让我印象特别深刻的一个观点是,如果计算机能够通过程序将原本互不相关的信息连接起来,那么它们将会变得更加强大。”1 他们也谈论了阿兰·图灵的通用型机器概念。“这让我认识到了计算机的能力只受限于我们的想象力。”2
伯纳斯–李出生于1955年,与比尔·盖茨和史蒂夫·乔布斯同年。他认为生于这个年代是一件幸运的事情,因为当时的小孩可以轻易地拿到和摆弄一些基础的电子设备和电子元件。“我们需要的东西总是在恰到好处的时机出现。”他解释道,“我们每掌握一项新的技术,电子产业就会做出功能更强大的产品,而且我们可以用自己的零花钱买到这些产品。”3
在上小学的时候,伯纳斯–李和一个朋友经常出没于各家电子爱好者商店,他们会用自己的零花钱购买一些电磁铁,然后自己动手制作一些继电器和开关。“我们将电磁铁装到木料里面,”他回忆道,“它在通电之后可以吸住一些马口铁块,形成一个完整的电路。”他们从中理解到了比特的定义和储存原理,以及电路可以实现的功能。正当简易的电磁开关已经不能满足他们的时候,晶体管开始变得普及起来,他和他的朋友们可以用非常低廉的价格买到一大包晶体管。“我们学会了如何测试晶体管,然后用它们来替换我们之前做出来的继电器。”4 在这个过程当中,他会将晶体管和被淘汰的电磁开关进行比较,并从中看出每个电子元件的作用。他利用这些晶体管对他的火车玩具套装进行了改装,做出了一个能够让火车发出声音的元件,以及一个用于控制火车减速的电路。
“我们开始设计一些非常复杂的逻辑电路,但是这些想法变得越来越不切实际,因为它们需要使用太多晶体管了。”他说道。然而就在他遇到这个瓶颈的时候,当地的电子商店已经开始销售微型芯片了。“你可以用自己的零花钱买到几包这样的微型芯片,然后你会发现可以用它们来做出一台计算机的核心。”5 不仅如此,他还从中理解了计算机的核心,因为他已经循序渐进地接触过了简易开关、晶体管和微型芯片,而且熟知每种元件的工作原理。
在入读牛津大学之前的暑假里,伯纳斯–李找到了一份伐木场的兼职工作。有一天,他在将木屑倒进垃圾车的时候发现了一台旧式计算器,这是一台半机械半电子的计算器,上面有一排排的按键。他从垃圾堆里把这台计算器捡了回来,然后接上自己制作的开关和晶体管,它很快就变成了一台可以工作的简易计算机。他在一家电器维修店买了一台坏掉的电视机,在了解了真空管电路的工作原理之后,他把它的显示器拆下来作为计算机的屏幕。6
伯纳斯–李在读牛津大学的时候已经可以买到微处理器了,于是他和几位朋友开始利用微处理器设计一些计算机主板,然后尝试把它们卖给别人,就像沃兹尼亚克和乔布斯所做的那样。不过他们没有达到后面两位取得的成功,伯纳斯–李后来解释了他们当时失败的原因,“这里不是硅谷,我们周围没有家酿计算机俱乐部,也没有成熟的社区和文化氛围”。7 创新会在合适的土壤之上生长,对于20世纪70年代来说,这片土壤位于旧金山湾区,而不是牛津郡。
从电磁开关到微处理器,伯纳斯–李一直按照循序渐进和亲手实践的方法来学习,这点让他对电子元件的知识了如指掌。“如果你用电线和螺丝做出过什么东西,那么你就可以自信地使用一个带有继电器的芯片或者电路,因为你知道自己可以做出一个同样的东西。”他说,“现在的孩子会把自己手上的MacBook看成是一件家用电器,就像是电冰箱一样,它里面应该装满自己想要的东西,但是他们不知道它的工作原理是怎样的。他们不能完全理解我和我的父母都熟知的一个道理,计算机的能力只受限于我们的想象力。”8
伯纳斯–李还有另外一个让他念念不忘的童年回忆:他家里有一本来自维多利亚时代的老皇历,它的书名散发着一种神秘和陈腐的气息——《包罗万象》(Enquire Within Upon Everything )。它的前言是这么写的:“无论你想制作花朵的蜡模,学习礼节规则,为早餐或晚餐搭配调味品,为大小聚会准备一顿宴席,还是想舒缓头痛,立遗嘱,嫁娶,埋葬亲人,无论你想做什么,只要它与家庭生活相关,我想《包罗万象》都不会令你失望。”9 从某种意义来说,它就像是一本19世纪的《全球概览》。它里面充满了各种随意的信息和联系,而且这些内容都配有清晰的索引。“各条目可在本书末尾的索引中查询”,它的扉页给出了这样的说明。它在1894年的时候已经再版了89次,销量达到118.8万册。“这本书起到了信息世界入口的作用,它的内容从如何清理衣服的污渍到投资建议一应俱全。”伯纳斯–李叙述道,“当然它不完全比得上万维网,但它却是后者的一个起点。”10
伯纳斯–李从小就反复琢磨的另外一个概念是,人类大脑是如何建立随意联系的——比如你和一位朋友一起喝过咖啡之后,下次你闻到咖啡气味的时候就会想起她当时身穿的裙子,但是机器却只能根据已有的程序建立联系。另外,伯纳斯–李对人们协同工作的方式也很感兴趣。“你的头脑中有其中一半的答案,我的头脑中有另外一半的答案。”他解释道,“当我们坐在一起的时候,你可能会完善我提出的想法,这就是我们进行头脑风暴的方式。我们会将各自的想法写在白板上面,然后互相修改这些内容。我们怎么能够在独自工作的时候做到这点呢?”11
从《包罗万象》到人类大脑建立随意联系和进行协作的能力,这些想法一直在伯纳斯–李的脑海中交织,并一直持续到他从牛津大学毕业。他之后将会认识到关于创新的一个真理:当各种胡思乱想汇集在一起的时候,新的想法就会从中诞生。他是如此描述这个过程的:“各种尚未成熟的想法在脑海中四处漂浮。它们来自不同的地方,不过大脑总是有办法将它们塞到合适的位置。有时候这些想法也会找不到合适的地方,这时我们会外出骑车兜风或者做其他事情,之后问题就迎刃而解了。”12
对于伯纳斯–李来说,他的创新想法从他为欧洲核子研究组织(CERN)担任顾问工作的时候开始汇聚,欧洲核子研究组织是一所位于日内瓦附近的巨型超级对撞机和分子物理学实验室。他当时的工作是记录大约一万名研究人员、他们的研究项目和计算机系统三者之间的联系,他需要找到完成这项工作的方法。那里的计算机和工作人员都说着各不相同的语言,而且他们之间经常会建立临时的联系。伯纳斯–李需要随时掌握这些联系,所以他编写了一个程序来协助他的工作。当其他人向他解释欧洲核子研究组织内部的各种关系时,他注意到他们喜欢用很多箭头来画出关系图,所以他在自己的程序中重现了这种模式。他会在程序中输入工作人员或者项目名称,然后创建表示关联的链接。伯纳斯–李将自己编写的计算机程序命名为“Enquire”,灵感来自他小时候看过的那本维多利亚年历。
“我喜欢Enquire,”他写道,“因为它无须采用矩阵或者树形图这样的方式来储存信息。”13 他提到的都是一些层级严格分明的结构,但是人类大脑会做出更为随意的思维跳跃。伯纳斯–李在持续改进Enquire的过程中产生了一个更加宏大的构想。“假如保存在世界各地的计算机当中的所有信息都是相互连接的,那么它们就会形成一个全球统一的信息空间,也就是一张信息的巨网。”14 他所构想的(虽然他当时并不知道)正是一台涵盖全球范围的Memex机——由万尼瓦尔·布什提出的能够储存、交叉引用和检索文档的机器。
然而,在Enquire的开发尚未完成的时候,伯纳斯–李在欧洲核子研究组织的顾问工作就要结束了。他留下了他的计算机和一张含有Enquire全部代码的8英寸软盘,但是这张软盘很快就被丢失和遗忘了。在接下来的几年里,他在英国一家制作文档发布软件的公司工作。然而,他对这份工作逐渐失去了兴趣,于是他向欧洲核子研究组织申请了一个研究员的职位。他在1984年9月重返欧洲核子研究组织,他所在的工作小组的职责是收集整理欧洲核子研究组织内部的所有实验结果。
欧洲核子研究组织是一个充满各种各样的人才和计算机系统的大锅,这里使用的文字语言和数字语言达数十种之多,而且这里的人和计算机都需要共享信息。“在这个相互连接的多样性环境中,”伯纳斯–李回忆道,“欧洲核子研究组织就像是整个世界的缩影。”15 在这种情况下,他感觉自己又回到了自己童年的沉思当中——持有不同观点的人是如何通过协作将未成熟的想法变成创意的?“我一直都对人与人之间的协作方式很感兴趣。我曾经在其他机构和大学与许多人共事过,他们的工作都需要协同进行。如果他们共处在同一个房间的话,他们肯定会把黑板的各个角落都写满。我当时正在寻找一个可以帮助人们进行头脑风暴和记录项目制度的系统。”16
他认为这种系统可以将相隔遥远的人连接在一起,这样他们就可以互相完善对方未成熟的想法。“我希望它成为一个能够促进我们协同工作和设计的东西。”他说,“这种设计尤其吸引人的地方在于,它可以将散落在世界各地的想法碎片汇聚起来,组成一个完整的解决方案,比如艾滋病的治疗方法,或者是对某种癌症的了解。”17 这个系统的目的是为了促进团队创新(团队成员之间通过头脑风暴完善各自想法的过程)——即使他们并非身处同一个空间。
于是伯纳斯–李重新设计了他的Enquire程序,并开始思考如何进一步扩展它。“我希望处理不同类型的信息,例如研究人员的技术论文、不同软件模块的使用手册、会议记录以及匆忙写下的笔记等。”18 事实上他想做的远远不止于此。在旁人的眼中,他是一个沉稳友善的程序员,但是他的外表之下还埋藏着一颗异想天开的好奇心——一个熬夜阅读《包罗万象》的孩子所拥有的好奇心。他不仅想要设计一个数据管理系统,还渴望创造一个协作的游乐场。“我当时想建立一个创意空间,”他后来说到,“就像是一个可以让所有人同时在里面玩耍的沙坑一样。”19
他在无意中发现了一个可以帮助自己建立这种连接的简单方法:超文本(hypertext),这是现在所有网民都熟知的一个概念。超文本是一个经过编码的单词或短语,它在被点击之后会跳转到另外一个文档或者内容。超文本的概念最初出现在布什对Memex机的描述当中,它在1963年被技术预言家泰德·尼尔森(Ted Nelson)命名为“超文本”,后者曾经设想过一个叫作“Xanadu”的项目。这个项目当中的每一条信息都配有双向的超文本链接,用户可以通过这些链接来回浏览相关的信息。这是一个志向远大的项目,但是它一直没有取得成果。
在加入了超文本之后,作为Enquire程序核心的连接就可以迅速扩散。任何人都可以连接到存放在其他计算机上的文档,连接两端的计算机可以使用不同的操作系统,而且文档的访问者也不需要提前获得许可。“能够使用外部超文本链接的Enquire程序实现了从禁锢到自由的跨越,”他欣喜地说道,“不同的计算机之间可以形成新的网络。”这些网络不会有中央节点,也没有控制中枢。你只需知道某个文档的网络地址就可以连接到它。按照伯纳斯–李的说法,这个由链接组成的系统可以“骑在互联网的背上”传播和蔓延。20 这项创新也是由两项已有的创新结合而成的,而这一次是超文本和互联网之间的结合。
伯纳斯–李利用一台NeXT电脑(这台工作站与个人电脑的完美结合体是乔布斯在被驱逐出苹果公司之后创造的产品)对自己之前开发的一个协议进行了修改,这个叫作“远程过程调用”(Remote Procedure Call)的协议能够让程序调用另外一台计算机的子程序。他制定了一系列命名文档的规则,并把这些规则称为“通用文档标识符”(Universal Document Identifier)。但是负责审核标准的互联网工程特别小组(Internet Engineering Task Force)的成员对这个命名有所保留,他们表示他将自己的方案称为“通用”是一种“傲慢”的表现,于是他同意将“通用”改为“统一”(uniform)。事实上,他最后不得不把整个名字改成“统一资源定位符”(Uniform Resource Locator),简称URL,这就是我们现在每天都要用到的网址,比如http://www.cern.ch。21 到了1990年年底,他已经建立了一套工具来实现他所构想的网络:用于在线交换超文本的超文本传输协议(HTTP),用于创建页面的超文本标记语言(HTML),一个用于检索和显示信息的基础浏览器应用软件,以及一个用于回应网络请求的服务器软件。
1989年3月,伯纳斯–李已经完成了这个项目的筹备工作,并正式向CERN的最高领导层提交了一份申请经费的计划书。“本计划的宗旨是开发一个不断增长和进化的信息库,”他写道,“由带有链接的记录组成的‘网络’会比固定的分层系统更为实用。”22 然而,他的计划书在令人兴奋之余还带来了困惑。“虽然含糊不清,但是很有意思。”他的上司迈克·森德尔(Mike Sendall)在一张便笺上写道。“当我读完蒂姆的计划书之后,”他后来表示,“我并不能很好地理解它,但我认为这是一个不错的想法。”23 为了将他的概念变成现实,这位卓越的发明者发现自己也需要找到一位合作伙伴。
跟数字时代的大多数创新相比,万维网的概念更多地是由一个人推动构建的。尽管如此,伯纳斯–李仍然需要一位搭档才能实现这个概念。幸运的是,他在欧洲核子研究组织内部找到了一位叫作罗伯特·卡里奥(Robert Cailliau)的比利时工程师,后者一直都抱有类似的想法,而且也愿意参与伯纳斯–李的工作。“在超文本与互联网的联姻当中,”伯纳斯–李说道,“罗伯特充当着伴郎的角色。”
举止优雅且世故圆滑的卡里奥是在欧洲核子研究组织内部宣传这个项目的最佳人选,同时也是一位能够把事情做好的项目经理。卡里奥对自己的穿着打扮十分讲究,他会把自己的发型梳得很利落。根据伯纳斯–李的说法,他是“那种会因为不同国家之间的电源插头不兼容而疯掉的工程师。”24 他们两人组成了一种在创意团队当中很常见的合作关系:一位富有远见的产品设计师搭配一位脚踏实地的项目经理。卡里奥很喜欢计划和组织的工作,他表示自己为伯纳斯–李铺平了道路,让他可以“埋头于字节之间专心地开发他的软件”。有一天,卡里奥尝试和伯纳斯–李一起审阅一份项目计划,但卡里奥发现“他根本就不明白我讲的概念”!25 正因为有卡里奥的帮助,伯纳斯–李也不必理解这些概念。
卡里奥的第一项贡献是改进伯纳斯–李之前向欧洲核子研究组织管理层提交的经费申请计划书,他的做法是在保持计划书吸引力的同时让它变得更加清晰明确。他先从计划书的题目《信息管理》着手改进。卡里奥坚持他们需要为这个项目想出一个更引人注目的名字,这应该不会太难。伯纳斯–李想出了几个名字,第一个是“Mine of Information”,但是它的缩写“MOI”在法语里面是“我”的意思,所以这个名字听起来有点过于自我。另外一个想法是“The Information Mine”,但是它的缩写“TIM”就更不妥当了。卡里奥也不喜欢遵循欧洲核子研究组织内部常用的项目命名方式——使用希腊诸神或者埃及法老的名字。后来伯纳斯–李想到了一个直观而清晰的名字。“我们就把它叫作万维网(World Wide Web)吧。”他说道。这是他在原来的计划书里面用到的一个比喻。卡里奥不太赞同这个名字:“我们不能把它改成这个名字,因为它的缩写‘WWW’听起来比它的全称还长!”26 但是伯纳斯–李在私底下也是一个固执的人。“它听上去很不错。”他坚持道。于是这份计划书的标题就被改成了《万维网:一个超文本项目的计划书》(World Wide Web: Proposal for a Hyper Text Project)。万维网从此有了一个正式的命名。
在这个项目被正式采纳之后,欧洲核子研究组织的管理层希望为它申请专利。当卡里奥向伯纳斯–李提起这件事的时候,后者提出了明确的反对。他希望万维网可以尽可能快速地传播和发展,这就意味着它应该是免费开放的。有一次他盯着卡里奥责问道:“罗伯特,你是想发财吗?”根据卡里奥的回忆,他最初的回答是:“它确实有这个作用,不是吗?”27 这是一个不恰当的回应。“他显然不在乎这个,”卡里奥后来意识到,“蒂姆不是为了钱才做这件事的。他的志向可远远不止成为一位首席执行官。”28
伯纳斯–李坚持认为万维网的协议应该免费开放共享,并且永远纳入公共领域。毕竟,万维网的设计初衷就是为了促进分享和协作。欧洲核子研究组织在一份文档中宣布它“放弃该代码的所有知识产权,包括它的源代码以及二进制形式,同时允许任何人使用、复制、修改和再分发它。”29 欧洲核子研究组织最终加入了理查德·斯托尔曼的阵营,并采用了他的GNU通用公共许可证。此举造就了历史上规模最大的免费开源项目之一。
伯纳斯–李的做法反映了他谦逊的个性——他抗拒任何形式的个人吹捧。这种性格源自他的内心深处:他所信仰的一神普救教派(Unitarian Universalist Church)让他形成了一种以同伴共享和尊重为基础的道德观念。“他们的聚会地点是教堂,而不是联网的酒店房间。他们讨论的是正义、和平、冲突和道德等话题,而不是协议和数据格式,但是除此之外,教友之间的互相尊重跟互联网工程特别小组内部的情况是很相似的……互联网和万维网的设计目的是寻找让计算机协调合作的规则,而我们的精神和社会追求是寻找让人与人之间协调合作的规则。”30
虽然很多产品的发布都会伴随一片喧闹的气氛(比如贝尔实验室的晶体管,或者史蒂夫·乔布斯的麦金塔电脑),但是有些重大的创新却会悄无声息地走上历史的舞台。1991年8月6日,伯纳斯–李正在互联网上浏览“alt.hpertext”新闻组的内容,他偶然间看到了这个问题:“有谁了解利用超文本链接检索多种资源……相关的研究或者开发进展?”他给出了一条回复:“from: [email protected] at 2:56 pm”,这句话成为万维网的首个发布宣言。“万维网是一个旨在连接任何地方的任何信息的项目,”他写道,“如果你有兴趣使用这个协议的话,请发邮件告诉我。”31
为人低调的伯纳斯–李发表了一篇比他更低调的帖子,他没有意识到自己公布的想法会产生如何深远的影响——任何地方的任何信息。“我花了大量的时间来确保人们可以将任何东西放到网上,”他在时隔20多年之后说道,“但我当时不知道人们真的会将所有东西都放上去。”32 没错,所有东西都可以在网上找到,确实是“包罗万象”。