| 發信人: yccheng@bbs.ee.ntu.edu.tw
(@@), 看板: bsd
標 題: [doc]Brief History of Hackerdom中譯 發信站: 台大電機 Maxwell BBS (Sat Apr 4 13:15:39 1998) 轉信站: star!news.ee.nthu!news.cs.nthu!freebsd.ntu!bbs.ee.ntu!Maxwell 本篇原作者為Eric S. Raymond esr@snark.thyrsus.com,他是一位大哥級的Hacker,寫了很多自由軟體,知名著作有Jargon File等,近年來發表``The cathedral and the bazaar''論文為Opensource software努力,Netscape 願意公開Navigator的原始碼,與這篇文章有很大的關係。 我希望大家讀了這篇文章後,能了解Hacker != 駭客,真正的駭客是Cracker,成為Hacker的條件不是要有高深的程式設計功力,而是願意為寫程式而去寫程式,並能樂在其中。你我都能成為Hacker,本文作者另外有一篇教人How to be a Hacker:由網友Thinker翻成中文,特別感謝:) http://odie.csie.ntu.edu.tw/~chiron/hacker-HOWTO.html Cracker破解商業軟體,入侵網站。Hacker們不屑幹這種事,因為他們寧願自己寫,很多Hacker寫出世界一流的軟體卻不要一毛錢。這種軟體稱為自由軟體(Free Software),與免費軟體(Public Domain Software)或共享軟體(Shareware)不同,因為前者不但免費,還附上原始碼,你高興怎麼改就怎麼改。希望同學讀到`自由軟體'的時候能知道我指的是什麼。 |
|
他們從不自稱是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' 文章都是流傳久遠的老掉牙笑話了。 ※譯:
一些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的時代步入尾聲,取而代之的是逐漸盛行的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)。 ※譯:
ARPANET是第一個橫跨美國的高速網路。由美國國防部所出資興建,一個實驗性質的數位通訊網路,逐漸成長成聯繫各大學、國防部承包商及研究機構的大網路。各地研究人員能以史無前例的速度與彈性交流資訊,超高效率的合作模式導致科技的突飛猛進。 ARPANET另一項好處是,資訊高速公路使得全世界的hackers能聚在一起,不再像以前孤立在各地形成一股股的短命文化,網路把他們匯流成一股強大力量。開始有人感受到Hacker文化的存在,動手整理術語放上網路,在網上發表諷刺文學與討論Hacker所應有的道德規範。(Jargon File的第一版出現在1973年,就是一個好例子),Hacker文化在有接上ARPANET的各大學間快速發展,特別是(但不全是)在資訊相關科系。 一開始,整個Hacker文化的發展以MIT的AI Lab為中心,但Stanford University的Artificial Intelligence Laboratory(簡稱SAIL)與稍後的Carnegie-MellonUniversity(簡稱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年代ARPANET與PDP-10文化迅速成長茁壯。Mailing list的出現使世界各地的人得以組成許多SIG(Special-interest group),不只在電腦方面,也有社會與娛樂方面的。DARPA對這些非`正當性'活動睜一隻眼閉一隻眼,因為靠這些活動會吸引更多的聰明小夥子們投入電腦領域呢。 有名的非電腦技術相關的ARPANET mailing list首推科幻小說迷的,時至今日ARPANET變成Internet,愈來愈多的讀者參與討論。Mailing list逐漸成為一種公眾討論的媒介,導致許多商業化上網服務如CompuServe、Genie與Prodigy的成立。 此時在新澤西州的郊外,另一股神秘力量積極入侵Hacker社會,終於席捲整個PDP-10的傳統。它誕生在1969年,也就是ARPANET成立的那一年,有個在AT&T Bell Labs的年輕小夥子Ken Thompson發明了Unix。Thomspon曾經參與Multics的開發,Multics是源自ITS的作業系統,用來實做當時一些較新的OS理論,如把作業系統較複雜的內部結構隱藏起來,提供一個介面,使的programmer能不用深入瞭解作業系統與硬體設備,也能快速開發程式。 譯:
在發現繼續開發Multics是做白工時,Bell Labs很快的退出了(後來有一家公司Honeywell出售Multics,賠的很慘)。Ken Thompson很喜歡Multics上的作業環境,於是他在實驗室裡一台報廢的DEC PDP-7上胡亂寫了一個作業系統,該系統在設計上有從Multics抄來的也有他自己的構想。他將這個作業系統命名Unix,用來反諷Multics。 譯:
他的同事Dennis Ritchie,發明了一個新的程式語言C,於是他與Thompson用C把原來用組合語言寫的Unix重寫一遍。C的設計原則就是好用,自由與彈性,C與Unix很快地在Bell Labs得到歡迎。1971年Thompson與Ritchie爭取到一個辦公室自動化系統的專案,Unix開始在Bell Labs中流行。不過Thompson與Ritchie的雄心壯志還不止於此。那時的傳統是,一個作業系統必須完全用組合語言寫成,始能讓機器發揮最高的效能。Thompson與Ritchie,是頭幾位領悟硬體與編譯器的技術,已經進步到作業系統可以完全用高階語言如C來寫,仍保有不錯的效能。五年後,Unix已經成功地移植到數種機器上。 譯:
這當時是一件不可思議的事!它意味著,如果Unix可以在各種平台上跑的話,Unix軟體就能移植到各種機器上。再也用不著為特定的機器寫軟體了,能在Unix上跑最重要,重新發明輪子已經成為過去式了。除了跨平台的優點外,Unix與C還有許多顯著的優勢。Unix與C的設計哲學是`Keep It Simple, Stupid'。programmer可以輕易掌握整個C的邏輯結構(不像其他之前或以後的程式語言)而不用一天到晚翻手冊寫程式。而Unix提供許多有用的小工具程式,經過適當的組合(寫成Shell script或Perl script),可以發揮強大的威力。 ※注:
※注:
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迷們根本不屑用它,更看不起使用它的人。 譯:
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也遭遇到同樣的問題。 譯:
致命一擊終於來臨,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完全錯了。 譯:
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機器。 譯:
1984年AT&T解散了,UNIX正式成為一個商品。當時的Hacker文化分成兩大類,一類集中在Internet與USENET上(主要是跑UNIX的迷你電腦或工作站連上網路),以及另一類PC迷,他們絕大多數沒有連上Internet。 ※譯:
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平台執行)。 在這空窗期中,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們是充滿光明的。
Blinkenlight的笑話原文: Achtung! Alles Touristen Und Non-Tech-nischen Looken Peepers! Das Machine Control Is Nicht Fur Gerfingerpoken Und Mittengrabben. Oderwise Is Easy Schnappen Der Springwerk, Blowenfuse, Und Poppencorken Mit Spitzensparken. Der Machine Is Diggen By Expertzen Only. Is Nicht Fur Gerverken By Dummkopfen. Das Rubbernecken Sightseenen Keepen Das Kottenpicken Hands In Das Pockets. So Relaxen Und Watchen Das Blinkenlights. |
|
| yccheng |