Hackers: Heroes of the Computer Revolution这本书很早以前就有了,但是在对Hackers and Painters和Coders at Work失望以后,一直没有打算读一读它。直到出了中文版,买了一本来翻一翻,于是大呼万幸。
这是一本极好的书。它没有掺杂个人意志,作者只是站在旁观者的角度去描述那一段史诗般的岁月——而那些时光已经完全被现在的人所遗忘。阅读的过程就是不断震撼的过程,看那些纯粹的人不断地创造历史和挑战自我,仿佛可以呼吸到MIT科技广场大楼9楼的那种嘈杂的空气。
然而这样的场景、这样的人已经很难再有了。为什么无法重现?这是我一直在思考的问题。结果是:外因——钱、内因——复杂。
无论多么崇高脱俗,也不得不承认钱是重要的东西,至少需要用它维持生计(当年有个人为了不被国防部门调去用IBM的烂机器,不得不想办法搞到3K刀付了违约金,然后继续开心地用PDP-1)。当年ARPA为目的不明的基础研究源源不断地支付大笔的费用,仅仅是为了将来国防上需要用到什么的时候,能从这些支助项目里找出一些可用的技术来。赞美你,纯洁的国防部……这些费用支撑起9楼,让这群hackers能无忧无虑地玩spacewar。
然而,慢慢地ARPA开始现实起来,不再撒钱。这成了衰落的最初原因。
随着技术和产业的发展,以及计算机的普及(又是hackers的功劳),也有人发现了其中蕴含的大量商机。这些人包括:内部的、外部的、恶意的。
最典型的内部的例子是Symbolics公司,这个制造了最强大的Lisp机器的企业,不但从MIT分化成为纯商业公司,还不断地从9楼挖人。正好这些人很难拿到ARPA的资助了,于是开始进入商业的圈子。Gosper,这个领袖,就走了这样的道路。而现在,他一边做独立咨询的工作,一边继续玩数学、分形和Game of Life,从未磨灭的兴趣再也无法支撑自己的生活,让人唏嘘不已。
最典型的外部的例子是Microsoft公司,完全不用多说。Gates打破了hackers最优秀的传统和约定,推动法律将代码保护起来并直接卖钱。这一产业开始形成,一方面大量的人发现赚钱是如此容易,另一方面自由交流带来的损失会如此巨大。Gates说他自己是真正的hacker,显然他没读过这本书。
恶意获利的例子来得最晚。最早的恶意代码和恶意攻击都是圈子里的人在展现自己无所不能(就像在9楼做的事一样),甚至第一个rootkit就是Ken Thompson公布出来的。直到八十年代末才出现ransom类的木马,加密了文件以后敲诈受害者,而大规模的获利性攻击直到九十年代中期才出现。无论如何,这些恶意的获利者进一步促使了技术的封闭——虽然这种认为不被人知道就安全了的想法不怎么正确。
接下来看内因。系统的不断复杂使得后来的人很难具有第一代hacker的能力了。
最早,hackers对硬件、系统(哦,操作系统就是他们写出来的)、软件(软件也是他们写的,工具链也是他们写的……)有着无与伦比地了解。主要原因应该是本质地简单。TX-0的操作数前2位指示指令类型,也就意味着它只有4条指令——搞x86开发的人看到这句话一定是泪流满面的。PDP-1也不怎么复杂,而PDP-6干脆就是根据他们的需求设计出来的。为了减少指令,这群人甚至拆开机器,接上几个元件,就给它增加了一条指令——这一切只花了一个晚上。这真是乐土。
不到五十年,一切都变了。再也找不到一个对硬件、操作系统、编译器/汇编器、软件、人工智能都熟练的人。这是任何一种知识发展的必然(最经典的,Poincaré之后,再无全能的数学大师),但也够让人悲哀的。
不仅如此,现在的一切都被封装得妥妥当当。做开发的人再也不许要了解硬件,甚至连内存和CPU都不需要了解,更不会去管指令的手工优化。还有谁会在没有上机时间的情况下把代码写到纸上,精雕细琢?还有谁在现有工具用起来不舒服的时候,自己从头再去写一个?恐怕大部分人连什么是“不舒服”都不清楚,而会去评价并换另一个工具的人反而成为了牛人。
无论如何,复杂+对复杂的透明封装,一方面带来了方便,但另一方面又让人失去了什么。可以赞美这种伟大的现状,但也能从中回想到一些被集体遗忘的东西。