书城计算机黑客
2816200000008

第8章 黑客道德(1)

一些全新的概念正围绕着TX-0诞生,这是一种包含哲学、道德和梦想的全新生活方式。

TX-0的黑客们以前从来没有意识到,如果他们能像修道士那样全身心地将自己的技术能力奉献给计算机科学,那么他们就会成为人与机器之间开创性共生关系的先驱。像改装高速车的年轻人痴迷于加大引擎马力一样,他们具有同样的热情,把这种几乎独一无二的氛围当做是理所当然的事情。尽管在那个时候,文化元素正在形成,传奇经历正在诞生,他们的编程技术也已经超越了以往的任何水平,但这十几个黑客仍然不愿意承认他们这个能够与TX-0亲密接触的小团体正在缓慢而悄悄地形成一个体系,一个融合了概念、信仰以及更多东西的体系。

具有革命性意义的黑客道德并没有经过太多的讨论和辩论,大家心有灵犀地达成了一致。既没有发表什么宣言,也没有传教士似的说教和转化。是计算机实现了这种转化,那些最为忠实地遵循黑客道德的人是像萨姆森、桑德斯和考托克这样的人,他们在进入MIT之前的生活好像只是为他们能够坐在TX-0控制台后面实现自己价值做铺垫。以后,还会出现比TX-0黑客更为认真地遵循黑客道德的黑客,比如格林布莱特或高斯珀这样的传奇式人物,但在黑客主义宗旨被明确定义之前,这依然需要若干年的时间。

不过,即使是在TX-0的时代,这种纲领的要点也已经形成了。黑客道德是:对计算机的访问(以及任何可能帮助你认识我们这个世界的事物)应该是不受限制的、完全的。任何人都有动手尝试的权利!

黑客们相信,通过将东西拆开,了解它们的工作原理,并根据这种理解创造新奇的甚至更有趣的东西,可以学习到关于系统(关于世界)的重要知识。他们痛恨一切试图阻止他们这么做的人、物理障碍或者法律。

在黑客想要修复(他认为)已被破坏或需要完善的东西时,这种信念尤其强烈。不完美的系统会激怒黑客,其原始本能就是去调试系统。这也是黑客们通常讨厌开车的一个原因:毫无规律可言的信号灯系统以及设计得千奇百怪的单行道是造成交通拥堵的罪魁祸首,而这些交通拥堵是完全可以避免的。他们甚至会冲动地想要重新摆放路标、打开信号灯控制箱……重新设计整个系统。

在完美的黑客世界里,任何被激怒的人都可以打开交通信号灯旁边的控制箱,将它拆下来并改进其工作效率,这种尝试应该大受欢迎。那些阻止你自己动手处理这种事情的规则都太荒谬了,根本不用考虑去遵守。正是在这种态度的影响下,TMRC以完全非正规的方式开办了“午夜征用委员会”(M idnight Requisitioningcommittee)。如果TMRC需要一套二极管或一些额外的继电器来为系统搭建一些新功能,则几个S&P成员会等到天黑后来到存放这些东西的地点。一般来说,这些黑客在其他方面会保持着严谨的诚实态度,但是他们似乎不会把这种行为与“偷窃”划上等号。这是故意的视而不见。

所有的信息都应该可以自由获取。

如果你不能访问用来完善系统的信息,那么怎么能够修复它们呢?信息的自由交流,特别是以计算机程序形式存在的信息,能够提高整体的创造力。如果在像TX-0这样几乎没有附带任何软件的机器上工作,每个人都得编写大量系统程序,以便更轻松地进行编程,这就是“创建工具的工具”(Tools to Make Tools),这些程序会保存在控制台下的抽屉中,任何使用这台机器的人都可以轻松拿到。这避免了重复做无用功这一可怕且浪费时间的古旧陋习:程序的最佳版本应该对所有人开放,每个人都可以自由地钻研代码并进行完善,而不是每个人编写同一个程序的自己的版本。如此一来,这个世界将充满功能完善的程序,不但具有最少的错误,而且可调试至完美状态。

“信息应该是自由的”这种信念(有时被无条件地接受)最直接地体现在那些优秀的计算机或计算机程序中——二进制位流会以完成其复杂职责所必需的最为直接且符合逻辑的途径移动。计算机不就是从信息自由流动中受益的东西吗?打个比方,如果累加器发现自己无法从磁带等读取设备或交换机之类的输入/输出(I/O)设备中获取信息,那么整个系统将会崩溃。从黑客的角度来说,任何系统都能从自由流动的信息流中获益。

不迷信权威——促进分权。

要促进这种信息的自由交流,最好的方法是拥有一个开放式系统,不要在黑客和信息或设备之间设置任何界限,因为这些都是他们追求知识、改进和联机所需要的东西。

IBM的计算机之所以是批处理的“巨人”4,真空管技术只是其中一部分原因。真正的原因是IBM不理解黑客的冲动。如果IBM自行其是(TMRC的黑客们这么认为),则世界将会被搭建在那些令人恼怒的小穿孔卡片上批处理,并且只有享有最高特权的“牧师”才允许与计算机进行实际交互。

