第一章 火种
两名黑客
在一年半时间里,也就是我上9年级的期末和整个10年级期间,我发誓不再接触计算机。我试图尽我所能,做一个正常的学生。
——微软公司合伙创始人比尔·盖茨
如果说个人计算机这场革命要等待大型计算机和小型计算机公司来进行,那么它仍然是一件遥远的将来的事情。然而有些人没有耐心坐等下去,个人计算机的极大重要性促使他们采取措施,自己动手去进行这场革命。其中有些人非常年轻。60年代末,在戴维·阿尔对数字设备公司完全丧失耐心之前,保罗·艾伦与他在西雅图的“湖滨中学”的校友正在一家名叫计算机中心公司中打工。这群孩子自愿帮助该公司查找数字设备公司的系统编程员工作中的错误。他们才思敏捷,工作中逐渐表现出有些沾沾自喜。不久他们就给数据设备公司的软件增加了自己的一些修补特性,使程序运行得更快。比尔·盖茨就直言不讳地批评过数据设备公司的某些编程人员,指出他们经常不断地犯同样的编程错误。
也许盖茨的做法显得太过自负了。当然,通过控制这些巨型计算机而获得的快感,使他对自己的能力感到万分惊奇。一天,他开始对计算机的安全系统进行测试。在盖茨非常熟悉的DECTOPS-10这样的分时计算机系统上,许多用户共享同一台机器,他们可以同时使用这台机器。为此,系统中必须配备相应的保护手段,防止一个用户入侵另一个用户的数据文件,或者“破坏”某个程序,使它运行失败并终止运行,甚至更糟糕的是,破坏操作系统,导致整个计算机系统无法运行。盖茨学会了入侵DECTOPS-10系统的方法,后来又掌握了入侵其他计算机系统的手段。他变成了一名黑客,即暗中破坏计算机系统安全的专家。他那一张娃娃脸和朝气蓬勃的样子,使人看不出他是个异常机敏而又果断的青年,他只需在终端上键入14个字符,就能使TOPS-10的整个操作系统陷入瘫痪。他逐渐成为电子恶作剧的行家里手。由于从事黑客活动,使盖茨在某些圈子中名声大震,但是也给他带来了痛苦和不幸。
当盖茨学会了如何轻而易举地破坏数字设备公司的操作系统之后,他又计划实施更大的惊人之举。数字设备公司的系统没有操作员进行管理控制,因此,入侵该系统不会引起任何人的注意,也不会发出报警声响。而在其他系统上,操作员不断监控着各种活动。例如,控制数据公司(CDC)有一个全国性计算机网络,称为Cybernet,该公司声称它在任何时候都是完全可靠的。盖茨偏偏不相信这套说法。在华盛顿大学有一台控制数据公司的计算机与Cybernet网络相连。盖茨开始研究控制数据公司的计算机和软件,他认真研究该网络的技术说明书,就像他在临时准备迎接期末考试一样。他对保罗·艾伦说:“这些是外围处理器,如果想要入侵该系统,首先必须控制其中的一个外围处理器,然后利用它去控制主机,这样你就可以慢慢入侵该系统。”
盖茨开始像工蜂一样入侵控制数据公司的计算机系统蜂房。主机操作员能够观察到盖茨控制的外围处理器的活动情况,但是只能看到发送给操作员终端的消息。这时盖茨发现了如何控制外围处理器发出的所有消息的方法。他希望在系统向外界敞开大门的情况下,仍然保持系统正常运行的假象,以此来欺骗操作员。
这个方案果然奏效,盖茨控制住了一个外围处理器,使他能够以电子手段巧妙地潜入主计算机,并且避开操作员的注意,将同样的“专用”程序植入网络系统的所有计算机中。他的行为导致所有计算机在同一时间内全部瘫痪。盖茨觉得这样很好玩,可是控制数据公司却一点也不感到有什么好玩。盖茨并没有像他自己想像的那样掩盖住自己活动的蛛丝马迹。控制数据公司抓住了他,狠狠地惩罚了他一下。受到羞辱的比尔·盖茨发誓在一年多的时间内不碰计算机。
尽管黑客行为有着很大的危险性,然而它也需要高超的技巧,所有智慧超群的人几乎都有过某种黑客行为。几年后,当盖茨想要建立自己的信誉时,他并没展示自己编写过的一些非常巧妙的程序。他只是说:“我搞坏了控制数据公司的系统。”而大家都认为他并无恶意。
当英特尔公司的8008微处理器问世时,保罗·艾伦准备用它来制造某种产品。他设法让盖茨重新投身于计算机事业,于是他搞到了一份8008微处理器手册,并对盖茨说:“我们应该为8008编写一套BASIC语言。”BASIC是一种简单而又高级的编程语言,在过去的10年中已经广泛应用于小型计算机编程。艾伦建议编写一种BASIC解释程序,将BASIC语句转换成8008指令序列。这样,通过使用BASIC语言编写的程序,任何人都能控制微处理器的运行。这是个很有吸引力的思路,因为艾伦认为,直接通过指令集来控制微处理器的运行,是个极其费力的过程。但是盖茨对此持怀疑态度。8008是最早的8位微处理器,它有着很大的局限性。盖茨对艾伦说,8008是用于制造计算器的芯片,不过他的说法并不十分准确。最后盖茨终于同意帮忙拿出360美元,购买他认为是通过分销商销售的最早的8008芯片。这时,他们的计划又出现了变化,他们得到了第三位热情支持者保罗·吉尔伯特的帮助,由他进行硬件的设计,并且合作用8008制造了一台机器。
几个年轻人制造的这台机器远远称不上是一台计算机,但是它却极其复杂,因此他们不得不将BASIC编程一事暂时搁在一边。他们制造的机器运用他们安装在跨越公路上的一串橡胶管中的传感器搜集的数据,产生出交通流量的统计数据。他们估计这种设备存在相当规模的市场。艾伦编写了相应的开发软件,以便在计算机上模拟他们的机器的运行情况,同时,盖茨运用该开发软件编写了他们的机器需要的实际数据记录软件。
为了使交通流量分析机能够运行,几乎耗费盖茨、艾伦和吉尔伯特一年的时间。当他们在1972年完成这项工作时,他们创办了一家名叫“交通流量数据”(Traf-O-Data)的公司(艾伦说,起这个名字完全是盖茨的主意),并且着手将他们的新产品的销售对象定为市政设施工程技术人员。
交通流量数据公司并未取得他们期望的辉煌成功。也许某些工程师不愿意购买一群乳臭未干的孩子制造的计算机设备。最健谈的盖茨当时年仅16岁,而看上去甚至还不到这个年龄。与此同时,华盛顿州开始向所有县和市的交通控制人员免费提供交通信息处理服务,因此艾伦与盖茨发现自己陷入了与免费服务的激烈竞争之中。
这次出师不利后不久,艾伦就上了大学,留下盖茨暂时无所事事。总部设在华盛顿州温哥华的TRW公司是个生产软件的大公司,该公司了解到盖茨和艾伦在计算机中心公司为查找DEC软件中的错误而做的出色工作之后,便为他们在软件开发部安排了两份工作。这两份工作的年薪大约为3万美元,因此对于这两个学生来说,这是个绝不能放弃的极好机会。于是艾伦离开了大学,盖茨则向中学请了长假,两人一道来到TRW公司打工。在一年半时间里,盖茨与艾伦实现了计算机迷的梦想。他们学到的东西远远超过了在计算机中心公司或者作为交通流量数据公司的创办人时学到的知识。编程员往往不愿意公开他们通过刻苦钻研而获得的知识,然而盖茨懂得如何利用他的年轻所具备的优势,战胜TRW公司的老专家。正如他自己所说,他对其他人“并不构成威胁”,因为他毕竟还是个孩子。
盖茨和艾伦还发现这种工作能够带来很大的经济效益。盖茨买了一艘快艇,两人经常在附近的湖中滑水。但是,编程工作给他们带来了许多其他方面的收获,这比银行账户上与日俱增的存款对他们更具吸引力。显然他们被计算机蠕虫咬住了。他们在计算机中心公司经常开夜车工作到深夜而不计任何报酬,而在TRW公司则甘心情愿地卖力工作着。在计算机的精密运算逻辑中和编程工作的职业道德中,似乎存在着一种不可抗拒的魔力。他们在TRW公司研究的项目最终并没有取得成功,然而两位黑客却从中取得了非常有益的经验。等到1974年圣诞节盖茨考入哈佛大学、艾伦在霍尼韦尔公司谋得一个职位时,他们再一次被计算机蠕虫咬住,而这一次是真正病入膏盲不可救药了。