黑客起源考

整理這篇文章的原因,其實很簡單,因為最近剛好在讀《黑客與畫家》,本書是矽谷創業之父Paul Graham 的文集,主要介紹黑客即優秀程序員的愛好和動機,討論黑客成長、黑客對世界的貢獻以及編程語言和黑客工作方法等所有對計算機時代感興趣的人的一些話題。書中的內容不但有助於了解計算機編程的本質、互聯網行業的規則,還會幫助讀者了解我們這個時代,迫使讀者獨立思考。

借用作者自己的話,本書嘗試解釋計算機世界發生了什麼事,所以,它不僅僅是寫給程序員看的,也適合所有人。小趣覺得這是一本能引發技術人思考的佳作,所以推薦給大家。也順便八一八「黑客」的那些事。

你可能注意到了,過去三十年中,很多賺到大錢的人都是程序員,比如比爾?蓋茨、拉里?埃里森、馬克?扎克伯格。為什麼是程序員,而不是土木工程師,或者攝影師,或者精算師?

我們的時代是計算機時代。以前,人們曾經認定這個時代應該是太空時代或者原子時代。但是事實證明,它們只是公關公司發明的概念。計算機對人類生活的影響力遠遠超過了太空航行或者原子技術的影響。所以,如果你想理解我們目前的世界以及它的未來動向,那麼多了解一些黑客的想法會對你有幫助。

黑客(hacker)?在媒體和普通人的眼裡,黑客就是入侵計算機的人,就是「計算機犯罪」的同義詞。但是這並不是這個詞所包含的全部意思。

要想正確理解什麼是「黑客」,有必要從源頭上講起。1946年,第一台計算機ENIAC在美國誕生,從此世界上一些最聰明、最有創造力的人開始進入這個行業,在它們身上逐漸地形成了一種獨特的技術文化。在這種文化的發展過程中,湧現了很多「行話」(jargon)。20世紀60年代初,麻省理工學院有一個學生團體叫做「鐵路模型技術俱樂部」(Tech Model Railroad Club,簡稱TMRC),他們把難題的解決方法稱為hack。

在這裡,hack作為名詞有兩個意思,既可以指很巧妙或很便捷的解決方法,也可以指比較笨拙、不那麼優雅的解決方法。兩者都能稱為hack,不同的是,前者是漂亮的解決方法(cool hack或neat hack),後者是醜陋的解決方法(ugly hack或quick hack)。Hack的字典解釋是砍(木頭),在這些學生看來,解決一個計算機難題就好像砍到一棵大樹。那麼相應地,完成這種hack的過程就稱為hacking,而從事hacking的人就是hacker,也就是黑客。

在這裡,hack作為名詞有兩個意思,既可以指很巧妙或很便捷的解決方法,也可以指比較笨拙、不那麼優雅的解決方法。兩者都能稱為hack,不同的是,前者是漂亮的解決方法(cool hack或neat hack),後者是醜陋的解決方法(ugly hack或quick hack)。hack的字典解釋是砍(木頭),在這些學生看來,解決一個計算機難題就好像砍倒一棵大樹。那麼相應地,完成這種hack的過程就被稱為hacking,而從事hacking的人就是hacker,也就是黑客。

從這個意思出發,hack還有一個引申義,指對某個程序或設備進行修改,使其完成原來不可用的功能(或者禁止外部使用者接觸到的功能)。在這種意義上,hacking可以與盜竊信息、信用卡欺詐或其他計算機犯罪聯繫在一起,這也是後來「黑客」被當作計算機入侵者的稱呼的原因。

但是,在20世紀60年代這個詞被發明的時候,「黑客」完全是正面意義上的稱呼。TMRC使用這個詞是帶有敬意的,因為在他們看來,如果要完成一個hack,就必然包含著高度的革新、獨樹一幟的風格、精湛的技藝。最能幹的人會自豪地稱自己為黑客。

這時,「黑客」這個詞不僅是第一流能力的象徵,還包含著求解問題過程中產生的精神愉悅或享受。也就是說,從一開始,黑客就是有精神追求的。自由軟體基金會創始人理查德? 斯托爾曼說:「出於興趣而解決某個難題,不管它有沒有用,這就是黑客。」

根據理查德? 斯托爾曼的說法,黑客行為必須包含三個特點:好玩、高智商、探索精神。只有其行為同時滿足這三個標準,才能被稱為「黑客」。另一方面,它們也構成了黑客的價值觀,黑客追求的就是這三種價值,而不是實用性或金錢。

1984年,《新聞周刊》的記者史蒂文? 利維出版了歷史上第一本介紹黑客的著作——《黑客:計算機革命的英雄》(Hackers: Heroes of the Computer Revolution)。在該書中,他進一步將黑客的價值觀總結為六條「黑客倫理」(hacker ethic),直到今天這幾條倫理都被視為這方面的最佳論述。

(1) 使用計算機以及所有有助於了解這個世界本質的事物都不應受到任何限制。任何事情都應該親手嘗試。

  (Access to computers—and anything that might teach you something about the way the world works—should be unlimited and total. Always yield to the Hands-On Imperative!)

(2) 信息應該全部免費。

  (All information should be free.)

(3) 不信任權威,提倡去中心化。

  (Mistrust Authority—Promote Decentralization.)

(4) 判斷一名黑客的水平應該看他的技術能力,而不是看他的學歷、年齡或地位等其他標準。

  (Hackers should be judged by their hacking, not bogus criteria such as degrees, age, race, or position.)

(5) 你可以用計算機創造美和藝術。

  (You can create art and beauty on a computer.)

(6) 計算機使生活更美好。

  (Computers can change your life for the better.)

根據這六條「黑客倫理」,黑客價值觀的核心原則可以概括成這樣幾點:分享、開放、民主、計算機的自由使用、進步。

所以,「黑客」這個詞的原始含義就是指那些信奉「黑客倫理」而且能力高超的程序員。歷史上一些最優秀的程序員都是「黑客」。除了上文提到的理查德?斯托爾曼,還包括Unix操作系統創始人丹尼斯?里奇和肯?湯普森,經典巨著《計算機程序設計藝術》的作者、斯坦福大學計算機教授高德納,Linux操作系統創始人萊納斯?托沃茲,「開源運動」創始人埃里克?雷蒙德,微軟公司創始人比爾?蓋茨等。正是黑客把計算機工業推向了更高的高度。

在過去幾年中,隨著計算機病毒的泛濫,黑客在大眾心目中已經成了一個有害的人群。

那些傳統意義上的黑客不認同這樣使用「黑客」這個詞。他們認為,歷史上確實有一些正直的黑客,為了親自了解系統,做過違反法規的入侵舉動。但是,那些人並沒有惡意,而且從一開始惡作劇就是黑客文化的一部分,僅僅由此推斷入侵和破壞系統就是黑客文化的實質完全是錯誤的。真正的黑客致力於改變世界,讓世界運轉得美好。

他們提出只有傳統意義上的黑客才能被稱為hacker,而那些惡意入侵計算機系統的人應該被稱為cracker(入侵者)。這個觀點已經在程序員社區中得到普通認同。

所以,請別誤解「黑客」!


推薦閱讀:

115期:我為什麼不看好「笑來系」的產品
產品設計師必備最全資源站
PM小白分析App之Quality Time
《啟示錄:打造用戶喜愛的產品》之 「人員」 (PART 1)

TAG:科技 | 黑客Hacker | 互聯網 | 產品經理 | 互聯網產品 |