從***到極客——hacker文化的演化

轉載自http://shell909090.com/blog/2012/02/%e4%bb%8e%e9%bb%91%e5%ae%a2%e5%88%b0%e6%9e%81%e5%ae%a2-hacker%e6%96%87%e5%8c%96%e7%9a%84%e6%bc%94%e5%8c%96/

 

    說到***文化,就不能不提到技術。***是一個複雜的文化,不同的人,不同的時代有不同的解讀。***的一端是技術,另一端是文化。如同武俠一般,一端是武,一端是俠。金大俠說過,武好寫,俠難寫。同樣,要講述技術,雖然艱澀,但總是可以表達的,難以表達的是***文化中的種種現象。對於沒有背景的人來說,這些文化現象並不比技術易懂到哪裏去。下面我們首先統一解說一些名詞概念,以便下面的闡述。

名詞解說

    hacker 從原生意義上說,是喜愛計算機技術而充滿叛逆的年輕人。藐視傳統,不按照常規方法使用軟件和服務,而是通過自己的洞察力,非法(或在後來被定義爲非法)的使用。例如音頻撥號時代,某位(綽號Captain Crunch)發現通過發出特定音頻可以繞過收費機制,於是就公開了這個機制。hacker的原生目的不是破壞,而是表達自己的叛逆,炫耀自己的技術。而目前在主流媒體和民衆中的形象是惡意的系統破壞者,會給你帶來麻煩,並且以技術手段獲得不法收入。在文中注意區別hacker的前後兩種不同含義。

    cracker 沒有歧義,從一開始,就指軟件的破壞者,但是不一定以此牟取私利。cracker和hacker的界限很模糊。

    geek 原意是怪人,善於研究不善於交往的怪人,和書呆子(nerd)類似。但是近些年隨着網絡文化興起,逐步變成褒義詞,指喜愛技術(不特指計算機技術),充滿DIY精神的人。

    black hat 黑帽子,hacker中爲了達成私利性目的而非法使用系統的人。通常常見的情況有,勒索(例如不付錢就會破壞系統和數據),盜用賬戶,獲得非法虛擬貨幣等。

    white hat 白帽子,和黑帽子相對,爲了修補系統問題而研究系統的人。白帽子不代表免費,相反,白帽子通常催生了某類安全產業,不少白帽子是掛靠在安全公司名下,甚至自己經營安全公司。他們致力於尋找大型系統中的漏洞,並且向企業彙報漏洞,換取收入。白帽子可以看作是企業對hacker妥協的一次結果,與其讓這些年輕人精力充沛的尋找漏洞,然後不知道發生什麼事情。不如僱用他們爲自己尋找漏洞,減輕自己的風險。

    grey hat 灰帽子介於白帽和黑帽之間,你可以理解爲,他們有的時候當白帽,有的時候當黑帽。也可以理解爲,如果我賣你漏洞你不要,那我就賣給要搶你的人。

    script kids 腳本小子。指一些並沒有技術能力的人,利用他人已經完成的腳本進行***行爲。這顯然有悖於傳統***倫理,充滿樂趣的發現問題是第一位的,至於漏洞只是發現問題的結果。通常而言,普通人碰到的90%以上被認爲是hacker的人都是script kids。

    紅客 紅客是一批非官方的,使用技術“維護國家和民族尊嚴”的人。嚴格來說,有不少“紅客”是原生的hacker,只是激進的表達愛國主義和民族主義,這批人可以視爲***中的一個特殊羣體。然而不斷有技術不足的人爲了“維護中國尊嚴”而加入,導致一些自稱紅客的人實際上只能算是利用技術的script kids。由於試圖以技術爲手段表達政治意圖的人數量龐大的關係,因此紅客在一詞在使用的時候,script kids的比例異常的高。在不少文章中經常混談兩者,閱讀的時候應當注意區別。

    飛天麪條教 具體查wiki“飛天麪條怪物”一詞。這個是用於反對“智能設計論”的。即某些宗教主張,人類是由一個超自然的智能所設計。因此Bobby Henderson同樣創造出一個符合智能設計論的神進行反諷。列入本文是因爲很多geek本着找樂子的心情加入了相關惡搞。關於這個問題請仔細閱讀飛天麪條怪物的相關頁面並去那裏討論,本文不掰扯宗教問題。

    海盜黨 具體wiki“海盜黨”“盜版黨”。瑞典的一大政黨,主張現有的版權制度過度的限制了知識的發放,阻礙了人類的進步。主張減少版權限制,增進知識交流,注重隱私保護。

    DDOS 分佈式拒絕服務***。使用大量的肉雞(傀儡)來訪問某個服務,導致服務器過載,從而無法繼續服務。本質上說DDOS很難防禦,因爲他實際上就是一種過載。

