黑客道简史

黑客道简史
作者: 埃里克.雷蒙德
   
    本篇原作者为EricS.Raymond,他是一位大哥级的Hacker,写了很多自由软件

,知名著作有JargonFile等,近年来发表“大教堂与集市”论文为Opensource

software努力,Netscape愿意公开Navigator的原始码,与这篇文章有很大的关系。
  序曲:RealProgrammer

  故事一开始,我要介绍的是所谓的RealProgrammer。


  他们从不自称是RealProgrammer、Hacker或任何特殊的称号;

`RealProgrammer'这个名词是在1980年代才出现,但早自1945年起,电脑科学便不

断地吸引世界上头脑最顶尖、想像力最丰富的人投入其中。从Eckert&Mauchly发明

ENIAC後,便不断有狂热的programmer投入其中,他们以撰写软件与玩弄各种程式

设计技巧为乐,逐渐形成具有自我意识的一套科技文化。当时这批

RealProgrammers主要来自工程界与物理界,他们戴著厚厚的眼镜,穿聚酯纤维T恤

与纯白袜子,用机器语言、汇编语言、FORTRAN及很多古老的语言写程式。他们是

Hacker时代的先驱者,默默贡献,却鲜为人知。


  从二次大战结束後到1970早期,是打卡计算机与所谓"大铁块"的mainframes

流行的年代,由RealProgrammer主宰电脑文化。Hacker传奇故事如有名的Mel(收录

在JargonFile中)、Murphy'sLaw的各种版本、mockGerman`Blinke_nlight'文章都

是流传久远的老掉牙笑话了。


  ※译者:

  JargonFile亦是本文原作者所编写的,里面收录了很多Hacker用语、缩写意义

、传奇故事等等。JargonFile有出版成一本书:TheNewHacker'sDictionary,

MITPRESS出版。也有Online版本:http://www.ccil.org/jargon


  ※译者:

  莫非定律是:当有两条路让你抉择,若其中一条会导致失败,你一定会选到它

。它有很多衍生说法:比如一个程式在demo前测试几千几万次都正确无误,但demo

那一天偏偏就会出bug。


  一些RealProgrammer仍在世且十分活跃(本文写在1996年)。超级电脑Cray的设

计者SeymourCray,据说亲手设计Cray全部的硬体与其操作系统,作业系统是他用

机器码硬干出来的,没有出过任何bug或error。RealProgrammer真是超强!


  举个比较不那么夸张的例子:StanKellyBootle,TheDevil'sDPDictionary一

书的作者(McGrawHill,1981年初版,ISBN0-07-034022-6)与Hacker传奇专家,当

年在一台ManchesterMarkI开发程式。他现在是电脑杂志的专栏作家,写一些科学

幽默小品,文笔生动有趣投今日hackers所好,所以很受欢迎。其他像

DavidE.Lundstorm,写了许多关於RealProgrammer的小故事,收录在

AfewGoodMenFromUNIVAC这本书,1987年出版,ISBN-0-262-62075-8。


  ※译:看到这里,大家应该能了解,所谓RealProgrammer指的就是用组合语言

或甚至机器码,把程式用打卡机punch出一片片纸卡片,由主机读卡机输入电脑的

那种石器时代Programmer。


  RealProgrammer的时代步入尾声,取而代之的是逐渐盛的

Interactivecomputing,大学成立电算相关科系及电脑网络。它们催生了另一个持

续的工程传统,并最终演化为今天的开放代码黑客文化。


  早期的黑客


  Hacker时代的滥觞始於1961年MIT出现第一台电脑DECPDP-1。MIT的
TechModelRailroadClub(简称TMRC)的Power andSignalsGroup买了这台机器後,把
它当成最时髦的科技玩具,各种程式工具与电脑术语开始出现,整个环境与文化一

