如何成為一名黑客 原版在這里http://catb.org/~esr/faqs/hacker-howto.html
Copyright ? 2001 by Eric S. Raymond
譯文來自這里 http://www.aka.org.cn/Docs/hacker-howto_2001.html
翻譯:Barret
允許未經(jīng)作者及譯者的同意進(jìn)行非商業(yè)目的的轉(zhuǎn)載,但必須保持原文的完整性。
內(nèi)容一覽 為什么會(huì)有這份文檔宫患? 什么是黑客要糊? 黑客應(yīng)有的態(tài)度 黑客的基本技能 黑客文化中的地位 黑客和書呆子(Nerd)的聯(lián)系 風(fēng)格的意義 其它資源 FAQ(常問問題解答)
為什么會(huì)有這份文檔阵子?
作為 Jargon File 的編輯和一些其他有名的類似性質(zhì)文章的作者往果,我經(jīng)常收到充滿熱情的網(wǎng)絡(luò)新手的email提問(確實(shí)如此) “我如何才能成為一名出色的黑客磷雇?”非常奇怪的是似乎沒有任何的FAQ或者Web形式的文檔來說明這個(gè)十分重要的問題羔砾,因此我寫了一份魄幕。
如果你現(xiàn)在讀的是這份文檔的離線拷貝相艇,那么請注意當(dāng)前最新版本(英文版)在 http://www.tuxedo.org/~esr/faqs/hacker-howto.html可以得到。
注意:在這份文檔最后有 FAQ(常問問題解答)纯陨。請?jiān)谙蛭姨岢鋈魏侮P(guān)于這份文檔的疑問之前讀兩遍坛芽。
目前這份文檔有很多翻譯版本: 保加利亞語, 簡體中文翼抠, 繁體中文咙轩, 丹麥語, 荷蘭語阴颖, 法語活喊, 德語, 匈牙利語量愧, 印尼語胧弛, 日語, 朝鮮語侠畔, 葡萄牙語结缚, 俄語及 瑞典語。注意由于這份文檔時(shí)有修正软棺,所以以上翻譯版本可能有不同程度的過時(shí)红竭。
什么是黑客?
Jargon File 包含了一大堆關(guān)于“hacker”這個(gè)詞的定義喘落,大部分與技術(shù)高超和熱衷解決問題及超越極限有關(guān)茵宪。但如果你只想知道如何 成為 一名黑客,那么只有兩件事情確實(shí)相關(guān)瘦棋。
這可以追溯到幾十年前第一臺(tái)分時(shí)小型電腦誕生, ARPAnet 實(shí)驗(yàn)也剛展開的年代稀火,那時(shí)有一個(gè)由程序設(shè)計(jì)專家和網(wǎng)絡(luò)名人所組成的, 具有分享特點(diǎn)的文化社群。這種文化的成員創(chuàng)造了 “hacker” 這個(gè)名詞赌朋。黑客們建立了 Internet凰狞。黑客們發(fā)明出了現(xiàn)在使用的 UNIX 操作系統(tǒng)。黑客們使 Usenet 運(yùn)作起來沛慢, 黑客們讓 WWW 運(yùn)轉(zhuǎn)起來赡若。如果你是這個(gè)文化的一部分,如果你對(duì)這種文化有所貢獻(xiàn)团甲,而且這個(gè)社群的其它成員也認(rèn)識(shí)你并稱你為 hacker, 那么你就是一位黑客逾冬。
黑客精神并不僅僅局限在軟件的黑客文化中。有人用黑客態(tài)度對(duì)待其它事情,如電子學(xué)和音樂—— 事實(shí)上身腻,你可以在任何最高級(jí)別的科學(xué)和藝術(shù)活動(dòng)中發(fā)現(xiàn)它产还。精于軟件的黑客贊賞這些在其他領(lǐng)域的同類并把他們也稱作黑客—— 有人宣稱黑客天性是絕對(duì)獨(dú)立于他們工作的特定領(lǐng)域的。 但在這份文檔中嘀趟,我們將注意力集中在軟件黑客的技術(shù)和態(tài)度雕沉,以及發(fā)明了“黑客”一詞的以共享為特征的文化傳統(tǒng)之上。
有一群人大聲嚷嚷著自己是黑客去件,但他們不是坡椒。他們(主要是正值青春的少年)是一些蓄意破壞計(jì)算機(jī)和電話系統(tǒng)的人。真正的黑客把這些人叫做“駭客”(cracker)尤溜,并不屑與之為伍倔叼。多數(shù)真正的黑客認(rèn)為駭客們又懶又不負(fù)責(zé)任,還沒什么大本事宫莱。專門以破壞別人安全為目的的行為并不能使你成為一名黑客丈攒, 正如用鐵絲偷開走汽車并不能使你成為一個(gè)汽車工程師。不幸的是授霸,很多記者和作家往往錯(cuò)把“駭客”當(dāng)成黑客巡验;這種做法一直使真正的黑客感到惱火。
根本的區(qū)別是:黑客搞建設(shè)碘耳,駭客搞破壞显设。
如果你想成為一名黑客,請接著讀下去辛辨。如果你想做一個(gè)駭客捕捂,去讀 alt.2600 新聞組,并在意識(shí)到你并不像自己想象的那么聰明后去坐五到十次監(jiān)獄斗搞。關(guān)于駭客指攒,我只想說這么多。 黑客應(yīng)有的態(tài)度
黑客們解決問題僻焚,建設(shè)事物允悦,同時(shí)他們崇尚自由和無私的雙向幫助。要被他人承認(rèn)是一名黑客虑啤,你的行為得體現(xiàn)出你好像具備了這種態(tài)度一般隙弛。而要想做得好象你具備這種態(tài)度一般,你就得切切實(shí)實(shí)堅(jiān)持它咐旧。
但是如果你認(rèn)為培養(yǎng)黑客態(tài)度只是一條在黑客文化圈中得到承認(rèn)的路子驶鹉,那就大錯(cuò)特錯(cuò)了绩蜻。成為具備這些特質(zhì)的這種人對(duì) 你自己非常重要——有助于你學(xué)習(xí)铣墨,及給你提供源源不斷的動(dòng)力。同所有創(chuàng)造性的藝術(shù)一樣办绝,成為大師的最有效方法就是模仿大師的精神—— 不僅從智力上伊约,也要從感情上進(jìn)行模仿姚淆。
或許, 下面這首現(xiàn)代的禪詩很好的闡述了這個(gè)意思:
To follow the path:(沿著這樣一條道路:)
look to the master,(尋找大師,)
follow the master,(跟隨大師屡律,)
walk with the master,(與大師通行腌逢,)
see through the master,(洞察大師,)
become the master.(成為大師超埋。)
嗯搏讶,如果你想成為一名黑客,反復(fù)讀下面的事情直至你相信它們:
- 世界充滿了待解決的迷人問題霍殴。
做一名黑客會(huì)有很多樂趣媒惕,但卻是要費(fèi)很多氣力方能得到的樂趣。 這些努力需要?jiǎng)恿赐ァ3晒Φ倪\(yùn)動(dòng)員從鍛煉身體妒蔚、超越自我極限的愉悅中得到動(dòng)力。同樣月弛,做黑客肴盏,你得能從解決問題,磨練技術(shù)及鍛煉智力中得到基本的樂趣帽衙。
如果你還不是天生的這類人又想做黑客菜皂,你就要設(shè)法成為這樣的人。否則你會(huì)發(fā)現(xiàn)厉萝,你的黑客熱情會(huì)被其他分心的事物吞噬掉——如金錢幌墓、性和社會(huì)上的虛名。
(同樣你必須對(duì)你自己的學(xué)習(xí)能力建立信心——相信盡管當(dāng)你對(duì)某問題近乎一無所知冀泻,但只要你一點(diǎn)一點(diǎn)地試驗(yàn)常侣、學(xué)習(xí),最終會(huì)掌握并解決它弹渔。)
- 一個(gè)問題不應(yīng)該被解決兩次胳施。
聰明的腦袋是寶貴的有限的資源。當(dāng)世界還充滿非常多有待解決的有趣的新問題時(shí)肢专,它們不應(yīng)該被浪費(fèi)在重新發(fā)明輪子這類事情上舞肆。
作為一名黑客,你必須相信其他黑客的思考時(shí)間是寶貴的——因此共享信息博杖,解決問題并發(fā)布結(jié)果給其他黑客幾乎是一種道義椿胯,這樣其他人就可以去解決 新問題而不是不斷地忙于對(duì)付舊問題。
(你不必認(rèn)為一定要把你 所有的發(fā)明創(chuàng)造公布出去剃根,但這樣做的黑客是贏得大家極度尊敬的人哩盲。賣些錢來養(yǎng)家糊口,租房買計(jì)算機(jī)甚至發(fā)大財(cái)和黑客價(jià)值觀也是相容的,只要你別忘記你還是個(gè)黑客廉油。)
- 無聊和乏味的工作是罪惡惠险。
黑客(泛指具有創(chuàng)造力的人們)應(yīng)該從來不會(huì)被愚蠢的重復(fù)性勞動(dòng)所困擾,因?yàn)楫?dāng)這種事情發(fā)生時(shí)就意味著他們沒有在做只有他們才能做的事情—— 解決新問題抒线。這樣的浪費(fèi)傷害每一個(gè)人班巩。因此,無聊和乏味的工作不僅僅是令人不舒服而已嘶炭,而且是罪惡抱慌。
作為一個(gè)黑客,你必須堅(jiān)信這點(diǎn)并盡可能多地將乏味的工作自動(dòng)化眨猎,不僅為你自己遥缕,也為了其他人(尤其是其他黑客們)。
(對(duì)此有一個(gè)明顯的例外宵呛。黑客有時(shí)也做一些在他人看來是重復(fù)性或枯燥的工作以進(jìn)行“腦力休息”单匣,或是為了獲得某種技能,或是獲得一些除此以外無法獲得的特別經(jīng)驗(yàn)宝穗。但這是自愿的——有腦子的人不應(yīng)該被迫做無聊的活兒户秤。)
- 自由萬歲。
黑客們是天生的反獨(dú)裁主義者逮矛。任何能向你發(fā)命令的人能夠迫使你停止解決令你著迷的問題鸡号,同時(shí),按照獨(dú)裁者的一般思路须鼎,他通常會(huì)給出一些極端愚昧的理由鲸伴。因此,不論何處晋控,任何獨(dú)裁主義的作法汞窗,只要它壓迫你和其他黑客,你就要和它斗到底赡译。
(這并非向所有權(quán)威挑戰(zhàn)仲吏。兒童需要監(jiān)護(hù),罪犯要被看管起來蝌焚。 如果服從命令得到某種東西比起用其他方式得到它更節(jié)約時(shí)間裹唆,黑客可以同意接受某種形式的權(quán)威。但這是一個(gè)有限度的只洒,有意的交易许帐;那種權(quán)威想要的個(gè)人服從不是你應(yīng)該同意給予的。)
權(quán)威喜歡審查和保密毕谴。他們不信任自愿的合作和信息的共享—— 他們只喜歡由他們控制的所謂“合作”成畦。因此距芬,作為一個(gè)黑客,你得對(duì)審查羡鸥、保密蔑穴,以及使用武力或欺騙去壓迫有行為能力的人們的做法有一種本能的敵意忠寻。同時(shí)你要有為此信念斗爭的意愿惧浴。
- 態(tài)度不能替代能力。
作為一名黑客奕剃,你必須培養(yǎng)起這些態(tài)度衷旅。但只具備這些態(tài)度并不能使你成為一名黑客,也不能使你成為一個(gè)運(yùn)動(dòng)健將和搖滾明星纵朋。成為一名黑客需要智力柿顶,實(shí)踐,奉獻(xiàn)精神和辛苦工作操软。
因此嘁锯,你必須學(xué)會(huì)懷疑,并尊重各種各樣的能力聂薪。黑客們不會(huì)為那些裝模做樣的人浪費(fèi)時(shí)間家乘,但他們卻非常尊重能力—— 尤其是從事黑客工作的能力,不過任何能力總歸是好的藏澳。具備很少人能具備的那些方面的能力尤其好仁锯,其中具備涉及腦力、技巧和專注方面能力的當(dāng)然最好翔悠。
尊敬能力业崖,你就會(huì)享受到提高自己能力的樂趣—— 辛苦的工作和奉獻(xiàn)會(huì)變成一種高度娛樂而非苦差事。要想成為一名黑客蓄愁,這一點(diǎn)非常重要双炕。
黑客的基本技能
黑客態(tài)度重要,但技術(shù)更加重要撮抓。態(tài)度無法替代技術(shù)雄家,在你被別的黑客稱為黑客之前,有一些基本的技術(shù)你必須掌握胀滚。
這些基本技術(shù)隨著新技術(shù)的出現(xiàn)和老技術(shù)的過時(shí)也隨時(shí)間在緩慢改變趟济。例如,過去內(nèi)容包括使用機(jī)器語言編程咽笼,而直到最近才包括了HTML顷编。總的來說現(xiàn)在主要包括以下技術(shù):
- 學(xué)習(xí)如何編程剑刑。
這當(dāng)然是最基本的黑客技能媳纬。如果你還不會(huì)任何編程語言双肤,我建議你從Python開始。它設(shè)計(jì)清晰钮惠,文檔齊全茅糜,合適初學(xué)者入門。它是一門很好的入門語言素挽,并且不僅僅只是個(gè)玩具蔑赘;它非常強(qiáng)大、靈活预明,也適合做大型項(xiàng)目缩赛。我有一篇 Python評(píng)價(jià)詳細(xì)說明這點(diǎn)。好的 教程 可以在Python網(wǎng)站得到撰糠。
Java也是好的入門語言酥馍。它比Python難得多,但是生成的代碼速度也快得多阅酪。它同時(shí)也是一種優(yōu)秀的計(jì)算機(jī)語言旨袒,不止是用來入門。
但是注意术辐,如果你只會(huì)一兩門語言砚尽,你將不會(huì)達(dá)到黑客所要求的技術(shù)水平,甚至也不能達(dá)到一個(gè)程序員的水平——你需要學(xué)會(huì)如何以抽象的方式思考編程問題术吗,獨(dú)立于任何語言尉辑。要做一名真正的黑客,你需要學(xué)會(huì)在幾天內(nèi)通過一些手冊较屿,結(jié)合你現(xiàn)在所知隧魄,迅速掌握一門新語言。這意味著你應(yīng)該學(xué)會(huì)幾種截然不同的語言隘蝎。
如果要做一些重要的編程工作购啄,你將不得不學(xué)習(xí)C語言,Unix的核心語言嘱么。 C++與C非常其他類似狮含;如果你了解其中一種,學(xué)習(xí)另一種應(yīng)該不難曼振。但這兩種都不適合編程入門者學(xué)習(xí)几迄。而且事實(shí)上,你越避免用C編程冰评,你的工作效率會(huì)越高映胁。
C非常有效率,節(jié)約你的機(jī)器資源甲雅。不幸的是解孙,C的高效是通過你手動(dòng)做很多底層的管理(如內(nèi)存)來達(dá)到的坑填。底層代碼都是復(fù)雜極易出現(xiàn)bug的,會(huì)使你花極多的時(shí)間調(diào)試弛姜。如今的機(jī)器速度如此之快脐瑰,這通常是得不償失——比較明智的做法是使用一種運(yùn)行較慢、較低效率廷臼,但大幅節(jié)省你的時(shí)間的語言苍在。因此,選擇Python中剩。
其他對(duì)黑客而言比較重要的語言包括 Perl和 LISP忌穿。 Perl實(shí)用抒寂,值得一學(xué)结啼;它被廣泛用于動(dòng)態(tài)網(wǎng)頁和系統(tǒng)管理,因此即便你從不用Perl寫程序屈芜,至少也應(yīng)該學(xué)會(huì)看郊愧。許多人使用Perl的理由和我建議你使用Python的理由一樣,都是為了避免用C完成那些不需要C高效率的工作井佑。你會(huì)需要理解那些工作的代碼的属铁。
LISP值得學(xué)習(xí)的理由不同——最終掌握了它時(shí)你會(huì)得到豐富的啟迪和經(jīng)驗(yàn)。這些經(jīng)驗(yàn)會(huì)使你在以后的日子里成為一個(gè)更好的程序員躬翁,即使你實(shí)際上很少使用LISP本身焦蘑。
當(dāng)然,實(shí)際上你最好五種都會(huì)(Python盒发,Java例嘱,C/C++,Perl和LISP)宁舰。除了是最重要的黑客語言外拼卵,它們還代表了截然不同的編程思路和方法,每種都會(huì)讓你受益非淺蛮艰。
這里我無法給你完完全全的指導(dǎo)教會(huì)你如何編程——這是個(gè)復(fù)雜的技能腋腮。但我可以告訴你,書本和上課也不能作到(最好的黑客中壤蚜,有許多即寡,也許 幾乎都是自學(xué)成材的)。你可以從書本上學(xué)到語言的特點(diǎn)——只是一些皮毛袜刷,但要使書面知識(shí)成為自身技能只能通過實(shí)踐和虛心向他人學(xué)習(xí)聪富。因此要作到 (一)讀代碼及(二)寫代碼。
學(xué)習(xí)如何編程就象學(xué)習(xí)用優(yōu)美的自然語言寫作一樣水泉。最好的做法是讀一些大師的名著善涨,試著自己寫點(diǎn)東西窒盐,再讀些,再寫點(diǎn)钢拧,再讀些蟹漓,再寫點(diǎn)…… 如此往復(fù),直到你的文章達(dá)到你體會(huì)到的范文的簡潔和力量源内。
過去找到適合閱讀的好的代碼是困難的葡粒,因?yàn)閹缀鯖]有大型程序的源代碼能讓新手練手。這種狀況已經(jīng)戲劇性地發(fā)生變化膜钓;開放源代碼軟件,編程工具和操作系統(tǒng)(全都由黑客寫成)現(xiàn)在已經(jīng)隨處可見夫壁。讓我們在下一個(gè)話題中繼續(xù)討論……
- 得到一個(gè)開放源代碼的Unix并學(xué)會(huì)使用沃疮、運(yùn)行它。
我假設(shè)你已經(jīng)擁有或者能使用一臺(tái)個(gè)人電腦(今天的孩子們真幸福 :-) )司蔬。新手們能夠朝學(xué)習(xí)黑客技能邁出的最基本的一步就是得到一份Linux或BSD-Unix的一種,安裝在個(gè)人電腦上肺缕,并運(yùn)行它授帕。
沒錯(cuò),這世界上除了Unix還有其他操作系統(tǒng)豪墅。但它們都是以二進(jìn)制形式發(fā)布的——你無法讀到它的源代碼,也不可能修改它斩萌。嘗試在運(yùn)行DOS或Windows或MacOS的機(jī)器上學(xué)習(xí)黑客技術(shù)屏轰,就象是帶著腳鐐學(xué)跳舞。
除此之外姆吭,Unix還是Internet的操作系統(tǒng)。你可以學(xué)會(huì)上網(wǎng)卻不知道Unix唁盏,但你不了解Unix就無法成為一名Internet黑客检眯。因此昆淡,今天的黑客文化在很大程度上是以Unix為中心的昂灵。(這點(diǎn)并不總是真的,一些很早的黑客對(duì)此一直很不高興眨补,但Unix和Internet之間的聯(lián)系已是如此之強(qiáng),甚至連Microsoft也無可奈何含思。)
所以, 安裝一套UNIX——我個(gè)人喜愛LINUX但還有其他種類的(是的茸俭,你可以同時(shí)安裝Linux及DOS/Windows在同一電腦上)安皱。學(xué)習(xí)它酌伊,使用它缀踪,配置它驴娃。用它在Internet上沖浪。閱讀它的源代碼蔗草。修改它的源代碼咒精。你會(huì)得到比在Microsoft操作系統(tǒng)上更好的編程工具(包括C模叙,LISP范咨,Python及Perl)。你會(huì)覺得樂趣無窮逻卖,學(xué)到在你成為大師之前意識(shí)不到的更多的知識(shí)评也。
想知道更多關(guān)于學(xué)習(xí)Unix的信息盗迟,訪問 The Loginataka罚缕。
想知道如何得到一份Linux怎静,訪問 我在哪里可以獲得Linux蚓聘。(譯者:對(duì)于中文讀者來講夜牡,最簡單的方式未過于前往附近的D版/正版光盤店。)
你可以在 www.bsd.org找到BSD Unix的求助及其他資源急迂。
我有寫一篇關(guān)于 Unix和Internet基礎(chǔ)的入門文章僚碎。
(注:如果你是一個(gè)新手勺阐,我不推薦自己獨(dú)立安裝Linux或者BSD皆看。安裝Linux的話腰吟,尋求本地Linux用戶組的幫助毛雇;或聯(lián)系 Open Projects Network灵疮。 LISC維護(hù)著一些 IRC頻道,在那里你可以獲得幫助荔棉。)
- 學(xué)會(huì)如何使用WWW和寫HTML
黑客文化建造的大多東西都在你看不見的地方發(fā)揮著作用润樱,幫助工廠羡棵、辦公室和大學(xué)正常運(yùn)轉(zhuǎn)皂冰,表面上很難看到它對(duì)非黑客的普通人的生活的影響赂蕴。Web是一個(gè)大大的例外剔应。即便政客也同意峻贮,這個(gè)巨大耀眼的黑客玩具正在改變整個(gè)世界纤控。單是這個(gè)原因(還有許多其它的)船万,你就需要學(xué)習(xí)掌握Web耿导。
這并不是僅僅意味著如何使用瀏覽器(誰都會(huì))舱呻,而是要學(xué)會(huì)如何寫HTML芥驳, Web的標(biāo)記語言兆旬。如果你不會(huì)編程丽猬,寫HTML會(huì)教你一些有助于學(xué)習(xí)的思考習(xí)慣宝鼓。因此巴刻,先完成一個(gè)主頁沥寥。(網(wǎng)上有很多好的教程柠座; 這是一個(gè)妈经。)
但僅僅擁有一個(gè)主頁不能使你成為一名黑客骤星。 Web里充滿了各種網(wǎng)頁洞难。大多數(shù)是毫無意義的队贱,零信息量垃圾——界面時(shí)髦的垃圾柱嫌,注意编丘,垃圾的水準(zhǔn)都類似(更多信息訪問 The HTML Hell Page)癣防。
要想有價(jià)值蕾盯,你的網(wǎng)頁必須有內(nèi)容—— 它必須有趣或?qū)ζ渌诳陀袔椭对狻_@是下一個(gè)話題所涉及的……
- 如果你不懂實(shí)用性的英語挫鸽,學(xué)習(xí)吧。
作為一個(gè)美國人和一個(gè)以英語為母語的人医咨,我以前很不情愿提到這點(diǎn)干茉,免得成為一種文化上的帝國主義角虫。但相當(dāng)多以其他語言為母語的人一直勸我指出這一點(diǎn)戳鹅,那就是英語是黑客文化和Internet的工作語言粉楚,你需要懂得以便在黑客社區(qū)順利工作。
這一點(diǎn)千真萬確伟骨。大概1991年的時(shí)候我就了解到許多黑客在技術(shù)討論中使用英語饮潦,甚至當(dāng)他們的母語都相同,英語對(duì)他們而言只是第二語言的時(shí)候携狭;據(jù)我知道的報(bào)導(dǎo)继蜡,當(dāng)前英語有著比其他語言豐富得多的技術(shù)詞匯,因此是一個(gè)對(duì)于工作來說相當(dāng)好的工具∠〔ⅲ基于類似的原因仅颇,英文技術(shù)書籍的翻譯通常不令人滿意(如果有翻譯的話)。
Linus Torvalds忘瓦,一個(gè)芬蘭人,用英語注釋他的代碼(很明顯這對(duì)他來說不是湊巧)凌停。他流利的英語成為他能夠管理全球范圍的Linux開發(fā)人員社區(qū)的重要因素完箩。這是一個(gè)值得學(xué)習(xí)的例子秃励。 黑客文化中的地位
象大部分不涉及金錢的文化一樣,黑客王國靠聲譽(yù)運(yùn)轉(zhuǎn)。你設(shè)法解決有趣的問題,但它們到底多有趣仅胞,你的解法有多好妹蔽,是要由那些和你具有同樣技術(shù)水平的人或比你更厲害的人去評(píng)判的编整。
相應(yīng)地,當(dāng)你在玩黑客游戲時(shí)贺归,你得認(rèn)識(shí)到你的分?jǐn)?shù)主要靠其他黑客對(duì)你的技術(shù)的評(píng)價(jià)給出(這就是為什么只有在其它黑客稱你為黑客時(shí)仲义,你才算得上是一名黑客)。這個(gè)事實(shí)常會(huì)被黑客是一項(xiàng)孤獨(dú)的工作這一印象所減弱饺谬;也會(huì)被另一個(gè)黑客文化的禁忌所減弱(現(xiàn)在逐漸減弱但仍強(qiáng)大):拒絕承認(rèn)自我或外部評(píng)估與一個(gè)人的動(dòng)力有關(guān)系森缠。
特別地列肢,黑客王國被人類學(xué)家們稱為一種奉獻(xiàn)文化跨晴。 在這里你不是憑借你對(duì)別人的統(tǒng)治來建立地位和名望,也不是靠美貌晒喷,或擁有其他人想要的東西寺旺,而是靠你的奉獻(xiàn)。尤其是奉獻(xiàn)你的時(shí)間渤昌,你的創(chuàng)造和你的技術(shù)成果忌栅。
要獲得其他黑客的尊敬,基本上有五種事情你可以干:
- 寫開放源代碼軟件
第一個(gè)(也是最集中的和傳統(tǒng)的)是寫些被其他黑客認(rèn)為有趣或有用的程序,并把程序源代碼提供給整個(gè)黑客文化使用。
(過去我們稱之為“free software (自由軟件)”拴袭,但這卻使很多不知 free 的精確含義的人感到困惑“愫撸現(xiàn)在我們很多人,根據(jù)搜索引擎網(wǎng)頁內(nèi)容分析至少有2:1的比率,使用“ open-source”software(開放源代碼軟件)這個(gè)詞)。
黑客王國里最受尊敬的偶像是那些寫了大型的焦除、好用的瓣距、具有廣泛用途的軟件逻杖,并把它們公布出去荸百,使得每人都在使用他軟件的人。
- 幫助測試并調(diào)試開放源代碼軟件
黑客也尊敬那些使用女嘲、測試開放源代碼軟件的人诞帐。在這個(gè)并非完美的世界上愕鼓,我們不可避免地要花大多數(shù)的開發(fā)時(shí)間在調(diào)試階段。 這就是為什么任何有頭腦的開放源代碼的作者都會(huì)告訴你好的beta測試員(知道如何清楚描述出錯(cuò)癥狀,很好地定位錯(cuò)誤,能忍受快速發(fā)布中的bug册着,并且愿意使用一些簡單的診斷工具)象紅寶石一樣珍貴。 甚至他們中的一個(gè)能判斷出哪個(gè)測試階段是延長的脾歧,哪個(gè)是令人精疲力盡的噩夢司顿,哪個(gè)只是一個(gè)有益的小麻煩大溜。
如果你是個(gè)新手疙赠,試著找一個(gè)你感興趣的正在開發(fā)的程序圃阳,做一個(gè)好的beta測試員。你會(huì)自然地從幫著測試砖顷,進(jìn)步到幫著抓臭蟲署拟,到最后幫著改程序推穷。你會(huì)從中學(xué)到很多,并且與未來會(huì)幫你的人結(jié)下友誼世曾。
- 公布有用的信息
另一個(gè)好事是收集整理有用有趣的信息做成網(wǎng)頁或文檔如FAQ列表缨恒,且讓他們?nèi)菀撰@得柳畔。
主要技術(shù)FAQ的維護(hù)者受到幾乎同其他開放源代碼的作者一樣多的尊敬惫搏。
- 幫助維護(hù)基礎(chǔ)設(shè)施的運(yùn)轉(zhuǎn)
黑客文化(還有Internet的工程方面的發(fā)展,就此而言)是靠自愿者運(yùn)轉(zhuǎn)的霞篡。要使Internet能正常工作血巍,就要有大量枯燥的工作不得不去完成——管理mail list萧锉,新聞組,維護(hù)大型軟件庫述寡,開發(fā)RFC和其它技術(shù)標(biāo)準(zhǔn)等等柿隙。
做這類事情的人會(huì)得到很多尊敬,因?yàn)槊咳硕贾肋@些事情是十分花時(shí)間又不象編程那樣好玩鲫凶。做這些事情需要奉獻(xiàn)精神禀崖。
- 為黑客文化本身服務(wù)
最后,你可以為這個(gè)文化本身做宣傳(例如螟炫,象我這樣波附,寫一個(gè)“如何成為黑客”的正面的教程 :-) )(譯者:不知道Barret把它翻成中文算不算?)。這并非一定要在你已經(jīng)在這個(gè)圈子呆了很久掸屡,因以上四點(diǎn)中的某點(diǎn)而出名封寞,有一定聲譽(yù)后才能去做。
黑客文化沒有領(lǐng)袖仅财。精確地說狈究,它確實(shí)有些文化英雄、部落長者盏求、歷史學(xué)家和發(fā)言人抖锥。若你在這圈內(nèi)呆的夠長,你或許成為其中之一风喇。記啄摹:黑客們不相信他們的部落長者的自夸的炫耀,因此大舉追求這種名譽(yù)是危險(xiǎn)的魂莫。與其奮力追求,不如先擺正自己的位置等它自己到你的手中——那時(shí)則要做到謙虛和優(yōu)雅爹耗。
黑客和書呆子(Nerd)的聯(lián)系
同流行的迷思相反耙考,做一名黑客并不一定要你是個(gè)書呆子。但它確實(shí)有幫助潭兽,而且許多黑客事實(shí)上是書呆子倦始。做一個(gè)深居簡出的人有助于你集中精力進(jìn)行十分重要的事情,如思考和編程山卦。
因此鞋邑,很多黑客都愿意接受“書呆子”這個(gè)外號(hào),更有甚者使用更尖刻的“geek(怪人)”一詞并引以為豪—— 這是一種宣布他們獨(dú)立于主流社會(huì)的聲明方式账蓉。訪問 The Geek Page 參加更多的討論枚碗。
如果你能集中足夠的精力做好黑客工作同時(shí)還能有正常的生活,這很好≈荆現(xiàn)在作到這一點(diǎn)比我在1970年代是新手的時(shí)候要容易的多肮雨;如今主流文化對(duì)技術(shù)怪人要友善的多。甚至有越來越多的人意識(shí)到黑客通常是很好的戀人和配偶的材料箱玷。
如果你因?yàn)樯钌喜蝗缫舛陨献龊诳驮构妫且矝]什么——至少你不會(huì)分神了∥悖或許以后你會(huì)找到自己的另一半波丰。
風(fēng)格的意義
重申一下,作為一名黑客舶得,你必須進(jìn)入黑客精神之中掰烟。當(dāng)你不在計(jì)算機(jī)邊上時(shí),你仍然有很多對(duì)黑客工作有幫助的事情可做。它們并不能替代真正的編程(沒有什么能)媚赖,但很多黑客都那么做霜瘪,并感到它們與黑客的本質(zhì)存在某些基本的連系。
- 學(xué)會(huì)流暢地用母語寫作惧磺。盡管程序員不能寫好文章的錯(cuò)誤看法相當(dāng)普遍颖对,但是有令人驚訝數(shù)目的黑客(包括所有我知道的最棒的)都是不錯(cuò)的作家。
- 閱讀科幻小說磨隘。參加科幻小說討論會(huì)缤底。(一個(gè)碰到黑客和未來會(huì)成為黑客的人的好方法)
- 學(xué)禪,并且/或者練功習(xí)武番捂。(精神修煉看來是驚人相似个唧。)
- 練就能分析音樂的聽覺,學(xué)會(huì)鑒賞特別的音樂设预。學(xué)會(huì)玩某種樂器徙歼,或唱歌。
- 提高對(duì)雙關(guān)語鳖枕、文字游戲的鑒賞能力魄梯。
這些事情,你已經(jīng)做的越多宾符,你就越是天生做黑客的材料酿秸。至于為什么偏偏是這些事情,原因并不完全清楚魏烫,但它們都涉及用到左-右腦能力的綜合辣苏,這似乎是關(guān)鍵所在(黑客們既需要清晰的邏輯思維,有時(shí)又需要偏離邏輯跳出問題的表象)哄褒。
最后稀蟋,還有一些不要去做的事情。
- 不要使用愚蠢的读处,嘩眾取寵的ID或昵稱糊治。
- 不要卷入U(xiǎn)senet(或其他地方的論壇)的罵戰(zhàn)。
- 不要自稱為“cyberpunk(網(wǎng)絡(luò)叛客)”罚舱,也不要浪費(fèi)時(shí)間和那些人打交道井辜。
- 不要讓你寄出的Email或張貼的帖子充滿錯(cuò)誤的拼寫和亂七八糟的語法。
做以上的事情管闷,只會(huì)招來嘲笑粥脚。黑客們個(gè)個(gè)記憶超群—— 你將需要數(shù)年的時(shí)間讓他們忘記你犯下的錯(cuò)誤。
網(wǎng)名的問題值得深思包个。將身份隱藏在虛假的名字后是駭客刷允、解密者冤留、d00dz 及其他低等生物幼稚愚蠢的行為特點(diǎn)。黑客不會(huì)做這些事树灶;他們對(duì)他們所作的感到驕傲纤怒,而且樂于人們將作品與他們的 真名相聯(lián)系。因此, 若你現(xiàn)在用假名天通,放棄它泊窘。在黑客文化里它會(huì)令你你失敗的。
其它資源
Peter Seebach 維護(hù)著一個(gè)非常好的 Hacker FAQ像寒,專給那些不懂如何與黑客打交道的經(jīng)理看的烘豹。如果Peter的站點(diǎn)不能訪問,下面這個(gè) Excite搜索應(yīng)該有一份拷貝诺祸。
我也著有 黑客文化簡史携悯。
我寫了一份 大教堂與市集,對(duì)于Linux及開放源代碼文化現(xiàn)象有詳細(xì)的解釋筷笨。我也在這個(gè)話題上進(jìn)一步闡述導(dǎo)致的結(jié)局—— 開拓智域憔鬼。
Rick Moen寫了一份很好的關(guān)于 如何運(yùn)轉(zhuǎn)一個(gè)Linux用戶組的文檔。
我和Rick Moen合作完成了另一份關(guān)于 提問的智慧的文章胃夏,可以讓你事半功倍的獲得幫助逊彭。
如果你想知道PC、UNIX及Internet基本概念和工作原理构订,參考 The Unix and Internet Fundamentals HOWTO。
當(dāng)你釋放出一個(gè)軟件或?yàn)槠浯蜓a(bǔ)丁避矢,試著按 軟件發(fā)行慣例 HOWTO去做悼瘾。(以上的提到的文章的中文版大多都可以在www.aka.org.cn和www.linuxforum.net找到。)
FAQ(常問問題解答)
問:你能教我做黑客嗎审胸? 問:那么亥宿,我要如何開始? 問:我得什么時(shí)候開始學(xué)砂沛?現(xiàn)在會(huì)不會(huì)太遲了烫扼? 問:要學(xué)多久才能學(xué)會(huì)黑客道? 問:Visual Basic及Delphi是好的入門語言嗎碍庵? 問:你能幫我“黑”掉一個(gè)站點(diǎn)嗎映企?或者教我怎么黑它? 問:我怎么樣才能得到別人帳號(hào)的密碼静浴? 問:我如何入侵/查看/監(jiān)視別人的Email堰氓? 問:我如何才能在IRC聊天室里偷到頻道op的特權(quán)? 問:我被黑了苹享。你能幫我避免以后再被攻擊嗎双絮? 問:我的Windows軟件出現(xiàn)問題了。你能幫我嗎? 問:我在哪里能找到可以與之交流的真正的黑客囤攀? 問:你能推薦一些有關(guān)黑客的好書嗎软免? 問:成為一名黑客我需要擅長數(shù)學(xué)嗎? 問:我該從那種語言學(xué)起焚挠? 問:我需要什么樣的機(jī)器配置膏萧? 問:我得因此憎恨和反對(duì)Microsoft嗎? 問:但開放源代碼軟件不會(huì)使程序員丟飯碗嗎宣蔚? 問:我要如何開始向抢?哪里有免費(fèi)的Unix?
問:你能教我做黑客嗎胚委?
答:自從第一次發(fā)布這份文檔挟鸠,我每周都會(huì)收到一些請求,(頻繁的話一天幾封)要我“教會(huì)他們做黑客”亩冬。遺憾的是艘希,我沒有時(shí)間和精力來做這個(gè);我自己的黑客項(xiàng)目硅急,及我作為一個(gè)開放源代碼倡導(dǎo)者的四處奔波已經(jīng)占用了我110%的時(shí)間覆享。
即便我想教你,黑客也依然基本上是一項(xiàng)自行修煉的的態(tài)度和技術(shù)营袜。當(dāng)真正的黑客想幫助你的時(shí)候撒顿,如果你乞求他們一湯匙一湯匙“喂”你的話,你會(huì)發(fā)現(xiàn)他們不會(huì)尊重你荚板。
先去學(xué)一些東西。顯示你在嘗試跪另,你能靠自己去學(xué)習(xí)。然后再去向你遇到的黑客請教特殊的問題免绿。
如果你發(fā)E-mail給一位黑客尋求他的幫助,這是兩件首要記住的事情淌哟。第一,寫出來的文字顯得懶且粗心的人通常非常懶于思考且非常馬大哈绞绒,不能成為好黑客—— 因此注意拼寫正確,使用正確的語法及發(fā)音蓬衡,否則你可能會(huì)無人理睬。第二狰晚,不要試圖要求回復(fù)到一個(gè)ISP帳號(hào),而那個(gè)帳號(hào)與你的發(fā)信地址不同壁晒。這樣做的人一般是使用盜用帳號(hào)瓷们,不會(huì)有人有興趣為虎作倀幫助竊賊的。
問:那么秒咐,我要如何開始谬晕?
答:對(duì)你而言最佳的入門方式也許是去參加LUG(Linux用戶組)的聚會(huì)。你可以找到在 LDP的綜合Linux信息頁面上找到類似的組織携取;也許有一個(gè)在你家附近的攒钳,而且非常有可能與一所大學(xué)或?qū)W校掛鉤。如果你提出要求雷滋,LUG成員興許會(huì)給你一套Linux不撑,當(dāng)然此后會(huì)幫你安裝并帶你入門。
問:我得什么時(shí)候開始學(xué)晤斩?現(xiàn)在會(huì)不會(huì)太遲了焕檬?
答:你有動(dòng)力學(xué)習(xí)的時(shí)候就是好時(shí)候。大多數(shù)人看來都是在15-20歲之間開始感興趣的澳泵,但據(jù)我所知实愚,在此年齡段之外的例外也是有的。
問:要學(xué)多久才能學(xué)會(huì)黑客道兔辅?
答:這取決于你的聰明程度和努力程度爆侣。大多數(shù)人只要他們專注,就能在18個(gè)月到2年之間學(xué)會(huì)一套令人尊敬的技能幢妄。但是,不要以為就此結(jié)束了茫负;如果你是一個(gè)真正的黑客蕉鸳,你要用你的余生來學(xué)習(xí)和完善你的技術(shù)。
問:Visual Basic及Delphi是好的入門語言嗎忍法?
答:不潮尝,因?yàn)樗麄儾皇强梢浦驳摹K麄儾皇悄切┱Z言的開放源代碼實(shí)現(xiàn)饿序,所以你被限制在廠商選擇支持的那些平臺(tái)里勉失。接受這樣一種壟斷局面不是黑客的態(tài)度。
Visual Basic特別糟糕原探。它是Microsoft的私有語言這個(gè)事實(shí)就足夠讓它臉面全無乱凿,不像其他的Basic徒蟆,它是一種設(shè)計(jì)糟糕的語言會(huì)教給你壞的編程習(xí)慣。
其中一個(gè)壞習(xí)慣是會(huì)依賴于單一廠商的函數(shù)庫全蝶、控件及開發(fā)工具抑淫。一般而言始苇,任何不能夠支持至少Linux或者一種BSD埂蕊,或其他第三方操作系統(tǒng)的語言蓄氧,都是一種不適合應(yīng)付黑客工作的語言喉童。
問:你能幫我“黑”掉一個(gè)站點(diǎn)嗎堂氯?或者教我怎么黑它咽白?
答:No晶框。任何讀完這份FAQ后還問這個(gè)問題的人授段,都是無可救藥的蠢材侵贵,即使有時(shí)間指教我也不會(huì)理睬窍育。任何發(fā)給我的此類E-mail都會(huì)被忽略或被痛罵一頓。
問:我怎么樣才能得到別人帳號(hào)的密碼么翰?
答:這是駭客行為浩嫌。滾得遠(yuǎn)遠(yuǎn)的码耐,白癡骚腥。
問:我如何入侵/查看/監(jiān)視別人的Email束铭?
答:這是駭客行為契沫。在我面前消失懈万,混蛋会通。
問:我如何才能在IRC聊天室里偷到頻道op的特權(quán)涕侈?
答:這是駭客行為驾凶。去S吧,冥頑不靈的家伙窟哺。
問:我被黑了且轨。你能幫我避免以后再被攻擊嗎?
答:不行泳挥。目前為止屉符,每次問我這個(gè)問題的矗钟,都是一些運(yùn)行Microsoft Windows的菜鳥吨艇。不可能有效的保護(hù)Windows系統(tǒng)免受駭客攻擊东涡;太多缺陷的代碼和架構(gòu)使保護(hù)Windows的努力有如隔靴搔癢疮跑。唯一可靠的預(yù)防來自轉(zhuǎn)移到Linux或其他設(shè)計(jì)得至少足夠安全的系統(tǒng)祸挪。
問:我的Windows軟件出現(xiàn)問題了贿条。你能幫我嗎整以?
答:當(dāng)然公黑。進(jìn)入DOS方式凡蚜,然后鍵入“format c:”朝蜘。你遇到的任何問題將會(huì)在幾分鐘之內(nèi)消失谱醇。
問:我在哪里能找到可以與之交流的真正的黑客?
答:最佳辦法是在你附近找一個(gè)Unix或Linux的用戶組全度,參加他們的聚會(huì)将鸵。(你可以在Metalab的LDP站點(diǎn)找到一些指向用戶組的鏈接咨堤。)
我過去曾說過不能在IRC上找到真正的黑客一喘,但我發(fā)覺現(xiàn)在情況有所改變凸克。顯然一些真正的黑客的社區(qū)像GIMP及Perl萎战,也有IRC頻道了。)
問:你能推薦一些有關(guān)黑客的好書嗎奄妨?
答:我維護(hù)著一份Linux Reading List HOWTO评雌,也許你會(huì)覺得有用直焙。 Loginataka也很有意思奔誓。
關(guān)于Python的介紹,請?jiān)L問在Python站點(diǎn)上的 入門資料。
問:成為一名黑客我需要擅長數(shù)學(xué)嗎杯聚?
答:不用幌绍。黑客道很少使用常規(guī)的數(shù)學(xué)或算術(shù)傀广,不過你絕對(duì)需要能邏輯性地思考和進(jìn)行精密的推理伪冰。
尤其是你不會(huì)用到微積分或電路分析(我們把這些留給電子工程師們 :-))贮聂。 一些有限數(shù)學(xué)(包括布爾代數(shù)吓懈,集合論,組合數(shù)學(xué)隔嫡,圖論)的背景知識(shí)會(huì)有幫助腮恩。
問:我該從那種語言學(xué)起庆揪?
答:HTML——如果你還不懂的話缸榛。市面上有一大堆的封面精美内颗,宣傳得天花亂墜的 糟糕的 HTML書籍均澳,不幸的是很少有好的找前。我最喜歡的是 HTML: The Definitive Guide躺盛。
但 HTML 不完全是一種編程語言槽惫。當(dāng)你準(zhǔn)備開始編程時(shí),我推薦從 Python起步仿耽。你會(huì)聽到一大群人推薦 Perl,并且 Perl 依然比 Python 流行得多得糜,但是難學(xué)得多且(以我之見)設(shè)計(jì)得不是很好朝抖。
C 確實(shí)重要,但它要比 Python 或 Perl 難多了急侥。不要嘗試先學(xué) C。
Windows用戶不要滿足于 Visual Basic坏怪。它會(huì)教給你壞習(xí)慣,而且它不可以移植铝宵,只能在Windows下運(yùn)行华畏。避免它。
問:我需要什么樣的機(jī)器配置亡笑?
答:過去個(gè)人電腦能力相當(dāng)不夠并且內(nèi)存小,結(jié)果給黑客的學(xué)習(xí)過程設(shè)置了人為的障礙百拓。不過一段時(shí)間以前開始就不是這樣了;任何配置比一臺(tái) Intel 486DX50 好的機(jī)器都有足夠的能力進(jìn)行開發(fā)工作决帖,X蓖捶,及 Internet 通訊,同時(shí)你現(xiàn)在買的最小的磁盤都大得富足了。(依Barret之見穿香,現(xiàn)在要至少Pentium 166MMX才夠。)
選擇用來學(xué)習(xí)的機(jī)器時(shí)重要的一點(diǎn)是注意配件是否是Linux兼容的(或BSD兼容焙蚓,如果你選擇學(xué) BSD)购公。同剛才提到的一樣宏浩,大多數(shù)現(xiàn)在的機(jī)器都是符合的比庄;唯一的值得注意的區(qū)域在于 modem和打印機(jī)佳窑;有些具備為Windows設(shè)計(jì)的配件的機(jī)器不會(huì)在Linux下工作。
關(guān)于硬件兼容性有一個(gè)FAQ溉委;最新版本在 這里薛躬。
問:我得因此憎恨和反對(duì)Microsoft嗎型宝?
答:不,你不必如此梨树。不是因?yàn)镸icrosoft不令人討厭抡四,而是因?yàn)楹诳臀幕缭?Microsoft出現(xiàn)之前就存在了指巡,且將在Microsoft成為歷史后依然存在藻雪。你耗費(fèi)在憎恨Microsoft的任何力氣不如花在愛你的技術(shù)上勉耀。寫好的代碼—— 那會(huì)相當(dāng)有效地打擊Microsoft又不會(huì)讓你得到惡報(bào)應(yīng)。
問:但開放源代碼軟件不會(huì)使程序員丟飯碗嗎枢纠?
答:看起來不太可能——目前為止京郑,開放源代碼軟件產(chǎn)業(yè)似乎創(chuàng)造了更多的就業(yè)機(jī)會(huì)而不是減少就業(yè)機(jī)會(huì)些举。如果寫一個(gè)程序比起不寫來是純經(jīng)濟(jì)收益的話户魏,那么在寫完后叼丑,程序員應(yīng)該得到報(bào)酬不管程序是否是開放源代碼。并且论寨,無論寫出多么“免費(fèi)自由”的軟件星立,都存在更多對(duì)新的爽茴,定制的軟件的需求。我有這方面更多的論述绰垂,放在開放源代碼 網(wǎng)站資料中室奏。
問:我要如何開始?哪里有免費(fèi)的Unix劲装?
答:在本份文檔的某個(gè)地方我已經(jīng)提到過何處可以得到最常用的免費(fèi)Unix胧沫。要做一名黑客,你需要自立自強(qiáng)占业,以及自學(xué)能力∪拊梗現(xiàn)在開始吧……