***文化歷史

    我們首先闡述的是***文化的背景。在大部分的文章裏面,會提到***起源於美國的朋克文化。實際上基本如此,但是***屬於朋克文化在校園中的一個變種,更專注於技術。這個變種是如此的具有生命力,以至於今天仍在極大的影響世界。關於這點,更進一步可以閱讀(http://man.lupaworld.com/content/develop/joyfire/project/7.html),其中《***文化簡史》這部分。說一點題外話,鏈接的這篇文檔收錄了ESR的不少名文,可以看作是傳統***文化的討論和總結,是相當不錯的文檔。

    時代在變化,背景在變化,***在大衆中的形象也在變化。***首次爲大衆所知,是在1988年,莫里斯蠕蟲造成大量主機宕機。此次事件經過媒體大規模渲染,很大的影響了***文化在大衆中的形象。實際上,傳統的***文化很不穩定,極易被誤解。因爲傳統的***文化信條之一是表達叛逆,而表達叛逆往往跟隨着破壞現狀,這點非常容易被濫用。很多人無視了注重技術,充滿趣味的工作等其他信條,而只專注於挑戰權威,從而成爲臭名昭著的破壞者。而另一些人則在不違背信條的情況下,試圖利用自己的技術賺錢。這催生了***產業鏈(當然,這不全是壞事)。而***產業鏈肯定會爲用戶和企業帶來額外的麻煩。

    另外提一句,在亞洲地區,***第一次爲大衆所知估計是CIH病毒。這也是第一個大規模破壞硬件的病毒。

    由於種種因素,***在大衆中的形象逐步變爲了破壞者,找麻煩的人,以技術作惡者。實際上,在hacker的原始含義中是沒有這個意義的。

從***到極客

    在現代,hacker這個詞和cracker這個詞實際上已經很類似了。如果說區別的話,cracker更偏向於破壞程序本身,而hacker則引入了以技術作惡的意味。但是hacker的精神不死,他以其他詞的形態出現。現代替代hacker出現的詞是geek,這個詞類似於原來的hacker,但又有所不同。我們首先回顧一下hacker的信條。

1.充滿樂趣的工作,爲了樂趣而工作。

2.挑戰權威,自由萬歲。

3.專注技術。

4.一個問題不應該被解決兩次,無聊的工作是罪惡。

    我找不到一個權威的geek信條,但是我個人總結如下:

1.關注原理而不關注結果。

2.爲了自己的樂趣而非利益工作。

3.樂於挑戰其他人無法完成的事情,並視爲一種成就。

4.不限於coding,也包括以各種有技術含量的手段達成炫耀技術的目的。

    對比兩者,我們可以看出差別。hacker主要注重的是計算機技術,而geek更偏向於指代各種技術。hacker叛逆,挑戰權威,自由萬歲,而geek 雖然喜歡自由,但是並沒有強調挑戰權威。兩者都強調樂趣,強調技術。這些區別主要是由於各種時代的變化所致的。相比起來,geek文化更類似於 hacker文化的一個普及和切割。去除了挑戰權威的味道,泛化了技術,使得更多人有可能成爲geek。

    我們舉一個當代的傳統hacker的例子,Arron Swartz試圖下載JSTOR的論文並散佈,這是典型的一個hacker行爲——下載並散佈論文並不是出於爲了獲得私利,而是爲了表達自己的觀點——人類獲得知識的權力不應當被阻礙。從法律上說,是的,這是違法行爲。但是這個事情反過來,讓我們關注了這麼一個事實——JSTOR的收費論文庫是否還有必要存在?或者說,一個更本質的問題。以校園牆爲界限阻止知識獲取,並以這種行爲牟利是否合理。當然,思考的結果可能是合理的,也可能不合理。hacker並不在乎違法,實際上,很多hacker就是在違反法律的同時走向偉大。要找類似例子,可以wiki“五角大樓文件泄密案”,當然,主角不是***。

    而geek就沒有這麼叛逆,以當代的典型geek形象——TBBT中那一幫書呆子而言,基本就看不到多少反叛氣息。Sheldon的卻進過監獄,可是理由可不是因爲挑戰現有制度,而是在法庭上找抽。很多geek有自己的政治主張,會討厭某個政黨,或者認同hacker文化中的思想。但是並不會像 hacker們那樣,無視法律,使用技術手段直接表達。

當代其他和***有關

    另外有一些很特殊的例子,是***文化極端介入政治,導致產生的各種政治和宗教流派。例如飛天麪條教,就我所知有不少geek程序員加入了惡搞行爲,甚至參與了網頁製作或線下活動。另外一個不得不提的和***文化有關的政治事務則是海盜黨。海盜黨的主張和hacker挑戰權威,自由萬歲的想法完全一致。不同的是,hacker(此處取褒義)以技術手段,破解他們認爲非法的數據。而海盜黨則以政治運動和政黨體系爲手段,推進政治改革。

    介入經濟的***則演變成了很有名的***經濟鏈條。大致上說,這個鏈條呈金字塔結構。最上層的是極少數黑帽子,負責尋找系統的“硬”漏洞。其下則是爲數不多的程序員,通過各種手段購買漏洞,非法的內部文件,實現各種破壞性工具。這些工具被各個地區的老闆購買,分發到大量的普通技術員(甚至不需要技術)手中,利用技術來作惡。例如種下大量***,利用獲得的肉雞進行DDOS,收費破壞敵對系統的運行。或者是誘騙用戶點擊***,收集用戶遊戲賬戶或銀行/支付寶賬戶。

    鏈條的意義在於,鏈條上每向後推進一個環節,牽涉到的人和財富會以倍數增長。一個價值數十萬的漏洞從黑帽子手中流出,到了程序員手裏成爲工具時,可能價值已經上百萬。而這個工具最終被分發到技術員手中,用於詐騙的財富可能高達上千萬。這個鏈條,使得上游精通技術但沒有足夠時間的專家,和下游渴望獲得金錢但是沒有技術的普通人相結合,使得少數專家可以指導大量普通人進行犯罪活動。因此纔出現了灰帽子和白帽子兩個行業,畢竟直接收購漏洞相比損失來說小的多。

    當技術爲政治所用,產生的則是GFW,JFCCNW等。關於這個不進一步闡述。

在中國,我如何成爲一名geek

    本文不會談論如何成爲一名hacker,畢竟後者在大衆眼中的形象不佳,同時ESR也有一篇《如何成爲一名***》說的甚好,我就不拾人牙慧了。不過限於中國特殊的情況,我還是說說你如何成爲一名計算機技術geek。

    geek不是能夠培養的,而是自發產生的,geek是在苦逼的道路上蛋疼且快樂着。

    要成爲geek,一個首要的條件就是能夠享受技術的樂趣,而不是被嚇倒。在面對複雜的文檔(對於國人而言,尤其是英文文檔)時,仔細的閱讀,並且找到系統工作的原理。無論是hacker還是geek,對於他們感興趣的東西,僅僅知道如何使用是不夠的。通常而言,大部分的geek都有自己動手拆解修改一些系統的經歷。這個行爲有一個術語——hack。例如,我們可能會希望http在轉發請求的時候增加一些頭部幫助識別信息,而原生的http服務器沒有這個內容。怎麼辦呢?下載一份源碼,然後找到相關部分,修改並重新編譯一遍,這是最簡單的hack行爲。如果你不知道怎麼修改,可以閱讀文檔。然而你完全沒有 “我可以修改http服務器”這個想法時,是註定無法培養成爲geek的。也就是說,成爲geek的必要條件是強烈的求知慾和與之相匹配的動手能力。

    有了求知慾,我不相信你還可以若無其事的使用windows系統。你有沒有希望瞭解系統開機時發生了什麼事情?希望知道系統是如何工作的?如果有,你必定會想要下載一份linux的源碼,並且進行編譯安裝。當然,對於初學者而言,我建議你先從ubuntu開始入手。

    ubuntu的安裝門檻相對比較低,但是對於初學者,還是會有很大的門檻。你可以求助於當地lug,目前中國比較大的lug 有,bjlug,shlug,szlug,gzlug,hzlug。對應於北京,上海,深圳,廣州,杭州。以上幾個地方的同學,可以直接搜索lug,然後尋找同好求助。其他地方的只能更多的求助於線上資源。

    有了ubuntu的使用經驗,也許你的腦子裏會跳出更多複雜的念頭。例如有一臺多餘的舊電腦,是否可以配一塊硬盤,作爲nas來服務整個家裏。是否可以在這個nas上加載其他系統,完成自己的需求,例如在上面開一個網頁服務器。這個網頁服務器是否可以監控家中的攝像頭等設備,等等。

    自由的思考,進而發現現狀中的不足,然後快樂的折騰改進,這是geek的根本。當然,這會花費大量的時間,甚至金錢。你可能會沒有時間交往男女朋友,或者要自費購買價值不算低的高階路由器。這就是爲什麼我說,geek是在苦逼的道路上蛋疼且快樂着。

    而進階則可以安裝arch或者gentoo。最後,你可以試試lfs。當然,所謂試試lfs,絕對不是複製粘貼,而是通過自己的瞭解,改變lfs適用的過程。例如你可以通過腳本和make來簡化複製粘貼過程,簡化測試過程。或者通過自己的瞭解在虛擬機上跑起lfs來。如果這些都沒問題了,那麼你可以看看《如何編寫操作系統》和《操作系統:設計和實現》兩本書。這些都沒問題後,基本就可以通曉系統的方方面面,然後用mac或者用回windows。

    是的,這不奇怪,geek中有不少windows用戶,也有不少macos用戶。一旦瞭解了系統的方方面面,沒道理還保留一個實驗用的系統在自己日常工作的機器上。

    其次,你需要學習至少三種語言,一種是彙編,一種是C,一種是lisp。如果你需要經常使用,也許還要學習一種快速開發語言,例如ruby或者python。作爲一個geek,沒有掌握一種以上語言是不可能的。

    爲什麼要學習語言,而且學習那麼多種?因爲語言是人類操縱機器的大門,不同的語言會改變你對機器的認識。彙編語言教給你的是機器的硬件工作原理,包括中斷原理,輸入輸出控制。C語言教給你的是內核工作機制,如何結合硬件和軟件進行工作。而lisp教給你的則是數學。

    當然,作爲入門,你可以先從bash開始,這種語言相當的簡潔而且對人友好,可以很好的粘合系統中現有的程序開始工作。但是在進階的時候會變得複雜,所以一般很少作爲一門主力語言使用。

***文化的未來

    世界各地的版權組織,總是努力使我們確信,盜版搶走了“我們”的錢,因此我們需要捐款,並身體力行的反對盜版。但是從我個人的體悟來看,實際上的情況,是版權比盜版更加惡劣的影響我們的生活。當然,盜版是惡,這點沒有錯。在盜版橫行的國度,例如中國大陸,程序員的勞動並不得到尊重,這點我反覆強調過。但是相反的,在注重版權的國度,例如美國,另一些問題更加困擾着我們。我們需要了解java底層的運作(jvm,不是底層庫)?抱歉,這個受到版權的保護。我們需要查閱一些文獻。抱歉,這個paper的copyright屬於JSTOR。甚至,我們需要在一種新的設備上使用一種已經成爲工業標準的語言,都必須經過版權所屬公司的批准,甚至可能被惡意阻止(android上的java)。

    比這個問題更惡劣的,是美國的音樂和影視作品版權保護。美國的影視作品享有70年的版權保護期限,而且可以被繼承。政客們提出的理由是,如果沒有足夠的版權保護,就沒有人願意生產歌曲和影視作品。但實際上,美國的軟件保護年限只有20年,還是有源源不斷的軟件被生產出來。

    版權保護和知識自由是一對矛盾。沒有版權保護,就沒有人會重視知識勞動成果,那樣會使得更少的人去生產知識。而過度的版權保護,會使得大家都重視知識勞動成果,但是卻無法獲得知識。不平衡的兩者,都無法促使我們創造出更好的東西。

    另一個和hacker有關的問題則是隱私保護和言論自由的矛盾。通常來說,我們對隱私保護越重視,則會相應的妨礙言論自由。因爲你對他人的批評幾乎不可避免的會涉及到他人的隱私。美國對這個問題的約束通常是,公衆人物的隱私受到更少的保護。hacker的傳統是注重自由,其中就包括言論自由。如果有一個 hacker認爲你爲非作歹,他會通過他能做的把你的家底狠狠的翻一遍,而不管你是不是個公衆人物。理所當然,這對個人隱私保護是個嚴重威脅。現在在中國大陸地區越演越烈的網絡實名制其實就有這方面的衝突。

    網絡實名制主要用於對應"人肉",即網友通過查詢網絡數據,獲得某個網絡帳號的真實身份,進而查詢出他的各種相關信息。在當代,幾乎沒有人是沒有網絡數據留存的,因此幾乎每個人都有被人肉的可能。

    實際上,我認爲每個人都應當思考一下,版權保護和知識自由的界限,以及隱私保護和言論自由的界限。

    這會爲hacker文化引入的新的信念。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章