直发展下去至今日。这在StevenLevy的书`Hackers'前段有详细记载

(Anchor/Doubleday公司,1984年出版,

 

  ※译:Interactivecomputing并非指Windows、GUI、WYSIWYG等介面,当时有

terminal、有shell可以下指令就算是Interactivecomputing了。最先使用Hacker

这个字应该是MIT。1980年代早期学术界人工智慧的权威:MIT的

ArtificialIntelligenceLaboratory,其核心人物皆来自TMRC。从1969年起,正好

是ARPANET建置的第一年,这群人在电脑科学界便不断有重大突破与贡献。


  ARPANET是第一个横跨美国的高速网络。由美国国防部所出资兴建,一个实验

性质的数位通讯网络,逐渐成长成联系各大学、国防部承包商及研究机构的大网络

。各地研究人员能以史无前例的速度与弹性交流资讯,超高效率的合作模式导致科

技的突飞猛进。


  ARPANET另一项好处是,资讯高速公路使得全世界的hackers能聚在一起,不再

像以前孤立在各地形成一股股的短命文化,网络把他们汇流成一股强大力量。开始

有人感受到Hacker文化的存在,动手整理术语放上网络,在网上发表讽刺文学与讨

论Hacker所应有的道德规范。(JargonFile的第一版出现在1973年,就是一个好例

子),Hacker文化在有接上ARPANET的各大学间快速发展,特别是(但不全是)在信息

相关科系。


  一开始,整个Hacker文化的发展以MIT的AILab为中心,但StanfordUniversity

的ArtificialIntelligenceLa_boratory(简称SAIL)与稍後的

CarnegieMellonUniversity(简称CMU)正快速崛起中。三个都是大型的资讯科学研

究中心及人工智慧的权威,聚集著世界各地的精英,不论在技术上或精神层次上,

对Hacker文化都有极高的贡献。


  为能了解後来的故事,我们得先看看电脑本身的变化;随著科技的进步,主角

MITAILab也从红极一时到最後淡出舞台。


  从MIT那台PDP-1开始,Hacker们主要程式开发平台都是

DigitalEquipmentCorporation的PDP迷你电脑序列。DEC率先发展出商业用途为主

的interactivecomputing及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全名是`IncompatibleTimesharingSystem',取这个怪名果然符合MIT的搞

怪作风--就是要与众不同,他们很臭屁但够本事自己去写一套操作系统。ITS始终

不稳,设计古怪,bug也不少,但仍有许多独到的创见,似乎还是分时系统中开机

时间最久的纪录保持者。


  ITS本身是用汇编语言写的,其他部分由LISP写成。LISP在当时是一个威力强

大与极具弹性的程式语言;事实上,二十五年後的今天,它的设计仍优於目前大多

数的程式语言。LISP让ITS的Hacker得以尽情发挥想像力与搞怪能力。LISP是

MITAILab成功的最大功臣,现在它仍是Hacker们的最爱之一。


  很多ITS的产物到现在仍活著;EMACS大概是最有名的一个,而ITS的稗官野史

仍为今日的Hacker们所津津乐道,就如同你在JargonFile中所读到的一般。在MIT

红得发紫之际,SAIL与CMU也没闲著。SAIL的中坚份子後来成为PC界或图形使用者

介面研发的要角。CMU的Hacker则开发出第一个实用的大型专家系统与工业用机器

人。


  另一个Hacker重镇是XEROXPARC公司的PaloAltoResearchCenter。从1970初期

到1980中期这十几年间,PARC不断出现惊人的突破与发明,不论质或量,软件或硬

体方面。如现今的视窗滑鼠介面,雷射印表机与区域网络;其D系列的机器,催生

了能与迷你电脑一较长短的强力个人电脑。不幸这群先知先觉者并不受到公司高层

的赏识;PARC是家专门提供好点子帮别人赚钱的公司成为众所皆知的大笑话。即使

如此,PARC这群人对Hacker文化仍有不可抹灭的贡献。1970年代与PDP-10文化迅速

成长茁壮。Mailinglist的出现使世界各地的人得以组成许多SIG

(Specialinterestgroup),不只在电脑方面,也有社会与娱乐方面的。DARPA对这

