這真是一個(gè)好問題, 不止是原作者說他被問過很多次, 包括我和許多網(wǎng)絡(luò)上的朋友們也常有這個(gè)困擾. 不過和作者不同的是, 我經(jīng)常沒有一個(gè)固定的答案 :p事實(shí)上我所能提供也只是自己的經(jīng)驗(yàn), 卻沒有足夠的能力來肯定自己的看法是不是正確的. 這份文章應(yīng)該可以減去大家不少的麻煩 :)/ C2 G( B. u- e/ {0 z+ M [
% C4 Y6 Q! S( R嗯!! 這次自告奮勇當(dāng)起翻譯, 雖然是起于晚上回到住的地方之后很無聊, 可以用來打發(fā)時(shí)間. 不過我翻了百行之后, 越翻越后悔. 主要是因?yàn)槊嬗幸恍┚渥訉?shí)在很難翻譯, 這大概是因?yàn)槲业挠⑽牡鬃硬惶玫年P(guān)系吧!! 好不容易, 終于是翻完了. 為讓句子更通順或者是個(gè)人誤解, 翻譯后和原文有些出入, 這方面還請(qǐng)各位大大見諒. :-)$ m& S. a" H; P( J) G* |
+ L7 b+ s& W" J' rThinker
& V5 e" y0 L4 C3 ^--------------------------------------------------------------------------
& }5 a( Z, n& |8 p$ [- v如何成為一位 hacker4 Y% \) f9 X) ~+ `' z1 d' Z. _
' r' \& P) R$ I) @- y* i' K5 G K為何有這份文件?6 M _1 i& i3 }5 s) T& L
7 S% d, j9 i9 d3 j; N8 i9 m. F
身為 Jargon File 的編輯, 常有一些網(wǎng)絡(luò)新手發(fā) mail 問我 "如何成為一個(gè)厲害的hacker?". 但, 很奇怪的, 似乎沒有任何的 FAQs 或 Web documents 說明這么重要的問題, 所以我寫了一份我自己的看法.
0 m$ d! Q. k1 W7 L* O2 m
% K; L$ C" g2 W. O1 c8 s( i3 s如果你是以 offline 的方式在看這一份文件的某一個(gè)版本, 那么你可以在
9 y6 N' ]& h e: ^- P; l"http://www.ccil.org/~esr/faqs/hacker-howto.html" 找到這份文件的目前最新版本.
6 ~1 d( E; f/ f( P8 K0 d# T) Z: z% H) }, V- {
怎么樣才算是一位 Hacker ??7 Z# k2 _% f6 N, ~8 G3 v# e: B0 k
& F% j5 T* M, B( y6 W6 [, g8 b: d
在 Jargon File 有一堆關(guān)于 `hacker' 這個(gè)名詞的定義, 大部份必須是技術(shù)上的行家或熱衷于解決問題, 克服限制的人. 然而, 如果你想知道如何成為一位 hacker,有兩件事是很有關(guān)連的.
! I8 ^- w$ c7 Y% ^# t
- y2 f% ?: G! c& r2 A" ?這可以追溯到幾十年前第一臺(tái) minicomputer 剛誕生, ARPAnet 實(shí)驗(yàn)也剛展開的時(shí)代. 那時(shí)有一個(gè)由程序設(shè)計(jì)專家和網(wǎng)絡(luò)名人所組成的, 具有分享特質(zhì)的文化族群.這種文化的成員創(chuàng)造了 `hacker' 這個(gè)名詞. 這些 Hacker 建立了 Internet,創(chuàng)造出我們現(xiàn)在使用的 UNIX 操作系統(tǒng), 他們也使 Usenet 運(yùn)作起來, 并且讓 WorldWide Web 動(dòng)起來. 如果你是這個(gè)文化的一部分, 如果你對(duì)這些種種有所供獻(xiàn), 而且這個(gè)文化的其它成員也認(rèn)識(shí)你, 并稱你為 hacker, 那么你就是一位 hacker.6 M; c6 G: |$ A- C$ _( ~) z' C! q# G
t& a+ m7 t5 _5 n$ b) N& a- V
在精神上, hacker 并不單指(限制于)這種軟件 hacker 的文化. 有人也把 hacker的特質(zhì)發(fā)揮在其它領(lǐng)域, 例如: 電子或者音樂方面. 事實(shí)上你會(huì)發(fā)現(xiàn), 在任何一種科學(xué)或藝術(shù)的最高境界, 你都可以發(fā)現(xiàn) hacker 的特質(zhì). 軟件 hacker 們認(rèn)為,那些類似的精神也都可以稱為 "hacker". 有些人還主張 hacker 的通性是獨(dú)立于任何媒介之上的, 不特別屬于任何一種 hacker 所在的環(huán)境. 但是, 在這份文件,我們將把重點(diǎn)放在軟件 hacker 們所需的技能、態(tài)度和發(fā)明`hacker' 這個(gè)詞的分享文化的傳統(tǒng).( x5 N r" r1 [) o3 y' c: P7 P
6 Z% ~# i; w! N$ q# M7 B, h, K" x在另一個(gè)團(tuán)體, 他們的成員也很大聲的稱自己為 hacker, 但是他們不是真的 hacker.這些人(大部分是男性青年)專門闖入電腦和入侵電話系統(tǒng), 真正的 hacker 們稱他們?yōu)?`cracker', 并且不愿意和他們?cè)谝恍┳鋈魏问? hacker 們認(rèn)為這些人都是懶惰, 不負(fù)責(zé), 并且不夠光明正大的, 并且認(rèn)為能破解安全系統(tǒng)并不能使你成為一位hacker. 但是很不幸的, 很多記者和作家不明究理的使用 `hacker' 這個(gè)字來描述cracker 們; 這讓真的 hacker 們很忿怒.
: E4 k8 Q2 G5 q0 `0 M, R
8 k/ S) ]6 I% @8 @; W基本上, hacker 和 cracker 之間最主要的不同是: hacker 們創(chuàng)造新東西,cracker 們破壞東西.
# C) C9 _1 _% ]2 }7 v: g4 o
- B. j9 i5 }8 {# w4 r |如果你想要成為一位 hacker, 繼續(xù)讀下去吧. 如果你是想要成為一位 cracker, 那么就去讀 alt.2600 newsgroup 并準(zhǔn)備在你發(fā)現(xiàn)自己并不如想像中那么行時(shí), 給自己一點(diǎn)評(píng)價(jià). 所有關(guān)于 cracker 的事情就只有這些了.
, s v& @, y: S/ c) U
( W! s; s4 C# i U7 ZHacker 態(tài)度6 r7 f2 W& i: e, U" `) K) ]" d8 `
9 Q. y! z6 `7 a8 X0 Z O2 e
Hacker 們解決了問題并創(chuàng)造新東西, 他們相信自由并自愿的互相幫助. 想要被別人接受成為一位 hacker, 你必須發(fā)自內(nèi)心的表現(xiàn)出這種態(tài)度. 為了要很自發(fā)的表現(xiàn)出這種態(tài)度, 你就必須先完全認(rèn)同這些態(tài)度.' n- i2 P6 [, f
5 @* F, w8 U6 R, r4 K如果你只是把學(xué)習(xí) hacker 態(tài)度這件事當(dāng)作一種能在這個(gè)文化贏得認(rèn)同的途徑,那么你己經(jīng)乎略了真正的重點(diǎn). 由衷的接受這些態(tài)度是很這要的, 這能幫助你學(xué)習(xí)并維持你的動(dòng)機(jī). 就像那些具創(chuàng)造性的藝術(shù)一樣, 成為一位大師的最有效方法是學(xué)習(xí)大師們的精神; 并不只是學(xué)習(xí)知識(shí)和情緒而己.; i0 q4 G& P$ z( ]& S
2 T1 `' c6 y; S# u
所以, 如果你想要成為一位 hacker, 請(qǐng)反復(fù)的做下面的事情, 直到你完全領(lǐng)會(huì)它們:
7 |# X# E6 g$ p, r4 z7 m' K4 T5 `! K7 `
1. 這世上充滿著等著被解決的迷人問題.* c6 B7 m" N( n4 T0 m% t9 ^
N9 h" s1 y! M* |
作為一個(gè) hacker 是充滿快樂的, 但這是一種因?yàn)榕Φ玫匠晒鶐淼目鞓? 努力的成果則帶來動(dòng)機(jī). 成功的運(yùn)動(dòng)家的動(dòng)機(jī)則來自于, 使他們的身體不斷進(jìn)化,并把自己推向物理上的極限所帶來的快樂. 類似的情形, 要成為 hacker, 你必須要能從解決問題, 精進(jìn)技術(shù), 和運(yùn)用知識(shí)的過程中感受到一種悸動(dòng).& k! Z5 Z' C3 M5 B3 C
; j, A- Z( f5 `8 Z G2 o8 c如果你不是天生就能感受到這種悸動(dòng)的人, 那么, 為了要成為 hacker, 你必須使自己變成這樣的人. 否則, 你會(huì)發(fā)現(xiàn)你的 hacking energy 就會(huì)像性, 金錢, 和社交活動(dòng)一樣, 因?yàn)榉中亩幌サ?# r7 [& L% D# n* X/ J) h
# |) l& R/ N' @$ q% v(你也必須為你的學(xué)習(xí)能力建立一種信念直到你完成你的工作 -- 即使你只處理一小部份, 而你也不知道你到底還要學(xué)些什么東西才有辨法解決你的問題, 但是你會(huì)努力學(xué)習(xí), 準(zhǔn)備充足, 以應(yīng)付下一個(gè)問題.)
7 f2 c9 Q3 C% Z& D8 ~, {' J% O! ?; m% c1 p9 q, q7 M& R
2. 沒有任何人必須一再的解決同一個(gè)問題.
* H7 v" I6 T6 u. C, O3 E% r+ r7 a# y& Z
富創(chuàng)造力的頭腦是貴重而有限的資源. 有這么多迷人的新問題在那等著被解決.因此富創(chuàng)造力的頭腦不該被浪費(fèi)的用來重復(fù)發(fā)明輪子.! T1 \6 m2 d( H( |' T" l! I
) q: {! a$ t" R8 L
身為一位 hacker, 你必須了解到其它 hacker 們的時(shí)間也是很寶貴的 -- 所以,分享資訊, 解決問題和提供解決方案給其它 hacker 以解決新的問題, 這些幾乎算是道義上的責(zé)任.
# U9 d6 J6 K# U% O3 T, r. {2 v3 t" E4 b, u) L0 w* o2 x( r
( 即使 hacker 們所擁有的大多是從其它 hacker 的身上得來的, 但這并不意謂你必需把你創(chuàng)造的作品全部交出來, 你可以賣出足夠數(shù)量的產(chǎn)品, 以求得溫飽, 給付房租和買電腦設(shè)備, 這和 hacker 的價(jià)值觀并不相違背. 使用你的 hacking 技能以供給一個(gè)家庭的生活, 甚至是致富, 只要你仍不忘記你是一位 hacker, 那么這些行為并不會(huì)產(chǎn)生予盾. )
) q% l+ K, G0 C& e4 D ?) H/ v2 w/ W7 m) c
3. 無聊而單調(diào)的工作是有害的.: t4 m/ g" e/ G9 r1 H( b2 z
0 c) `, ~3 j# q6 LHacker 們(有創(chuàng)造力的人也是一樣)永遠(yuǎn)不該做一些無聊而單調(diào)并且愚蠢的反復(fù)性工作. 因?yàn)? 如果這樣的事情發(fā)生的話, 這表示他們正在做一些不是他們?cè)撟龅氖?- 解決新的問題. 這樣的浪費(fèi)對(duì)任何人而言都是一種傷害. 無聊單調(diào)的工作不只是無趣而己, 而且是一種有害的物質(zhì).
0 C0 u7 k& ^1 f' J& U* C+ W, U6 j% L0 ^8 D1 u1 A5 X
要做為一位 hacker 要能盡可能的自動(dòng)避免無聊, 對(duì)此你必須有相當(dāng)?shù)恼J(rèn)知. 這不只是為了你自己而已, 也是為了所有的人(尤其是其它的 hacker).
5 h6 A- V* J. C- M; y
2 D0 Q# _! r6 Y& @. B(這有一些例外. 有時(shí)侯 hacker 們會(huì)去做一些被認(rèn)為無聊或重復(fù)性的工作, 當(dāng)做腦力的訓(xùn)練, 或是為了要學(xué)習(xí)得某種技能或某種你所沒有的特殊經(jīng)驗(yàn). 不過這是一種選擇, 任何人都不該被強(qiáng)迫面對(duì)無聊事. ): W A8 w* e) U; l. r; b J
% W& ]0 |0 b0 C) p) F) r" a8 E
4. 自由才好.
1 F$ Z8 Q! P/ k% a
7 i, [/ A0 ^) T# Thacker 們天性上是反對(duì)獨(dú)裁的. 任何一個(gè)給你命令的人就能給你一個(gè)獨(dú)裁式的工作,并且可以給你一些笨的可以的理由, 停止你解決任何吸引著你的問題. 所以任何獨(dú)裁式的行為都會(huì)被挑戰(zhàn), 以免會(huì)危害到你和其它的 hacker 們.
- V6 a( S/ I7 d% n. b5 ]! k! h) V" X5 y: N9 m8 m! s$ _, ]
(這和為反對(duì)而反對(duì)是不同的, 小孩子是需要被指導(dǎo)和阻止他們犯錯(cuò). hacker 也會(huì)同意接受某些權(quán)威, 照著指示做以較短的時(shí)間得到他想要的. 不過那是一種有限且理性的協(xié)定; ..... )) b" v' Y, C! w+ Y% {
. \) H# N3 _! Z% h G專制在監(jiān)察和保密這些事上是很有效的方法. 這些行使專制的人并不相信自愿性質(zhì)的合作和資訊分享 -- 他們只相信在他們控制之下的合作關(guān)系. 所以, 身為一位 hacker,你必具有一種敵對(duì)的天性, 以對(duì)抗監(jiān)察, 秘密和使用外力強(qiáng)迫或迷惑可以信任的人等行為. 你必須以互信做為你行為的基礎(chǔ).
) W, x- a6 _. f+ ^6 D9 d- K0 r4 `( B% }7 x: y
5. 態(tài)度并非不等效于能力' G7 u5 `7 y" X1 C( a$ p
5 l9 u' S. K! Z3 W2 \0 b要成為一位 hacker, 你必須開始培養(yǎng)這些態(tài)度. 但, 如果你只是單獨(dú)的模仿某一種態(tài)度, 這并不能使你成為一位真正的 hacker, 也不會(huì)使你成為一位運(yùn)動(dòng)冠軍或搖滾明星.
I( K/ @, Z# |9 i, n5 `8 R, p( S2 Y' Q$ S$ H* J8 n# C
因此, 你必須學(xué)會(huì)猜疑態(tài)度和尊敬各種能力. Hacker 們不會(huì)想浪費(fèi)時(shí)間在虛華的人的身上, 他們尊敬的是能力 -- 特別是身為 hacker 的能力, 但對(duì)于其它方面的能力也是充滿敬意. 如果有能力追求一些很少人能弄懂的技術(shù),追求精神上的技巧, 并能集中精神, 那就再好不過了.8 w# Q7 z4 V- O% G# E
s) Q! `% n5 a, o( { y4 b
如果你尊敬各種的能力, 那么你就會(huì)樂于自己發(fā)展這些能力 -- 這會(huì)使的努力工作和奉獻(xiàn)成為一種剌激性的消遣而非一份苦差事. 這對(duì)于想要成為 hacker 的人而言, 是很重要的.+ I7 n! |6 y d
1 D- @) P5 `/ l# }% W* e# F1 p4 O一位 Hacker 所需的基本技能
; Z! U. I" u; u2 R/ s6 A; b2 }/ B( g
hacker 的精神態(tài)度是很重要的, 但技術(shù)則更是重要. hacker 的態(tài)度雖然是無可取代,但在夢(mèng)想別的 hacker 開始也叫你 hacker 前, 有些基本的工具和技術(shù)是必備的. 8 q9 C7 [+ _& A4 A$ [9 S
隨著新科技的發(fā)明和舊技術(shù)的取代, 這些工具隨時(shí)間在慢慢的改變. 例如: 以往總是會(huì)學(xué)會(huì)用機(jī)器碼寫程序, 直到最近我們開始使用 HTML. 不過, 在 1996 年末,下面所舉的工具是很明顯的被需要的:$ c" f: n/ I2 O: `3 Y4 X# ?5 n
+ d' U7 X y' _7 t4 P, I( M
1. 學(xué)習(xí)程序設(shè)計(jì).
& r" S( K: d3 H7 l. v3 }* c1 w; i3 ]3 x; C
當(dāng)然, 這是基礎(chǔ)的 hacking 技能. 在 1997 年, 理所當(dāng)然的, 你必須學(xué)會(huì) C. 但,如果你只是學(xué)一種語言, 那么你不能算是一位 hacker, 了不起只能算是一個(gè)programmer. 除此, 你還必須學(xué)會(huì)學(xué)會(huì)以獨(dú)立于任何程序語言之上的概括性觀念來思考一件程序設(shè)計(jì)上的問題. 要成為一位真正的 hacker, 你必須要能在幾天之內(nèi)將manual 內(nèi)容和你目前己經(jīng)知道的關(guān)連起學(xué)會(huì)一種新的語言. 也就是說, 你必會(huì)學(xué)會(huì)數(shù)個(gè)不同的語言.
4 h8 f# m6 v7 M! t5 C8 F/ M% e% H- a/ G" g0 M+ V- T
還了 C 之外, 你至少還要會(huì) LISP 或 Perl (Java 也正在努力的擠上這個(gè)名單;譯者注: 我很懷疑這份名單說 :p ). 除了幾重要的 hacking 常用語言之外,這些語言提供你一些不同的程序設(shè)計(jì)途徑, 并且讓你在好的方法中學(xué)習(xí)., Q9 `! K% u: K# u
5 P. m4 f/ u. `% v, _9 G! \
程序設(shè)計(jì)是一種復(fù)雜的技術(shù), 我沒辨法在這提供完整的學(xué)習(xí)步驟. 但是我能告訴你一些在書本上和課堂上所沒有的東西 (有很多, 幾乎全部最好的 hacker 們都是自習(xí)而來的). (a) 讀別人的程序碼 和 (b) 寫程序, 這兩項(xiàng)是不錯(cuò)的方法.
6 e" @8 L$ u2 o. u% x- b! I1 B9 h
, Z4 U5 `: Y; x1 A4 I學(xué)習(xí)寫程序就像在學(xué)習(xí)寫一種良好的自然語言, 最好的方法是去看一些專家們所寫的東西, 然后寫一些你自己的東西, 然后讀更多, 再寫更多 ... 然后一直持續(xù), 一直到你發(fā)展出一種屬于自己的風(fēng)格和特色.
. ~7 G) U) {9 l( K3 c, J2 |
' Y) j5 l3 ~0 X: I; W/ h! Z要找到好的程序碼來看是很一件很困難的事, 因?yàn)? 對(duì)菜鳥 hacker 們而言, 適于供他們閱讀和努力的大型程序的 source 數(shù)量很少. 但這事己有了戲劇性的變化了;現(xiàn)在免費(fèi)的供應(yīng)的軟件、程序設(shè)計(jì)工具和操作系統(tǒng)(大都公開提供 source, 而且全都是由 hacker 們寫成的)到處可看. 進(jìn)入下一個(gè)主題...% \6 Y! l: x# o
* w5 a% {) y! V" ^' u. j, J( `
2. 取得一個(gè)免費(fèi)的 UNIX , 并學(xué)習(xí)使用和維護(hù).5 c! a: u! L, L
4 X, U2 {6 L i5 L# H, X* n我先假設(shè)你己經(jīng)有一部個(gè)人電腦或者是可以使用任何一部 (現(xiàn)在的小孩子真幸福,可如此輕易的擁有 :-)). 取得 hacker 技巧的第一個(gè)步驟是取得一份 Linux 或者一份免費(fèi)的 BSD-Unix, 并將它安裝在自己的機(jī)器, 并使之順利的運(yùn)作.) B3 H5 x& Q4 \1 H! r
: {. d" j4 i( u8 T' B' h沒錯(cuò), 在這個(gè)世界上除了 Unix 之外, 還有其它的操作系統(tǒng). 但是他們只提供 bianry, 你不能看到他們的程序碼, 你也不能修改他們. 想要在 DOS 或 Windows或 MacOS 開始 hacking, 無疑就是要你綁著枷鎖跳舞一樣.5 C o0 B0 W+ G& d) m6 B
& H4 U, N, v8 J除此之外, Unix 是 Internet 上的操作系統(tǒng). 當(dāng)你在不懂 Unix 的情況下學(xué)習(xí)使用Internet 時(shí), 你沒辨法在不懂 Unix 的情況下成為 Internet 的 hacker. 因?yàn)檫@個(gè)原故, 現(xiàn)在的hacker 文化還是很牢固的以 Unix 為中心繞著. (這并不完全是正確的, 而且有些活在舊時(shí)代的hacker 甚至也不喜歡這種情形, 但是 Unix 和Internet 之間的共生共成己經(jīng)到了牢不可破的地步, 即使是 Microsoft 的大塊肌肉也沒能在上面留下明顯的傷痕.)" J& t; c0 x+ Z3 J; a7 N8 w, G7 G
- V' r* d3 {2 X- m0 ?) g
因些, 把 Unix 裝起來吧! (我自己是喜歡 Linux, 但是還有其它的東東可用.) 學(xué)習(xí)它, 讓它運(yùn)作起來, 讓它陪你努力精進(jìn). 用他向整個(gè) Internet 喊話. 看程序碼,改程序. 有一天你成為一位高竿的 hacker, 你回頭往后看時(shí)會(huì)發(fā)現(xiàn), 你得到比Microsoft 操作系統(tǒng)所能提供的還要好的程序設(shè)計(jì)工具(包括 C, Lisp和 Perl).而且得到快樂, 并學(xué)到比你想像中的還要多的知識(shí).
1 m0 v$ Y X- U3 ] s
- P/ q6 C5 N/ |$ ^1 H關(guān)于學(xué)習(xí) Unix, 在 Loginataka 有更多的資料.(http://www.ccil.org/~esr/faqs/loginataka.html)0 e2 \6 ^( x3 X0 G+ w
9 ~, L" |% s4 j: |看一下 Linux distribution 的目錄或 Linux CD, 并把自己交付給它.% @: T3 j& @0 F5 k
, E& Y7 o4 k" i S
3. 學(xué)習(xí)使用 World Wide Web 并學(xué)會(huì)寫 HTML. o7 E6 x, M) ?
& q8 r3 f# [% z8 P# u( e
在 hacker 文化創(chuàng)造出來的東西, 大多在他們的活動(dòng)范圍外被使用著, 如, 在工廠和辨公室或大學(xué)被漠漠的使用著. 但 Web 是一個(gè)很大的例外, 這個(gè) hacker 眼中的大玩具甚至還被政客們接受, 并巧巧的在改變這個(gè)世界. 因此(還有很多好的理由),你必須學(xué)習(xí) Web.! }; D% G+ d/ v
/ b, L0 T7 t! w: r0 N) g, g* m
并不只是學(xué)習(xí)使用 browser (這太容易了)而己, 還要學(xué)會(huì)寫 HTML 這個(gè) Web 的標(biāo)簽語言. 如果你不知道如何設(shè)計(jì)程序, 寫 HTML 也可以給一些習(xí)慣上的幫助.嗯!! 建立 home page 吧!
6 Y: Z* T2 n& C# }, v# @$ B0 Z) J6 F/ f! S
不過, 有一個(gè) home page 并沒任何特別之處能讓你成為一位 hacker. Web 上到處都是 home page, 而且大部份都沒什么重點(diǎn), 沒什么內(nèi)容的爛泥 -- 很好看的爛泥巴,但是看起來都一樣, 差不多.
( \/ T5 v/ q3 P2 ^. o6 n(http://www.ccil.org/~esr/html-hell.html)5 R8 J* n; F0 G0 |2 Z {
, x0 D B# @: q) G為了讓你的 page 有其價(jià)值, 它必須是有內(nèi)容的東西 -- 它必須是有趣并且(或者)對(duì)其它 hacker 有用處的. F( y4 |3 e$ x7 D
/ m' G$ s6 d( B
Hacker 文化的狀況" L+ |' a$ f K% O
7 S( B& X5 c$ H就像大多數(shù)沒有經(jīng)濟(jì)活動(dòng)的文化一樣, hackerdom 的運(yùn)作是建立在名望之上. 當(dāng)你嘗試去解決一個(gè)有趣的問題時(shí), 你所做事是否有趣, 你的解決方案是不是真的好用, 這些只有你的技術(shù)上的同好或前輩準(zhǔn)備好為你做評(píng)價(jià).
* \5 O0 X9 N: F
: U R- }7 i' Q0 j' J# `+ A因此, 當(dāng)你開始玩起 hacker 的游戲時(shí), 你的主要分?jǐn)?shù)是來自其它 hacker 們對(duì)你的技術(shù)的看法(這就是為什么只當(dāng)其它的 hacker 都認(rèn)為你是 hacker 時(shí), 你才算是一位真正的 hacker). 這個(gè)事實(shí)被人們認(rèn)為 hacking 是一種孤獨(dú)的工作的印象所朦敝了; 也被hacker 文化的禁忌(現(xiàn)在己漸漸的朽壞了, 但依然存在) 和存在人們內(nèi)心動(dòng)機(jī)的自大或特權(quán)之間的沖突所朦敝.
5 T* z" W. y t7 X; y2 @0 q" f8 s
0 u2 X0 \2 D0 m- l' ?" w6 T具體的說, hackerdom 就是人類學(xué)家所說的「天才文化」.你在其中所得到的地位和名望并不來自于支配其它人, 或是因?yàn)殚L(zhǎng)的漂亮, 或因?yàn)槟阌幸恍﹦e人想要的東西, 而是因?yàn)槟闼统鰱|西. 特別是, 你給送出你的時(shí)間,你的創(chuàng)造力和你的技術(shù)成果.
1 j9 P; [( T" }+ L4 w) d ]8 q/ E! W4 I
下面有五種事, 你會(huì)因?yàn)樽隽诉@些事而愛到 hacker 們尊敬:
8 @4 w2 F7 L7 A& h" C4 a2 A& J' J+ g2 p
1. 寫免費(fèi)的軟件.
0 L# h3 ^% y; o# Y! u. W# t4 ^" V; X$ q6 G6 g) ]
第一種是寫那些其它 hacker 們覺的有趣或好用的程序, 并把 source 公開開放給整個(gè) hacker 文化中的人使用.6 @+ \! ~6 `' Q" r( i' X
2 M( t2 @6 u' Rhackerdom 最愛尊敬的是寫出大而功能強(qiáng)的程序的人, 而且這程序是廣為大家需要的,所以大家都在做用這些程序.* Q# l+ b3 i/ `' h6 o
1 y/ J% \8 }) d- H. J
2. 幫忙 test 和 debug 免費(fèi)的軟件
* z4 e% ^5 d8 K% \4 b! L
* L: N3 Q& D8 N" n5 Thacker 們也尊敬幫忙 debug 免費(fèi)軟件的人. 在這個(gè)不是很完美的世界, 你不可避免的必須花掉大部分的軟件發(fā)展周期在 debug 階段上. 這就是為什么在任何免費(fèi)軟件發(fā)展者的腦子都會(huì)告訴你一件事, 好的 beta 測(cè)試者(能很很清楚的描述發(fā)生的狀況,正確的發(fā)現(xiàn)問題出處, 可以容忍測(cè)試版本的 bug, 并且能進(jìn)行一些簡(jiǎn)單的診斷程序)和紅寶石一樣貴重.; _$ Q6 C7 {$ n2 I- M2 M
1 p4 g! ~) I' |, K1 c5 }. `
如果你是一只菜鳥, 試著開始去找一個(gè)你有興趣的正在發(fā)展中的程序, 并且成為一位好的 beta 測(cè)試者. 從幫忙測(cè)試開始, 很自然的你開始幫忙 debug, 進(jìn)而開始幫忙修改程序. 你將在這過程中學(xué)習(xí)到很多東西, 并,且和以后可以幫助你的人結(jié)下因果.
+ G8 O6 ~: e$ I1 P# f, s ]# M+ b _0 z8 t
3. 公布有用的資訊.( V1 z/ m* x3 h2 F. Z' S
+ z" K0 m8 v5 v1 F另一項(xiàng)好事是收集和過濾有用和有趣的資訊, 整理成 Web page 或 FAQ 之類的文件, 讓大家能很容易的收得., g4 J* Y4 T$ P( B# {0 X% }* {( Q5 m
1 G; p" a8 e# K
幾種主要技術(shù) FAQ 的維護(hù)者都能得和免費(fèi)軟件的作者幾乎一樣多的尊敬.- I9 x. u X! T0 k$ D* N, ]
( k% Y9 B. }9 j# }# G! s
4. 幫忙維持一些簡(jiǎn)單的工作. \- R. B3 i9 V+ V2 q' [
* L T, P l8 [, H# M3 K
hacker 文化是由一群自愿者維持運(yùn)作著. 有一些工作很無趣但卻必須維持正常運(yùn)作的, 如: 管理 mailing list, 維護(hù) newsgroup, 維持大的軟件供應(yīng)站臺(tái), 推動(dòng)RFC 和其它技術(shù)標(biāo)準(zhǔn).
3 D8 h5 ^ C& ?5 m2 ]- f$ |* Y& E. H
做這類的事將會(huì)得到很多的尊敬, 因?yàn)榇蠹叶贾肋@些工作是很花時(shí)間, 但又不像玩弄程序碼般有趣.8 ~$ @( U+ x# B/ b' b
% |( {" S. g. x" {: ^. s5 g5. 為 hacker 文化而努力.
1 |7 {) R' A; ^7 B) f, X" L8 {; j$ Y( W2 G
最后一項(xiàng), 你可以為這個(gè)文化效勞, 并推廣這個(gè)文化(例如, 寫一份正確的入門手冊(cè),教別人如何成為一位 hacker :-)). 在你因?yàn)樽隽饲懊嫠募轮欢雒? 這不是你該做的事.9 \+ h- ~" n4 ]7 h( ?" o. ? |
! w6 s0 k" d: y4 Y) W2 s9 |
正確的說, hacker 文化并沒有任何的領(lǐng)導(dǎo)者, 但在這文化有所謂的文化英雄,族群歷史學(xué)家. 當(dāng)你在其中混的夠久之后, 你也許會(huì)成為這之中的一員. 注意:hacker 們并不相信族群, 喧騷自大的長(zhǎng)者, 所以成為這樣的長(zhǎng)者是非常的危險(xiǎn).與其去和別人競(jìng)爭(zhēng), 你寧可為自己定位, 給自己一個(gè)親切譜虛的身份.
) W. D* G3 c; T
+ C3 O6 H( O( e |5 n7 Y [) cHacker 和 Nerd(怪胎) 的關(guān)系
& |: ^- q. f0 ], j6 c* X3 Y: O8 p* h- n& U4 J' L
成為一位 hacker, 你不需要成為令人討厭的人(Nerd), 反于社會(huì)常態(tài). 然而, 這對(duì)你而言卻是非常有幫助的, 而且有很多 hacker 也是讓人討厭的人. 當(dāng)一個(gè)社會(huì)的浪人有益于讓你專心在真正重要的事情上面, 例如: 思考和 hacking.
* O7 ]1 `+ r: n: e; U0 M! g4 x7 T! ^
因此, 有很多 hacker 們接受了 `nerd' 這種稱呼, 甚至是使用 `geek'(雜耍演員) 這個(gè)字眼, 并引以為傲 -- 這是一種說明他們獨(dú)主于世俗習(xí)慣之外的方法. 在 The GeekPage 可找到更多相關(guān)的討論。8 X$ S9 y$ c4 f& F, R: B
(http://samsara.circus.com/~omni/geek.html)
6 {- L3 y( z9 P( N
, O9 b5 o! K5 r! J1 C+ _如果你能夠適當(dāng)?shù)膶W⒂?hacking 這事上面, 并且還保有你的生活, 那很好. 而且現(xiàn)在要做到這樣, 比起以前我還是個(gè)菜鳥時(shí)容易. 主流文化現(xiàn)在也較為 techno-nerd (技術(shù)怪胎)所接受. 甚至有越來越多的人認(rèn)為 hacker 們可以是很好的男朋友, 女朋友,老公和老婆. 在 Girl's Guide to Geek Guys 可找到更多相關(guān)的訊息。, F$ d) d, l8 Z% _3 I
(http://www.bunnyhop.com/BH5/geekguys.html)
8 e) r' k0 I+ w" ^9 P( w& W/ S+ k- s. O, L
如果你是因?yàn)闆]有生活而想開始 hacking, 那也沒關(guān)系, 至少你就沒有不能專心的問題了. 也許不久之后你就是一位 hacker 了.. O3 Q) j/ n0 a' N) R
3 B/ W3 H) k- P! |9 C# r9 @風(fēng)范要點(diǎn)
5 s5 X( w0 c& _3 L# O4 J t2 Q( _: t! O
再一次的強(qiáng)調(diào), 要成為 hacker 就要了解 hacker 的精神. 如果你并不玩電腦, 那么還是有一些事情可以幫助你. 這些不能成為 hacker 的代替品, 不過有不少的 hacker經(jīng)常做這些事, 并認(rèn)為這些事和 hacking 的本質(zhì)有某種基本的關(guān)連.
# @# o4 Q: }$ t8 ?; l
3 ~! L2 a- p' T4 x* 閱讀科學(xué)小說, 并參加小說的聚會(huì)(這是一個(gè)遇到 hacker 和原始 hacker們的好方法).
, @* D8 o2 W) X E- s! ?* \* 學(xué)禪, 并且(或者)接觸戰(zhàn)爭(zhēng)的藝術(shù). (鋼鐵般的紀(jì)律似乎很重要.)- L/ H2 b6 g6 ?% P3 S: R
* 訓(xùn)練你的耳朵對(duì)音樂的分析能力, 試著欣賞某種特殊的音樂, 并好好的玩一些樂器或者唱歌.
3 Q# x; \! t$ M* 增加對(duì)于俏皮話和文字游戲的認(rèn)識(shí).7 p( G9 l. g9 U7 H- P g
* 加強(qiáng)你的母語寫作能力. (有很驚人數(shù)量的 hacker, 都是不錯(cuò)的作家. 這包括一位我所知道的最好的 hacker.)6 v# X9 `1 _# z5 R* Z5 P8 W( A
, T0 P5 X/ L% J# c) E) N& r( L
你做越多這些事, 那么你就愈是天生 hacker 的料。
/ O E4 v8 e% L- {8 X. R: C2 R0 Q! O* w- X2 q8 Q) w" B! m
最后, 有一些事千萬不要做.. v( s0 ?: M! ?% S ]5 B4 b
( b; V2 P7 {+ D' N* 不要使用愚蠢而夸張的代號(hào)(user ID)或化名.
" V2 U8 \! G$ s( |* 不要加入 Usenet 的戰(zhàn)火 (或者任何地方的).0 N( {: X7 V# B& I8 L' u0 M
* 不要自稱為 `cyberpunk'(電腦搗蛋玩家),也不要浪費(fèi)任何時(shí)間在這么做的人身上.
* ~$ L9 S( Z2 _0 c' }) I, B* 不要 post 或 email 一些充滿錯(cuò)字或文法錯(cuò)誤的文章.
: f6 H1 V$ r7 F0 E; L# A5 |" H& a' D5 a: q' ^% w; P
做了這些事的結(jié)果只是為你招來大家的責(zé)難和批評(píng). Hacker 們的記憶力都很好, 他們會(huì)' `/ F1 @% N$ \8 N4 W
一直記住你的所做所為, 你可能要花數(shù)年的時(shí)間才有辨法讓他們重新接受你.% f/ x& b+ @- x, U/ C& V% I
% |2 {4 h8 \5 |& a其它的資源
6 o6 S; w3 `' @$ |# ^1 y8 `
8 f$ u9 e3 b# s5 D. V1 _- }Loginataka 有提到一些關(guān)于 Unix hacker 的訓(xùn)練和態(tài)度.4 ?0 f% M2 v/ U# K- }
(http://www.ccil.org/~esr/faqs/loginataka.html)
. W; n3 \; E7 `& u1 v* s
. U* T) G, b( a- q# ]: X8 p我也寫了關(guān)于 Hackerdom 歷史的簡(jiǎn)介.
7 [/ I" ?- J; t' E% D* y- ?(http://www.ccil.org/~esr/faqs/hacker-hist.html)4 _/ t: D* c, f
; |3 a. I, E8 E2 z$ @- V0 q
Peter Seebach 也維護(hù)了一份很不錯(cuò)的 Hacker FAQ, 這份文件是專門給不知道
& X' v' o& @/ |8 ^6 p如何和 hacker 們相處的經(jīng)理人們看的.$ m: N J2 c* d2 J2 K4 G+ o
(http://www.solon.com/~seebs/faqs/hacker.html)$ |; U& h5 x; I* W$ q) T
% [+ s; ~# o$ e4 r) k" r
我也寫了一份 paper「Cathedral and the Bazaar」, 上面解釋 Linux 文化的運(yùn)作- A! Q' c. v4 u) C( q' |
方式. 你可以在我寫的page 上找的到.1 Y* L' r& y1 }0 o0 M6 N; r
(http://www.ccil.org/~esr/writings/index.html)0 M; Q% ]% k' u8 c. s+ S
! [/ n1 p, K! W; j% \
常被提出的問題 (FAQ)
; k0 O$ `" u* ]- J4 x( n6 \2 n0 x& T6 j: z8 h
Q: 你能教我如何 hack 嗎?& Z6 k. H% Z0 |3 d5 |
. E, F( p$ Y @) ~自從公開這個(gè) page 以來, 我每周都收到很多人來信問"請(qǐng)告訴我所有關(guān)于 hacking的事". 但很不幸的, 我沒有這個(gè)時(shí)間或者是精力去做這件事; 我的 hacking project已經(jīng)用掉我 110% 的時(shí)間了.2 J- ? e+ r Y; H
, G/ t) a: p- u" v% \3 N就算我愿意, 但是基本上, hacking 是一種必須自習(xí)而成的生活態(tài)度和技術(shù). 你會(huì)發(fā)現(xiàn),當(dāng)真正 hackers 愿意幫助你的同時(shí),你將得不到他們的尊敬,若你求他們把會(huì)的東西都直接給你的話。
2 O# i2 e% u. ?
* t8 P$ v: l3 k$ B( c' j/ p2 F1 e先學(xué)一點(diǎn)東西吧! 表現(xiàn)出你正在努力嘗試, 你有能力獨(dú)立學(xué)習(xí)的. 然后再帶著你所遇到的難題去和 hacker 見面.$ }6 s. O9 M) T' A
' P+ r1 Q% X4 U- {/ C
Q: 我要在那才能找的到一位真的 hacker 并和他們交談?. \7 B( E. `2 }. V( m9 w, B
! j6 p- J- W" k& P
很好, 不過很確定的, 不會(huì)在 IRC. 就我所能看到的, 那除了騙子和 cracker 之外什么也沒有. 最好的方法是找到一個(gè)在你附近的 Unix 或 Linux 的使用群, 并加入他們,參加他們的聚會(huì) (在 Linux Users' Group page on Sunite 有一份目錄).
% V' o/ B* E r% u(http://unc.sunsite.edu/linux/ldp/lugs.html)8 s5 m( `) d2 X( y/ i5 V* Q2 }
+ e' t* Z, }* j) X5 u
Q: 我應(yīng)該從那一種語言開始學(xué)呢?; X' W5 K+ M1 w$ H g
) J: K5 P, M8 P o3 b
如果你真的不懂 HTML 的話, 那就從它開始吧. 市面上有很多外表光鮮亮麗的 HTML爛書. 我最喜歡的一本是 HTML: The Definitive Guide.5 Y2 m: \* C! D) \9 c+ A7 k
(http://www.ora.com/catalog/html2/); u* _; @& i( u
* v" I' @ v" \$ v: s如果你已經(jīng)準(zhǔn)備好開始學(xué) programming 了, 我會(huì)建議你從 Perl(http://www.perl.com/)或 Python(http://www.python.org/)開始. 而 C 是真的很重要, 不過它也真的很難.7 P( U0 |4 r6 W
3 t$ A# |1 g' @0 X8 YQ: 我要如何開始呢? 在那能拿到免費(fèi)的 Unix 呢?
; ?2 m; ~. X3 v: l6 B# `0 |2 c1 l# q1 A- j
我在這 page 內(nèi)到處都有指向取得 Linux 的地方. 要成為一位hacker, 你必須要有動(dòng)機(jī)并且主動(dòng)進(jìn)取還要獨(dú)立學(xué)習(xí). 就從現(xiàn)在開始吧....& h( u- p3 } H7 v3 k; G7 K% X3 q
$ y1 |" U1 P1 F/ w |