你可以逛逛计算中心,那里放着704和709机器,后来又放入了7090机器,这些是IBM能提供的最好产品了。你会看到,在中心里,所有的一切均井然有序,这令人窒息,而未获批准的人员是无法进入这里的。你可以将这些与TX-0所处的完全非正规环境做个对比。

目前,IBM已经做了许多事情并且将继续促进计算的发展。由于其具有庞大的规模和强大的影响力,IBM已经让计算机成为美国人生活中不可或缺的一部分。对于许多人来说,“IBM”和“计算机”基本上是同义词。IBM的计算机是可靠的工作机器,完全值得商业人士和科学家对其的信任。这种现象的出现部分归功于IBM的保守工作方式:它不会创造技术上最先进的机器,而是依靠已经成熟的概念以及认真积极的营销活动。IBM已经在计算机领域建立了统治地位,因此它已成为一个自成体系的帝国,神秘而自得。

真正让黑客生气的是IBM各层管理人员的态度,他们似乎认为只有IBM才能生产出“真正”的计算机。你无法与这些人沟通,没办法说服他们。他们是批处理世界中的人,这不仅体现在他们对计算机的偏爱上,还表现在他们对计算中心以及世界应有的运行方式的看法。这些人永远无法理解分散式系统的显著优越性,没有人发号施令——通过这样的系统,人们可以按照自己的兴趣来行动;而如果在这个过程中他们发现了系统中的缺陷,可以大胆地着手进行改造。不需要填写申请表,只有完成这些事情的需求。

这种渴望平等自由的倾向恰好与许多黑客的个性相符,他们自孩童时代就爱好科学项目,而他们的同学却热衷于在体育场上奔跑和学习社交技能。这些一度被同龄人疏远的早熟少年发现计算机是个奇妙的东西,这使他们找到了平衡,他们体验到了一种情感,彼得.萨姆森将这形容为“就像你打开了门,走进了一个全新的宇宙……”一旦走出那扇门,坐在价值数百万美元的计算机控制台前,黑客便充满了能量。因此,黑客不信任任何试图限制这种能量的势力,这是再自然不过的事情了。

评判黑客的标准应该是他们的技术,而不是那些没有实际用途的指标,比如学位、年龄、种族或职位。

TX-0社团(而不是那些非黑客的研究生)乐于接受年仅12岁的彼得.多伊奇就是个很好的示例。同样,带着似乎让人印象深刻的证书急匆匆进入TX-0社团的人往往不会被重视,直到他们能够在计算机的控制台后面证明自己的能力。这种精英主义的特征并不一定来源于黑客心中与生俱来的善良——这主要是因为黑客不太会关注他人表面上显露的品质,而会更多地关心他们的真实技术水平,更看重他们编写优秀程序的潜力,以及是否能够为系统提出新的功能。

你可以在计算机上创造出艺术与美。

萨姆森编写的音乐程序就是这样的示例。但对于黑客来说,程序的艺术并不存在于从联机的扬声器中发出的动听声音。程序的代码有自己固有的美感。(但是,萨姆森却非常不愿意为他的代码添加注释以解释代码的功能。他曾编写过一个优秀的分布式程序,里面有数百条汇编语言指令,而只有一条包含数字1750的指令旁边附加了一条注释。这条注释是RIPJSB,人们绞尽脑汁也想不出其含义,直到有人指出1750是Bach(作曲家巴赫)去世的年份,因此萨姆森写的注释应该是“Rest In PeaceJohann Sebastian Bach”(安息吧,约翰。塞巴斯蒂安。巴赫)的缩写。

某种对编程风格的审美观出现了。由于TX-0的内存空间有限(对于那个年代所有的计算机而言,这都是一个障碍),黑客们非常欣赏通过很少的指令实现复杂任务的创新技术。程序越短,留给其他程序的空间就越多,程序也会运行得越快。在某些时候,如果不需要过快的速度或很多的空间,也没有考虑到程序的艺术与美,那么你会编写一个看起来不够优雅的程序,这个程序只是用“蛮力”解决当前的问题。

“嗯,我们可以添加20个数字来实现它,”萨姆森可能会自言自语地说,“编写指令来实现更快,而不是开始想出一个循环,最后再用七八条指令来实现同样的工作。”但是同行们可能会崇拜后一种程序,有些程序用最艺术的方式将行数压缩到最少,创作者的同事们看到这种程序时会佩服得五体投地。

有时,程序压缩会成为一种带有竞争意味的事情,好像是用来证明自己在控制系统方面能力的比赛,看谁能挖掘出删去一两条指令的美妙捷径,或者更好的是,重新思考整个问题并设计出可以去掉一整块指令的新算法。(算法是一种具体的流程,我们可以用它来解决复杂的计算机问题,它是一种数学上的万能钥匙。)实现程序缩减最为明显的方式是不按常理思考,从之前从未有人想到但仔细想来却完全合理的非传统角度来处理问题。那些能够应用这种奇妙技术的人,身体里一定流淌着艺术创作的血液,这种技术就像魔术般神奇而充满想象,于是人们可以摆脱那些陈腐观点的束缚,创造出完全超乎人们想象的新算法。