些非`正当性'活动睁一只眼闭一只眼,因为靠这些活动会吸引更多的聪明小夥子们

投入电脑领域呢。


  有名的非电脑技术相关的ARPANETmailinglist首推科幻小说迷的,时至今日

ARPANET变成Internet,愈来愈多的读者参与讨论。Mailinglist逐渐成为一种公众

讨论的媒介,导致许多商业化上网服务如CompuServe、Genie与Prodigy的成立。


Unix的兴起


  此时在新泽西州的郊外,另一股神秘力量积极入侵Hacker社会,终於席卷整个

PDP-10的传统。它诞生在1969年,也就是ARPANET成立的那一年,有个在

AT&TBellLabs的年轻小夥子KenThompson发明了Unix。


  Thomspon曾经参与Multics的开发,Multics是源自ITS的操作系统,用来实做

当时一些较新的OS理论,如把操作系统较复杂的内部结构隐藏起来,提供一个介面

,使的programmer能不用深入了解操作系统与硬体设备,也能快速开发程式。


  译:那时的programmer写个程式必须彻底了解操作系统内部,或硬体设备。比

方说写有IO的程式,对於硬碟的转速,磁轨与磁头数量等等都要搞的一清二楚才行


  在发现继续开发Multics是做白工时,BellLabs很快的退出了(後来有一家公司

Honeywell出售Multics,赔的很惨)。KenThompson很喜欢Multics上的作业环境,

於是他在实验室里一台报废的DECPDP-7上胡乱写了一个操作系统,该系统在设计上

有从Multics抄来的也有他自己的构想。他将这个操作系统命名Unix,用来反讽

Multics。


  译:其实是KenThompson写了一个游戏`StarTravel'没地方跑,就去找一台的

报废机器PDP-7来玩。他同事Bria_nKernighan嘲笑KenThompson说:「你写的系统

好逊哦,乾脆叫Unics算了。」(Unics发音与太监的英文eunuches一样),後来才

改为Unix。


  他的同事DennisRitchie,发明了一个新的程式语言C,於是他与Thompson用C

把原来用汇编语言写的Unix重写一遍。C的设计原则就是好用,自由与弹性,C与

Unix很快地在BellLabs得到欢迎。1971年Thompson与Ritchie争取到一个办公室自

动化系统的专案,Unix开始在BellLabs中流行。不过Thompson与Ritchie的雄心壮

志还不止於此。


  那时的传统是,一个操作系统必须完全用汇编语言写成,始能让机器发挥最高

的效能。Thompson与Ritchie,是头几位领悟硬体与编译器的技术,已经进步到作

业系统可以完全用高阶语言如C来写,仍保有不错的效能。五年後,Unix已经成功

地移植到数种机器上。


  译:KenThompson与DennisRitchie是唯一两位获得TuringAward(电脑界的诺贝

尔奖)的工程师(其他都是学者)。


  这当时是一件不可思议的事!它意味著,如果Unix可以在各种平台上跑的话,

Unix软件就能移植到各种机器上。再也用不著为特定的机器写软件了,能在Unix上

跑最重要,重新发明轮子已经成为过去式了。


  除了跨平台的优点外,Unix与C还有许多显著的优势。Unix与C的设计哲学是

KeepItSimple,Stupid'。programmer可以轻易掌握整个C的逻辑结构(不像其他之

前或以後的程式语言)而不用一天到晚翻手册写程式。而Unix提供许多有用的小工

具程式,经过适当的组合(写成Shellscript或Perlscript),可以发挥强大的威

力。


  ※注:TheCProgrammingLanguage是所有程式语言书最薄的一本,只有两百多

页哦。作者是BrianKernighan与DennisRitchie,所以这本C语言的圣经又称`K&R'


  ※注:`KeepItSimple,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中有一位大家一定认识,他的名字叫BillGates,最初就是他

在8080上发展BASICcompiler的。

  古老时代的终结


  1980年同时有三个Hacker文化在发展,尽管彼此偶有接触与交流,但还是各玩

各的。ARPANET/PDP-10文化,玩的是LISP、MACRO、TOPS-10与ITS。UNIX与C的拥护

者用电话线把他们的PDP-11与VAX机器串起来玩。还有另一群散乱无秩序的微电脑

迷,致力於将电脑科技平民化。


  三者中ITS文化(也就是以MITAILAB为中心的Hacker文化)可说在此时达到全

盛时期,但乌云逐渐笼罩这个实验室。ITS赖以维生的PDP-10逐渐过时,开始有人

离开实验室去外面开公司,将人工智慧的科技商业化。MITAILab的高手挡不住新公

司的高薪挖角而纷纷出走,SAIL与CMU也遭遇到同样的问题。


  译:这个情况在GNU宣言中有详细的描述,请参阅:(特别感谢由AKA chuhaibo

翻成中文)http://www.aka.citf.net/Magazine/Gnu/manifesto.html


  致命一击终於来临,1983年DEC宣布:为了要集中在PDP-11与VAX生产线,将停

止生产PDP-10;ITS没搞头了,因为它无法移植到其他机器上,或说根本没人办的

