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