转载:译者不明
1 Hacker 文化简史
1.1 序曲: Real Programmer
故事一开始,我要介绍的是所谓的Real Programmer。
他们从不自称是Real Programmer、Hacker 或任何特殊的称号;“Real Programmer”这个名词是在1980 年代
才出现,但早自1945 年起,电脑科学便不断地吸引世界上头脑最顶尖、想像力最丰富的人投入其中。从Eckert
& Mauchly 发明ENIAC 后,便不断有狂热的programmer 投入其中,他们以撰写软件与玩弄各种程序设计技巧为
乐,逐渐形成具有自我意识的一套科技文化。当时这批Real Programmers 主要来自工程界与物理界,他们戴著
厚厚的眼镜, 穿聚酯纤维T恤与纯白袜子,用机器语言、汇编语言、FORTRAN 及很多古老的语言写程序。他
们是Hacker 时代的先驱者,默默贡献,却鲜为人知。
从二次大战结束后到1970 早期,是打卡计算机与所谓“大铁块”的mainframes 流行的年代,由Real Programmer
主宰电脑文化。Hacker 传奇故事如有名的Mel (收录在Jargon File 中)、Murphy's Law 的各种版本、
mock- German “Blinke nlight”文章都是流传久远的老掉牙笑话了。
§译:Jargon File 亦是本文原作者所编写的,里面收录了很多Hacker 用语、缩写意义、传奇故事等等。Jargon
File 有出版成一本书:The New Hacker's Dictionary,MIT PRESS 出版。也有Online 版本: http://www.ccil.org/
jargon
§译:莫非定律是:当有两条路让你抉择,若其中一条会导致失败,你一定会选到它。它有很多衍生说法:
比如一个程序在demo 前测试几千几万次都正确无误,但demo 那一天偏偏就会出bug。
一些Real Programmer 仍在世且十分活跃(本文写在1996 年)。超级电脑Cray 的设计者Seymour Cray, 据说
亲手设计Cray 全部的硬体与其操作系统,作业系统是他用机器码硬干出来的,没有出过任何bug 或error。Real
Programmer 真是超强!
举个比较不那么夸张的例子:Stan Kelly-Bootle,The Devil's DP Dictionary 一书的作者(McGraw-Hill, 1981
年初版,ISBN 0-07-034022-6)与Hacker 传奇专家,当年在一台Manchester Mark I 开发程序。他现在是电脑杂
志的专栏作家,写一些科学幽默小品,文笔生动有趣投今日hackers 所好,所以很受欢迎。其他人像David E.
Lundstorm,写了许多关于Real Programmer 的小故事,收录在A few Good Men From UNIVAC 这本书,1987 年出
版,ISBN-0- 262-62075-8。
§译:看到这里,大家应该能了解,所谓Real Programmer 指的就是用组合语言或甚至机器码,把程序用打卡
机punch 出一片片纸卡片,由主机读卡机输入电脑的那种石器时代Programmer。
Real Programmer 的时代步入尾声,取而代之的是逐渐盛行的Interactive computing,大学成立电算相关科系及
电脑网络。它们催生了另一个持续的工程传统,并最终演化为今天的开放代码黑客文化。
1.2 早期的黑客
Hacker 时代的滥觞始于1961 年MIT 出现第一台电脑DEC PDP-1。MIT 的Tech Model Railroad Club(简称
TMRC)的Power and Signals Group 买了这台机器后,把它当成最时髦的科技玩具,各种程序工具与电脑术语开
始出现,整个环境与文化一直发展下去至今日。这在Steven Levy 的书“Hackers”前段有详细的记载(Anchor/
Doubleday 公司,1984 年出版)
§译:Interactive computing 并非指Windows、GUI、WYSIWYG 等介面,当时有terminal、有shell 可以下指令
就算是Interactive computing 了。最先使用Hacker 这个字应该是MIT。1980 年代早期学术界人工智慧的权威:
MIT 的Artificial Intelligence Laboratory,其核心人物皆来自TMRC。从1969 年起,正好是ARPANET 建置的第一
年, 这群人在电脑科学界便不断有重大突破与贡献。
ARPANET 是第一个横跨美国的高速网络。由美国国防部所出资兴建,一个实验性质的数位通讯网络,逐渐
成长成联系各大学、国防部承包商及研究机构的大网络。各地研究人员能以史无前例的速度与弹性交流资讯,
超高效率的合作模式导致科技的突飞猛进。
ARPANET 另一项好处是,资讯高速公路使得全世界的hackers 能聚在一起,不再像以前孤立在各地形成一
股股的短命文化,网络把他们汇流成一股强大力量。开始有人感受到Hacker 文化的存在,动手整理术语放上
网络, 在网上发表讽刺文学与讨论Hacker 所应有的道德规范。(Jargon File 的第一版出现在1973 年,就是一
个好例子),Hacker 文化在有接上ARPANET 的各大学间快速发展,特别是(但不全是)在信息相关科系。
一开始,整个Hacker 文化的发展以MIT 的AI Lab为中心,但Stanford University 的Artificial Intelligence Laboratory(
简称SAIL)与稍后的Carnegie-Mellon University(简称CMU)正快速崛起中。三个都是大型的资讯科学
研究中心及人工智慧的权威,聚集著世界各地的精英,不论在技术上或精神层次上,对Hacker文化都有极高的
贡献。
为能了解后来的故事,我们得先看看电脑本身的变化;随著科技的进步,主角MIT AI Lab 也从红极一时到
最后淡出舞台。
5
从MIT 那台PDP-1 开始,Hacker 们主要程序开发平台都是Digital Equipment Corporation 的PDP 迷你电脑序
列。DEC 率先发展出商业用途为主的interactive computing 及time-sharing 操作系统,当时许多的大学都是买
DEC 的机器, 因为它兼具弹性与速度,还很便宜(相对于较快的大型电脑mainframe)。便宜的分时系统是
Hacker 文化能快速成长因素之一,在PDP 流行的时代, ARPANET 上是DEC 机器的天下,其中最重要的便
属PDP-10,PDP-10 受到Hacker 们的青睐达十五年;TOPS-10(DEC 的操作系统)与MACRO-10(它的组译
器),许多怀旧的术语及Hacker 传奇中仍常出现这两个字。
MIT 像大家一样用PDP-10,但他们不屑用DEC 的操作系统。他们偏要自己写一个:传说中赫赫有名的
ITS。
ITS 全名是“Incompatible Timesharing System”,取这个怪名果然符合MIT 的搞怪作风── 就是要与众不
同, 他们很臭屁但够本事自己去写一套操作系统。ITS 始终不稳,设计古怪,bug 也不少,但仍有许多独到的
创见,似乎还是分时系统中开机时间最久的纪录保持者。
ITS 本身是用汇编语言写的,其他部分由LISP 写成。LISP 在当时是一个威力强大与极具弹性的程序语言;
事实上,二十五年后的今天,它的设计仍优于目前大多数的程序语言。LISP 让ITS 的Hacker 得以尽情发挥想像
力与搞怪能力。LISP 是MIT AI Lab 成功的最大功臣,现在它仍是Hacker 们的最爱之一。
很多ITS 的产物到现在仍活著;EMACS 大概是最有名的一个,而ITS 的稗官野史仍为今日的Hacker 们所津
津乐道, 就如同你在Jargon File 中所读到的一般。在MIT 红得发紫之际,SAIL 与CMU 也没闲著。SAIL 的中坚
份子后来成为PC 界或图形使用者介面研发的要角。CMU 的Hacker 则开发出第一个实用的大型专家系统与工业
用机器人。
另一个Hacker 重镇是XEROX PARC 公司的Palo Alto Research Center。从1970 初期到1980 中期这十几年间,
PARC 不断出现惊人的突破与发明,不论质或量,软件或硬体方面。如现今的视窗滑鼠介面,雷射印表机与区
域网络; 其D 系列的机器,催生了能与迷你电脑一较长短的强力个人电脑。不幸这群先知先觉者并不受到公司
高层的赏识;PARC 是家专门提供好点子帮别人赚钱的公司成为众所皆知的大笑话。即使如此,PARC 这群人对
Hacker 文化仍有不可抹灭的贡献。1970 年代与PDP-10 文化迅速成长茁壮。Mailing list 的出现使世界各地的人
得以组成许多SIG(Special-interest group),不只在电脑方面,也有社会与娱乐方面的。DARPA 对这些非“正
当性”活动睁一只眼闭一只眼,因为靠这些活动会吸引更多的聪明小夥子们投入电脑领域呢。
有名的非电脑技术相关的ARPANET mailing list 首推科幻小说迷的,时至今日ARPANET 变成Internet, 愈
来愈多的读者参与讨论。Mailing list 逐渐成为一种公众讨论的媒介,导致许多商业化上网服务如CompuServe、
Genie 与Prodigy 的成立。
1.3 Unix 的兴起
此时在新泽西州的郊外,另一股神秘力量积极入侵Hacker 社会,终于席卷整个PDP-10 的传统。它诞生在
1969 年,也就是ARPANET 成立的那一年,有个在AT&T Bell Labs 的年轻小伙子Ken Thompson 发明了Unix。
Thomspon 曾经参与Multics 的开发,Multics 是源自ITS 的操作系统,用来实做当时一些较新的OS 理论, 如
把操作系统较复杂的内部结构隐藏起来,提供一个介面,使的programmer 能不用深入了解操作系统与硬体设
备,也能快速开发程序。
§译:那时的programmer 写个程序必须彻底了解操作系统内部,或硬体设备。比方说写有IO 的程序,对于
硬碟的转速,磁轨与磁头数量等等都要搞的一清二楚才行。
在发现继续开发Multics 是做白工时,Bell Labs 很快的退出了(后来有一家公司Honeywell 出售Multics,赔
的很惨)。Ken Thompson 很喜欢Multics 上的作业环境,于是他在实验室里一台报废的DEC PDP-7 上胡乱写了
一个操作系统, 该系统在设计上有从Multics 抄来的也有他自己的构想。他将这个操作系统命名Unix,用来反
讽Multics。
§译:其实是Ken Thompson 写了一个游戏“Star Travel”没地方跑,就去找一台的报废机器PDP-7 来玩。他
同事Brian Kernighan 嘲笑Ken Thompson 说:“你写的系统好逊哦,干脆叫Unics 算了。”(Unics 发音与太监的
英文eunuches 一样),后来才改为Unix。
他的同事Dennis Ritchie,发明了一个新的程序语言C,于是他与Thompson 用C 把原来用汇编语言写的Unix
重写一遍。C 的设计原则就是好用,自由与弹性,C 与Unix 很快地在Bell Labs 得到欢迎。1971 年Thompson 与
Ritchie 争取到一个办公室自动化系统的专案,Unix 开始在Bell Labs 中流行。不过Thompson 与Ritchie 的雄心壮
志还不止于此。
那时的传统是,一个操作系统必须完全用汇编语言写成,始能让机器发挥最高的效能。Thompson 与
Ritchie, 是头几位领悟硬体与编译器的技术,已经进步到作业系统可以完全用高阶语言如C 来写,仍保有不错
的效能。五年后, Unix 已经成功地移植到数种机器上。
§译:Ken Thompson 与Dennis Ritchie 是唯一两位获得Turing Award(电脑界的诺贝尔奖)的工程师(其他都
是学者)。
6
这当时是一件不可思议的事!它意味著,如果Unix 可以在各种平台上跑的话,Unix 软件就能移植到各种机
器上。再也用不著为特定的机器写软件了,能在Unix 上跑最重要,重新发明轮子已经成为过去式了。
除了跨平台的优点外,Unix 与C 还有许多显著的优势。Unix 与C 的设计哲学是“Keep It Simple, Stupid!”。
programmer 可以轻易掌握整个C的逻辑结构(不像其他之前或以后的程序语言)而不用一天到晚翻手册写程序。
而Unix 提供许多有用的小工具程序,经过适当的组合(写成Shell script 或Perl script),可以发挥强大的威力。
§注:The C Programming Language 是所有程序语言书最薄的一本,只有两百多页哦。作者是Brian Kernighan
与Dennis Ritchie,所以这本C 语言的圣经又称“K&R”。
§注:“Keep It Simple, Stupid!”简称KISS,今日Unix 已不follow 这个原则,几乎所有Unix 都是要灌一堆有
的没的utilities,唯一例外是MINIX。
C 与Unix 的应用范围之广,出乎原设计者之意料,很多领域的研究要用到电脑时,他们是最佳拍档。尽管
缺乏一个正式支援的机构,它们仍在AT&T 内部中疯狂的散播。到了1980 年,已蔓延到大学与研究机构,还有
数以千计的hacker 想把Unix 装在家里的机器上。
当时跑Unix 的主力机器是PDP-11、VAX 系列的机器。不过由于UNIX 的高移植性,它几乎可安装在所有
的电脑机型上。一旦新型机器上的UNIX 安装好,把软件的C 原始码抓来重新编译就一切OK 了,谁还要用汇
编语言来开发软件? 有一套专为UNIX 设计的网络── UUCP:一种低速、不稳但很成本低廉的网络。两台
UNIX 机器用条电话线连起来,就可以使用互传电子邮件。UUCP 是内建在UNIX 系统中的,不用另外安装。于
是UNIX 站台连成了专属的一套网络,形成其Hacker 文化。在1980 第一个USENET 站台成立之后,组成了一
个特大号的分散式布告栏系统,吸引而来的人数很快地超过了ARPANET。
少数UNIX 站台有连上ARPANET。PDP-10 与UNIX 的Hacker 文化开始交流, 不过一开始不怎么愉快就是
了。PDP-10 的Hacker 们觉得UNIX 的拥护者都是些什么也不懂的新手,比起他们那复杂华丽,令人爱不释手
的LISP 与ITS,C 与UNIX 简直原始的令人好笑。“一群穿兽皮拿石斧的野蛮人”他们咕哝著。
在这当时,又有另一股新潮流风行起来。第一部PC 出现在1975 年;苹果电脑在1977 年成立,以飞快的速
度成长。微电脑的潜力,立刻吸引了另一批年轻的Hackers。他们最爱的程序语言是BASIC,由于它过于简陋,
PDP-10 的死忠派与UNIX 迷们根本不屑用它,更看不起使用它的人。
§译:这群Hacker 中有一位大家一定认识,他的名字叫Bill Gates,最初就是他在8080 上发展BASIC compiler
的。
1.4 古老时代的终结
1980 年同时有三个Hacker 文化在发展,尽管彼此偶有接触与交流,但还是各玩各的。ARPANET/PDP-10 文
化, 玩的是LISP、MACRO、TOPS-10 与ITS。UNIX 与C 的拥护者用电话线把他们的PDP-11 与VAX 机器串起
来玩。还有另一群散乱无秩序的微电脑迷,致力于将电脑科技平民化。
三者中ITS 文化(也就是以MIT AI LAB 为中心的Hacker 文化)可说在此时达到全盛时期, 但乌云逐渐笼罩
这个实验室。ITS 赖以维生的PDP-10 逐渐过时,开始有人离开实验室去外面开公司,将人工智慧的科技商业
化。MIT AI Lab 的高手挡不住新公司的高薪挖角而纷纷出走,SAIL 与CMU 也遭遇到同样的问题。
§译:这个情况在GNU 宣言中有详细的描述,请参阅:(特别感谢由AKA 的chuhaibo 翻成中文) http:
//www.aka.citf.net/Magazine/Gnu/manifesto.html
致命一击终于来临,1983 年DEC 宣布:为了要集中在PDP-11 与VAX 生产线, 将停止生产PDP-10;ITS
没搞头了,因为它无法移植到其他机器上,或说根本没人办的到。而Berkeley Univeristy 修改过的UNIX 在新型
的VAX 跑得很顺,是ITS 理想的取代品。有远见的人都看得出,在快速成长的微电脑科技下,Unix 一统江湖是
迟早的事。
差不多在此时Steven Levy 完成“Hackers”这本书,主要的资料来源是Richard M. Stallman(RMS) 的故事,
他是MIT AI Lab 领袖人物,坚决反对实验室的研究成果商业化。
Stallman 接著创办了Free Software Foundation,全力投入写出高品质的自由软件。Levy 以哀悼的笔调描述他
是“the last true hacker”,还好事实证明Levy 完全错了。
§译:Richard M. Stallman 的相关事迹请参考: http://www.aka.citf.net/Magazine/Gnu/cover.htm
Stallman 的宏大计划可说是80 年代早期Hacker 文化的缩影── 在1982 年他开始建构一个与UNIX 相容
但全新的操作系统,以C 来写并完全免费。整个ITS 的精神与传统,经由RMS 的努力,被整合在一个新的,
UNIX 与VAX 机器上的Hacker 文化。微电脑与区域网络的科技,开始对Hacker 文化产生影响。Motorola 68000
CPU 加Ethernet 是个有力的组合,也有几家公司相继成立生产第一代的工作站。1982 年,一群Berkeley 出来的
UNIX Hacker 成立了Sun Microsystems,他们的算盘打的是:把UNIX 架在以68000 为CPU 的机器,物美价廉又
符合多数应用程序的要求。他们的高瞻远嘱为整个工业界树立了新的里程碑。虽然对个人而言,工作站仍太昂
贵,不过在公司与学校眼中,工作站真是比迷你电脑便宜太多了。在这些机构里,工作站(几乎是一人一台)
很快地取代了老旧庞大的VAX 等timesharing 机器。
7
§译:Sun 一开始生产的工作站CPU 是用Motorola 68000 系列,到1989 才推出自行研发的以SPARC 系列为
CPU 的SPARC station。
1.5 私有Unix 时代
1984 年AT&T 解散了,UNIX 正式成为一个商品。当时的Hacker 文化分成两大类,一类集中在Internet 与
USENET 上(主要是跑UNIX 的迷你电脑或工作站连上网络),以及另一类PC 迷,他们绝大多数没有连上
Internet。
§译:台湾在1992 年左右连上Internet 前,玩家们主要以电话拨接BBS 交换资讯,但是有区域性的限制,发
展性也大不如USENET。Sun 与其他厂商制造的工作站为Hacker 们开启了另一个美丽新世界。工作站诉求的是
高效能的绘图与网络,1980 年代Hacker 们致力为工作站撰写软件,不断挑战及突破以求将这些功能发挥到百
分之一百零一。Berkeley 发展出一套内建支援ARPANET protocols 的UNIX,让UNIX 能轻松连上网络,Internet
也成长的更加迅速。
除了Berkeley 让UNIX 网络功能大幅提升外,尝试为工作站开发一套图形界面也不少。最有名的要算MIT 开
发的Xwindow 了。Xwindow 成功的关键在完全公开原始码,展现出Hacker 一贯作风,并散播到Internet上。X 成
功的干掉其他商业化的图形界面的例子,对数年后UNIX 的发展有著深远的启发与影响。少数ITS 死忠派仍在
顽抗著,到1990 年最后一台ITS 也永远关机长眠了;那些死忠派在穷途末路下只有悻悻地投向UNIX 的怀抱。
UNIX 们此时也分裂为Berkeley UNIX 与AT&T 两大阵营,也许你看过一些当时的海报,上面画著一台钛翼
战机全速飞离一个爆炸中、上面印著AT&T 的商标的死星。Berkeley UNIX 的拥护者自喻为冷酷无情的公司帝
国的反抗军。就销售量来说,AT&T UNIX 始终赶不上BSD/Sun,但它赢了标准制订的战争。到1990 年,AT&T
与BSD 版本已难明显区分,因为彼此都有采用对方的新发明。随著90 年代的来到,工作站的地位逐渐受到新
型廉价的高档PC 的威胁,他们主要是用Intel 80386 系列CPU。第一次Hacker 能买一台威力等同于十年前的迷
你电脑的机器,上面跑著一个完整的UNIX,且能轻易的连上网络。沈浸在MS-DOS 世界的井底蛙对这些巨变
仍一无所知,从早期只有少数人对微电脑有兴趣,到此时玩DOS 与Mac 的人数已超过所谓的“网络民族”的
文化,但他们始终没成什么气候或搞出什么飞机,虽然聊有佳作光芒乍现,却没有稳定发展出统一的文化传
统,术语字典,传奇故事与神话般的历史。它们没有真正的网络,只能聚在小型的BBS 站或一些失败的网络
如FIDONET。提供上网服务的公司如CompuServe 或Genie 生意日益兴隆,事实显示non-UNIX 的操作系统因为
并没有内附如compiler 等程序发展工具,很少有source 在网络上流传,也因此无法形成合作开发软件的风气。
Hacker 文化的主力,是散布在Internet 各地,几乎可说是玩UNIX 的文化。他们玩电脑才不在乎什么售后服务之
类,他们要的是更好的工具、更多的上网时间、还有一台便宜32-bitPC。
机器有了,可以上网了,但软件去哪找?商业的UNIX 贵的要命,一套要好几千大洋($)。90 年代早期,
开始有公司将AT&T 与BSD UNIX 移植到PC 上出售。成功与否不论,价格并没有降下来,更要紧的是没有附原
始码, 你根本不能也不准修改它,以符合自己的需要或拿去分享给别人。传统的商业软件并没有给Hacker 们
真正想要的。
即使是Free Software Foundation(FSF)也没有写出Hacker 想要的操作系统,RMS 承诺的GNU 操作系统──
HURD 说了好久了,到1996 年都没看到影子(虽然1990 年开始,FSF 的软件已经可以在所有的UNIX 平台执
行)。
1.6 早期的免费Unix
在这空窗期中,1992 年一位芬兰Helsinki University 的学生── Linus Torvalds 开始在一台386 PC 上发展一
个自由软件的UNIX kernel,使用FSF 的程序开发工具。
他很快的写好简单的版本,丢到网络上分享给大家,吸引了非常多的Hacker 来帮忙一起发展Linux ── 一
个功能完整的UNIX,完全免费且附上全部的原始码。Linux 最大的特色,不是功能上的先进而是全新的软件
开发模式。直到Linux 的成功前,人人都认为像操作系统这么复杂的软件,非得要靠一个开发团队密切合作,
互相协调与分工才有可能写的出来。商业软件公司与80 年代的Free Software Foundation 所采用都是这种发展模
式。
Linux 则迥异于前者。一开始它就是一大群Hacker 在网络上一起涂涂抹抹出来的。没有严格品质控制与高
层决策发展方针,靠的是每周发表新版供大家下载测试,测试者再把bug 与patch 贴到网络上改进下一版。一
种全新的物竞天择、去芜存菁的快速发展模式。令大夥傻眼的是,东修西改出来的Linux,跑的顺极了。
1993 年底,Linux 发展趋于成熟稳定,能与商业的UNIX 一分高下,渐渐有商业应用软件移植到Linux 上。
不过小型UNIX 厂商也因为Linux 的出现而关门大吉,因为再没有人要买他们的东西。幸存者都是靠提供BSD
为基础的UNIX 的完整原始码,有Hacker 加入发展才能继续生存。
Hacker 文化,一次次被人预测即将毁灭,却在商业软件充斥的世界中,披荆斩棘,筚路蓝缕,开创出另一
番自己的天地。
1.7 网络大爆炸时代
Linux 能快速成长的来自令一个事实:Internet 大受欢迎,90 年代早期ISP 如雨后春笋般的冒出来, World-
WideWeb 的出现,使得Internet 成长的速度,快到有令人窒息的感觉。
BSD 专案在1994 正式宣布结束,Hacker 们用的主要是免费的UNIX(Linux与一些4.4 BSD 的衍生版本)。
而Linux CD-ROM 销路非常好(好到像卖煎饼般)。近几年来Hacker 们主要活跃在Linux 与Internet 发展上。
World Wide Web 让Internet 成为世界最大的传输媒体,很多80 年代与90 年代早期的Hacker 们现在都在经营
ISP。
Internet 的盛行,Hacker 文化受到重视并发挥其政治影响力。94、95 年美国政府打算把一些较安全、难解的
编码学加以监控,不容许外流与使用。这个称为Clipper proposal 的专案引起了Hacker 们的群起反对与强烈抗议
而半途夭折。96 年Hacker 又发起了另一项抗议运动对付那取名不当的"Communications DecencyAct",誓言维护
Internet 上的言论自由。
电脑与Internet 在21 世纪将是大家不可或缺的生活用品,现代孩子在使用Internet 科技迟早会接触到Hacker
文化。它的故事传奇与哲学,将吸引更多人投入。未来对Hacker 们是充满光明的。