回英文首頁 | 到英文主頁網頁地圖 | Date: 1999/12/27 |
若你只是離線地閱讀本文, 你可到這裡閱讀本文的最新中文版本.
最初駭客是形容一班最初使用早期微電腦及ARPAnet實驗的專業程式員及網絡專才. 他們崇尚共享主義,他們建立互聯網,他們建立及發展成現今的Unix作業系統.他們管理Usenet討論組. 亦是他們令互聯網運作.因此, 若你有上述的特性及參與同類的社群,亦有對以上種種作出貢獻,同時社群的人知你是誰又稱你為駭客, 你便是駭客.
然而,駭客的理念並非只局限於這"軟件"的社群. 有很多人應用駭客的態度於其他事物,如電子或音樂上-- 實際上,駭客的理念存在於任何科學及文學. 由於了解駭客的理念及精神,軟件社群的駭客亦會稱後者為駭客. 有些人亦認為駭客的理念是獨立於駭客所從事的媒體. 然而, 我們將在這篇文章專注討論軟件駭客的技巧, 態度及傳統.
另外, 有一群人亦稱自已為"駭客", 他們(多數是年青人)用電腦侵入其他電腦的系統作出破壞.駭客們稱這群人為"破壞者(Cracker)", 亦不認同他們為駭客. 多數 駭客會認為破壞者是懶惰, 不負責任, 不傑出的人. 有能力侵入保安系統並不能使你成為駭客, 正如可以用鐵線來偷車並不能使你成為工程司一樣. 不幸的是很多作家及報導員均稱這群人為"駭客".
CRACKER 與 HACKER的主要分別是前者破壞, 後者建立.
若你想成為駭客, 請看下去, 若你只想成為CRACKER, 請到alt.2600討論小組, 準備作出系統破壞. 我相信你不會感到自己是想像中的聰穎. 我對CRACKER便說到這裡為止.
相信上述的態度並非只認為要被接受為駭客, 而是要使你能學習及保持成為駭客的自發性. 正如其他的創作藝術一樣. 學習必須同時著重理念與態度.
所以, 要成為駭客, 仔細了解下列各點, 直至你相信為止:
若你並非此類人, 要成為駭客你便需要作出改變. 否則你的駭客生涯及能量只會被性慾, 金錢及社會的既定價值觀所消耗, 一點一滴地消耗.
(你亦需有強烈信念, 相信縱使你暫停不能解決整個問題, 只是你能解決其中一部份, 及能從中學習, 你會可以解決另外的一部份 --- 直至解決整個問題)
要成為駭客, 你必須相信其他駭客的思想時間非常寶貴, 所以你有道德上的責任去分享資訊, 解決問題及將其解決方法分享, 使其他駭客不須再花時間解決同樣問題, 而可以用時間解決新的難題.
(你不須相信你必須將所有你的創作分享, 縱使願意如此做的駭客是最從人專重的.售賣足夠的創作以購買食物, 支付租金及使用電腦的費用並不違反駭客的價值觀. 運用你的駭客技能養活家庭, 甚至致富亦可以, 只要你做這些事時不要忘記你是一名駭客)
要成為駭客, 你必須相信此觀念以令你將所有沉悶及乏味的事情儘量自動化, 不止為自己而是為其他人(其他駭客).
(但有時為了鍛鍊, 或獲得某種技術及經驗, 駭客亦要做那些重複又乏味的事情, 但這是個人選擇, 沒有一個善於思想的人應被逼做沉悶的事)
(這並不是向所有權力挑戰, 正如小孩需要成人指導, 罪犯須被壓抑. 駭客可同意接受某些權力. 但只是有限及有意識地同意接受. 那種極權主義的人所要求的 絕非駭客所能認同)
極權主義者很喜歡"禁制"及"保密", 他們不相信自由合作及資訊交流 -- 他們由 接受可以由他們操控的"合作"形式. 因此, 駭客必須對抗不合理的禁制, 保密及以暴力或欺瞞壓逼人民的手段.
因此, 駭客須要相信能力. 任何方面的能力都是好的, 一些只有少數人可領略的才能"更好", 而"最好"是一些需 要高度智慧, 技巧及高度集中力的才能.
若你尊敬才能,亦渴望得到 - - 你所付出的努力將成為樂趣而非沉悶的事情, 這亦是駭客必須擁有的.
由於科技不斷演進,這些基本知識會不斷改變.(例如,以前須要機械碼才能編寫電腦程式,但近來人們卻愛用HTML.) 在現在,你需要下列知識:
但緊記,若你只懂一種電腦程式語言,你不能成為電腦程式員,更遑論成為駭客 - - 你需要了解程式編寫方法, 而且不受任何一種電腦程式語言限制. 因此, 你要學習如何只參看使用者指引, 將其中內容與你所學關聯, 便能於數天內學懂一種新的電腦程式語言. 即是你要學習多種不同的電腦程式語言.
如果你對電腦程式要求嚴格, 你必須學習unix的核心語言-- C (雖然 C 並不應是你第一種學習的電腦程式語言). 其他駭客需要學習的包括Perl及LISP. 由於實用性, Perl是值得學的,Perl是廣泛地用於Active Web Pages及系統管理上的, 因此就算你不會用Perl來編寫程式你亦需學習如何閱讀及了解Perl. 至於學習LISP能 給你一個意想不到的寶貴經驗, 有助你於日後的日子裡寫便好的電腦程式, 縱使你可能不會時常用LISP來編寫程式.
因此, 你最好完成以上四種電腦程式語言的學習(Python, C, Perl 及 LISP). 除了是最重要的駭客語言, 它們亦代表不同的程式編寫方法. 每種語言都從不同方向 使你獲得寶貴經驗.
我不可能在此教導你如何編寫電腦程式, 因為這是一門複雜的技能. 我只可對你說的就是 -- 書本與課程並不有效 (很多,甚或是大多數的駭客 都是自學的). 最有效學習電腦程式是(一)閱讀程式碼 (二)編寫程式碼
學習編寫電腦程式就如學習普通語言一樣, 最佳方法是閱讀一些別人的大作, 然後寫一些程式, 再閱讀多些, 再寫多些 ... 直至你發展出你獨有的一套編寫電腦程式方法.
尋找好的程式用以閱讀和學習是非常困難的, 以往是很缺乏一些比較大型的程式供初學的駭客練習. 但現在情 況已經有所改變;開放程式碼的軟件, 電腦程式編寫工具, 及作業系統(都是由駭客創造)現時是很容易便可以取 得. 正好帶領我們到下一個題目 ...
當然, 世界上除了UNIX外還有很多其他作業系統, 但它們都是以二進制形式分發的 - - 你不但不能閱讀 那些程式碼, 你亦不能改動它們. 在DOS,WINDOWS或MAC 或等作業系統上從事駭客活動, 便像穿著盔甲 學跳舞一樣.
另外, UNIX是互聯網上的作業系統、 雖然你可以不懂UNIX但仍能使用互聯網, 但若你不懂UNIX, 你不能在 互聯網上從事駭客活動. 因此, 現今駭客們大多是精於及偏愛UNIX的. (以前的駭客可能不同意, 但互聯網 及UNIX的相互關係已令其他 -- 包括微軟的作業系統難於取代.
所以, 請安裝一套UNIX -- 我個人喜愛LINUX但其實有其他種類的(你可以同時安裝LINUX及DOS/WINDOWS在 同一電腦上). 學習它, 使用它, 把玩它. 用它來上互聯網. 閱讀及改動它的程式碼. 它比微軟等的作業 系統提供更好的程式工具(包括C, LISP, Python及Perl). 你會得到趣味及學到比你想像更多更佳的知識.
要知多點關於學習UNIX的資料請到Loginataka
要得到LINUX, 請到此
要知多點關於BSD UNIX 的資料及協助請到www.bsd.org.
(註:若你是初學者,我不建議你獨自安裝LINUX或BSD. 若你欲安裝LINUX,到一些LINUX的使用者團體尋 求協助; 或到Linux Internet Support Co-operative (LISC)的IRC 頻道看看.)
這不是說你要學如何使用瀏覽器(人人都懂使用..), 我是說你首先要學用HTML來寫網頁. 若你根本不懂寫程式,用HTML來寫網頁可幫助你得到一些程式編寫的基本概念.
可是寫網頁仍不足夠, 在互聯網上有很多網頁, 但大部份是沒有方向, 明顯地沒有內涵的網頁. (你大可到The HTML Hell Page看看)
所以, 你的網頁一定要有內容—必須是有趣的及/或有用的(對其他駭客), 這便是我在下一個題目要說的..
因此, 要玩駭客這個遊戲, 你要以其他駭客對你的觀感作為自己的評價. (正如我說你不是駭客,除非其他駭客亦稱你為駭客).不過這事實卻有時被人誤解, 因為他們多以為駭客是孤獨地工作的人.
人類學家稱駭客為貢獻社群. 駭客得到地位及名譽並非來自強於他人的權力, 亦非由於外表美麗, 或有異於常人的能力,而是源於施與.清晰地說,是將你的時間, 創意及創意的結果貢獻他人.
基本上, 你可以貢獻5方面的東西以獲得其他駭客的尊重:
(人們以前會稱此類程式為”免費軟件”, 但由於太多人將”免費軟件”的意義誤解. 現時大部份人稱此類程式為公開程式碼的軟件) 駭客界最受人尊重的聖者是一些編寫大型, 功能強勁而又很有用的公開程式碼軟件, 供其他人使用.
若你是初學者, 你可以找一些正在開發階段而你又感興趣的程式來做測試及除錯. 當你懂得測試及除錯, 你自然會學習更改程式.這樣,你不單可以學習, 亦可以與其他專家建立良好的關係,而他們亦很可能會於未來給予你幫助.
技術性FAQ的經營者往往很多人的專重, 如同編寫公開程式碼的軟件的專家一樣.
做以上工作的人得到很多人的專重, 因為人人都知道此種工作是很花費時間但又不如編寫程式般有趣.此等工作須要使命感.
駭客社群沒有一個既定的領導者, 但卻有為人尊重的英雄及長老級人物等發言人. 當你在此有一段時間的經驗,你可能會成為其中的英雄或長老.但記著,駭客社群對傲慢的自我中心者並不認同, 所以不要成為如斯的領導人物.你不應追求成為領導人物, 你應了解自己的方向及以謙虛的心來看自己的地位及身份.
因此,很多駭客都以怪客為名, 並以此表示自己獨立於社會一般的觀念. 你可看這裡得到更多此等討論.
若你可以集中精神從事駭客活動, 做得又好而又可以維持生命, 實在是很難得的事. 比起70年代來說現在做駭客是比較容易的了.人們亦開始了解駭客其實是高質素的人才.
但若你是由於太苦悶而做駭客的話, 我亦歡迎你, 最少你可以比較專心地從事駭客活動, 可能有一天你會得到人生的樂趣.
最後,一些你不應做的事情
用假名的問題值得我們深思. 將身份隱藏是小孩子的做法,另是Cracker, warez d00dz 及其他低等生物的特徵. 駭客不會做這些事; 他們對自己的創作及行為表示驕傲,因此愛用真名. 因此, 若你現在用假名, 請你立即放棄. 在駭客社群裡只會將用假名的人視為失敗者.
Loginataka有一些關於Unix駭客的訓練和應有態度的資料
本人亦寫了一個 有關駭客社群的簡短歷史的網頁
我亦寫了一篇文章, 名為 The Cathedral and the Bazaar, 以解釋有關Linux及開放式程式碼等的文化. 我亦在續篇Homesteading the Noosphere一文中再將此題目直接地說明
就算我有時間, 駭客本身是一種態度及技巧你要自我學習. 你會發現真駭客們很願意提供協助, 但若你只是不斷地像嬰兒般要求餵養, 他們不會尊重你
所以, 你應先學一些基本知識. 表現出你是正在嘗試, 及你有能力自學. 接著才與駭客們討論特殊的難題.
我曾說在IRC(網上即時討論小組)不能找到真駭客, 但我發覺現在情況有所改變. (現時有些真駭客亦在GIMP及Perl等的網上即時討論小組出現.)
但HTML並不是完全的程式語言. 當你有心理準備開始學寫程式, 我提議你學Python.可能已有很多人提議你學Perl, 而事實上Perl是比Python更多人用. 但對初學者來說, Perl比較難學. 而且(我認為)Perl的設計比不上Python.在網上有很多Python的資訊供初學者.
C語言是非常重要, 但比Python及Perl更難學. 不要以它為起點.
對於視窗作業系統的用家, 請你們不要只學Visual Basic. 它會使你得到壞的編寫程式習慣, 亦並不能於不同的作業系統平台使用. 儘量不要用它.
此網頁共有人數瀏覽
Eric S. Raymond的電子郵號esr@snark.thyrsus.com
回英文首頁 | 到英文主頁網頁地圖 | Date: 1999/12/27 |