|
hacker
文化简史
*
序曲
: 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`blinkenlight'
文章都是流传久远的老掉牙笑话了。
※译者:
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
,大学成立电算相关科系及电脑网络。它们催生了另一个持续的工程传统,并最终演化为今天的开放代码黑客文化。
早期的黑客
hacker
时代的滥觞始於
1961
年
mit
出现第一台电脑
dec pdp-1
。
mit
的
tech model railroad club(
简称
tmrc)
的
power and signals group
买了这台机器後,把它当成最时髦的科技玩具,各种程式工具与电脑术语开始出现,整个环境与文化一直发展下去至今日。
这在
steven levy
的书
`hackers'
前段有详细的记载
(anchor/doubleday
公司,
1984
年出版,
isbn 0-385-19195-2)
。
※译:
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
也从红极一时到最後淡出舞台。
从
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
的成立。
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(
电脑界的诺贝尔奖
)
的工程师
(
其他都是学者
)
。
这当时是一件不可思议的事!它意味著,如果
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
的。
古老时代的终结
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
机器。
译:
sun
一开始生产的工作站
cpu
是用
motorola 68000
系列,到
1989
才
推出自行研发的以
sparc
系列为
cpu
的
sparcstation
。
私有
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
开发的
x window
了。
x window
成功的关键在完全公开原始码,展现出
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-bit pc
。
机器有了,可以上网了,但软件去哪找?商业的
unix
贵的要命,一套要好几千大洋
($)
。
90
年代早期,开始有公司将
at&t
与
bsd unix
移植到
pc
上出售。
成功与否不论,价格并没有降下来,更要紧的是没有附原始码,你根本不能也不准
修改它,以符合自己的需要或拿去分享给别人。传统的商业软件并没有给
hacker
们真正想要的。
即使是
free software
foundation(fsf)
也没有写出
hacker
想要的操作系统,
rms
承诺的
gnu
操作系统
-- hurd
说了好久了,到
1996
年都没看到影子
(
虽
然
1990
年开始,
fsf
的软件已经可以在所有的
unix
平台执行
)
。
早期的免费
unix
在这空窗期中,
1992
年一位芬兰
helsinki university
的学生
-- linus torvalds
开始在一台
386pc
上发展一个自由软件的
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
文化,一次次被人预测即将毁灭,却在商业软件充斥的世界中,披荆斩棘,
筚路蓝缕,开创出另一番自己的天地。
网络大爆炸时代
linux
能快速成长的来自令一个事实:
internet
大受欢迎,
90
年代早期
isp
如雨後春笋般的冒出来,
world-wide web
的出现,使得
internet
成长的速度,
快到有令人窒息的感觉。
bsd
专案在
1994
正式宣布结束,
hacker
们用的主要是免费的
unix(linux
与一些
4.4bsd
的衍生版本
)
。而
linux cd-rom
销路非常好
(
好到像卖煎饼般
)
。
近几年来
hacker
们主要活跃在
linux
与
internet
发展上。
world wide web
让
internet
成为世界最大的传输媒体,很多
80
年代与
90
年代早期的
hacker
们现在都在经营
isp
。
internet
的盛行,
hacker
文化受到重视并发挥其政治影响力。
94
、
95
年美国政府打算把一些较安全、难解的编码学加以监控,不容许外流与使用。这个称为
clipper proposal
的专案引起了
hacker
们的群起反对与强烈抗议而半途夭折。
96
年
hacker
又发起了另一项抗议运动对付那取名不当的
"communications
decency act"
,誓言维护
internet
上的言论自由。
电脑与
internet
在
21
世纪将是大家不可或缺的生活用品,现代孩子在使用
internet
科技迟早会接触到
hacker
文化。它的故事传奇与哲学,将吸引更多人投入。未来对
hacker
们是充满光明的。
|