到。而BerkeleyUniveristy修改过的UNIX在新型的VAX跑得很顺,是ITS理想的取代

品。有远见的人都看得出,在快速成长的微电脑科技下,Unix一统江湖是迟早的事


  差不多在此时StevenLevy完成``Hackers''这本书,主要的资料来源是

RichardM.Stallman(RMS)的故事,他是MITAILab领袖人物,坚决反对实验室的研

究成果商业化。


  Stallman接著创办了FreeSoftwareFoundation,全力投入写出高品质的自由软

件。Levy以哀悼的笔调描述他是thelasttruehacker',还好事实证明Levy完全错了


  译:RichardM.Stallman的相关事迹请参

考:http://www.aka.citf.net/Magazine/Gnu/cover.htm


  Stallman的宏大计划可说是80年代早期Hacker文化的缩影--在1982年他开始建

构一个与UNIX相容但全新的操作系统,以C来写并完全免费。整个ITS的精神与传统

,经由RMS的努力,被整合在一个新的,UNIX与VAX机器上的Hacker文化。微电脑与

区域网络的科技,开始对Hacker文化产生影响。Motorola68000CPU加Ethernet是个

有力的组合,也有几家公司相继成立生产第一代的工作站。1982年,一群Berkeley

出来的UNIXHacker成立了SunMicrosystems,他们的算盘打的是:把UNIX架在以

68000为CPU的机器,物美价廉又符合多数应用程式的要求。他们的高瞻远嘱为整个

工业界树立了新的里程碑。虽然对个人而言,工作站仍太昂贵,不过在公司与学校

眼中,工作站真是比迷你电脑便宜太多了。在这些机构里,工作站(几乎是一人一

台)很快地取代了老旧庞大的VAX等timesharing机器。译:Sun一开始生产的工作

站CPU是用Motorola68000系列,到1989才推出自行研发的以SPARC系列为CPU的

SPARCstation。


私有Unix时代


  1984年AT&T解散了,UNIX正式成为一个商品。当时的Hacker文化分成两大类,

一类集中在Internet与USENET上(主要是跑UNIX的迷你电脑或工作站连上网络),

以及另一类PC迷,他们绝大多数没有连上Internet。


  ※译:台湾在1992年左右连上Internet前,玩家们主要以电话拨接BBS交换资

讯,但是有区域性的限制,发展性也大不如USENET。Sun与其他厂商制造的工作站

为Hacker们开启了另一个美丽新世界。工作站诉求的是高效能的绘图与网络,1980

年代Hacker们致力为工作站撰写软件,不断挑战及突破以求将这些功能发挥到百分

之一百零一。Berkeley发展出一套内建支援ARPANETprotocols的UNIX,让UNIX能轻

松连上网络,Internet也成长的更加迅速。


  除了Berkeley让UNIX网络功能大幅提升外,尝试为工作站开发一套图形界面也

不少。最有名的要算MIT开发的Xwindow了。Xwindow成功的关键在完全公开原始码

,展现出Hacker一贯作风,并散播到Internet上。X成功的干掉其他商业化的图形

界面的例子,对数年後UNIX的发展有著深远的启发与影响。少数ITS死忠派仍在顽

抗著,到1990年最後一台ITS也永远关机长眠了;那些死忠派在穷途末路下只有悻

悻地投向UNIX的怀抱。


  UNIX们此时也分裂为BerkeleyUNIX与AT&T两大阵营,也许你看过一些当时的海

报,上面画著一台钛翼战机全速飞离一个爆炸中、上面印著AT&T的商标的死星。

BerkeleyUNIX的拥护者自喻为冷酷无情的公司帝国的反抗军。就销售量来说,

AT&TUNIX始终赶不上BSD/Sun,但它赢了标准制订的战争。到1990年,AT&T与BSD版

本已难明显区分,因为彼此都有采用对方的新发明。随著90年代的来到,工作站的

地位逐渐受到新型廉价的高档PC的威胁,他们主要是用Intel80386系列CPU。第一

次Hacker能买一台威力等同於十年前的迷你电脑的机器,上面跑著一个完整的UNIX

,且能轻易的连上网络。沈浸在MS-DOS世界的井底蛙对这些巨变仍一无所知,从早

期只有少数人对微电脑有兴趣,到此时玩DOS与Mac的人数已超过所谓的"网络民族"

的文化,但他们始终没成什么气候或搞出什么飞机,虽然聊有佳作光芒乍现,却没

有稳定发展出统一的文化传统,术语字典,传奇故事与神话般的历史。它们没有真

正的网络,只能聚在小型的BBS站或一些失败的网络如FIDONET。提供上网服务的公

司如CompuServe或Genie生意日益兴隆,事实显示non-UNIX的操作系统因为并没有

内附如compiler等程式发展工具,很少有source在网络上流传,也因此无法形成合

作开发软件的风气。Hacker文化的主力,是散布在Internet各地,几乎可说是玩

UNIX的文化。他们玩电脑才不在乎什么售後服务之类,他们要的是更好的工具、更

多的上网时间、还有一台便宜32-bitPC。


  机器有了,可以上网了,但软件去哪找?商业的UNIX贵的要命,一套要好几千

大洋($)。90年代早期,开始有公司将AT&T与BSDUNIX移植到PC上出售。成功与否不

论,价格并没有降下来,更要紧的是没有附原始码,你根本不能也不准修改它,以

符合自己的需要或拿去分享给别人。传统的商业软件并没有给Hacker们真正想要的


  即使是FreeSoftwareFoundation(FSF)也没有写出Hacker想要的操作系统,RMS

承诺的GNU操作系统--HURD说了好久了,到1996年都没看到影子(虽然1990年开始,

FSF的软件已经可以在所有的UNIX平台执行)。


  早期的免费Unix


  在这空窗期中,1992年一位芬兰HelsinkiUniversity的学生--LinusTorvalds

开始在一台386PC上发展一个自由软件的UNIXkernel,使用FSF的程式开发工具。


  他很快的写好简单的版本,丢到网络上分享给大家,吸引了非常多的Hacker来

帮忙一起发展Linux,一个功能完整的UNIX,完全免费且附上全部的原始码。Linux

最大的特色,不是功能上的先进而是全新的软件开发模式。直到Linux的成功前,

人人都认为像操作系统这么复杂的软件,非得要靠一个开发团队密切合作,互相协

调与分工才有可能写的出来。商业软件公司与80年代的FreeSoftwareFoundation所

采用都是这种发展模式。


  Linux则迥异於前者。一开始它就是一大群Hacker在网络上一起涂涂抹抹出来

的。没有严格品质控制与高层决策发展方针,靠的是每周发表新版供大家下载测试

,测试者再把bug与patch贴到网络上改进下一版。一种全新的物竞天择、去芜存菁

的快速发展模式。令大夥傻眼的是,东修西改出来的Linux,跑的顺极了。


  1993年底,Linux发展趋於成熟稳定,能与商业的UNIX一分高下,渐渐有商业

应用软件移植到Linux上。不过小型UNIX厂商也因为Linux的出现而关门大吉-因为

再没有人要买他们的东西。幸存者都是靠提供BSD为基础的UNIX的完整原始码,有

Hacker加入发展才能继续生存。


  Hacker文化,一次次被人预测即将毁灭,却在商业软件充斥的世界中,披荆斩

棘,筚路蓝缕,开创出另一番自己的天地。


  网络大爆炸时代


  Linux能快速成长的来自令一个事实:Internet大受欢迎,90年代早期ISP如雨

後春笋般的冒出来,World-WideWeb的出现,使得Internet成长的速度,快到有令

人窒息的感觉。


  BSD专案在1994正式宣布结束,Hacker们用的主要是免费的UNIX(Linux与一些

4.4BSD的衍生版本)。而LinuxCD-ROM销路非常好(好到像卖煎饼般)。近几年来

Hacker们主要活跃在Linux与Internet发展上。WorldWideWeb让Internet成为世界

最大的传输媒体,很多80年代与90年代早期的Hacker们现在都在经营ISP。


  Internet的盛行,Hacker文化受到重视并发挥其政治影响力。94、95年美国政

府打算把一些较安全、难解的编码学加以监控,不容许外流与使用。这个称为

Clipperproposal的专案引起了Hacker们的群起反对与强烈抗议而半途夭折。96年

Hacker又发起了另一项抗议运动对付那取名不当的"CommunicationsDecencyAct",

誓言维护Internet上的言论自由。


  电脑与Internet在21世纪将是大家不可或缺的生活用品,现代孩子在使用

Internet科技迟早会接触到Hacker文化。它的故事传奇与哲学,将吸引更多人投入

。未来对Hacker们是充满光明的。


 
中心,通过审核后

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值