### 4.良好的壞習慣
在大眾眼里,“黑客”(hacker)就是入侵計算機的人。可是,在程序員眼里,“黑客”指的是優秀程序員。這兩個含義其實是相關的。對于程序員來說,“黑客”這個詞的字面意思主要就是“精通”,也就是他可以隨心所欲地支配計算機。
更麻煩的是,“黑”(hack)這個詞也有兩個意思,既可以用作贊美,也可以用作羞辱。如果你解決問題的方式非常丑陋笨拙,這叫做你很“黑”。如果你解決問題的方式非常聰明高超,將整個系統操縱在股掌之間,這也叫做你很“黑”^。日常生活中,前一種意思更多見,可能因為丑陋的做法總是多于聰明的做法。
^「中文的“黑”很難體現這兩個意思,而在英文中,hack prose意思是平庸陳腐的文章,而hack the problem意思是很漂亮地解決了一道難題。——譯者注」
信不信由你,“黑”的這兩個意思也是相關的。丑陋的做法與聰明的做法存在一個共同點,那就是都不符合常規。你用膠帶把包裹綁在自行車上,那是不符合常規的丑陋做法;你提出充滿想象力的新概念,推翻歐幾里德空間(Euclidean space),那是不符合常規的聰明做法。從“丑陋”到“聰明”,它們之間存在一種連續性漸變。
早在計算機出現之前,黑客就存在了。費曼^為曼哈頓計劃工作時,喜歡破解存放機密文件的保險箱,覺得這樣很有趣。這種傳統持續至今。讀研究生時,我有一個黑客朋友,他費盡心力配齊了一整套的開鎖工具(現在,他在管理一個對沖基金,那個行業與開鎖并非毫無關系。)^^。有時,你很難向當局解釋為什么有人喜歡做這種事。我的另一個朋友,曾經因為入侵計算機,受到了政府的調查。最近,這種行為已經被認定為一種犯罪,但是聯邦調查局發現,通行的調査方法不適用于黑客。警方總是從犯罪動機開始調查。常見的犯罪動機不外乎毒品、金錢、性、仇恨等。滿足智力上的好奇心并不在FBI的犯罪動機清單之上。說實話,這個概念對他們來說完全陌生。
^「費曼(Richard Feynman,1918—1988),美國著名物理學家,諾貝爾獎得主,以性格頑皮,特立獨行著稱。——譯者注」
^^「我也曾經打算學習開鎖,但是原因不僅僅是為了滿足好奇心,或者磨練自己的智力。那時,我讀研究生讀到一半,每天都要上機。管理機房的本來是一些本科生。他們很聰明也很不安分,后來就被換掉了,改成一個專職的機房管理人員。他每天下午5點鎖好機房,準時下班回家。如果在此之后計算機出問題了,理論上你就只能等到第二天早上他來上班時再重啟機器。這種做法根本不可行,因為我們這些研究生往往到下午5點才會開始上機干活。幸運的是,哈佛大學計算機系的Aiken實驗室(現在已廢棄)樓層之間有隔層,通向一扇天花板上的暗門正對著機房管理員辦公室。我們就直接從這扇暗門進入屋里,打開管理員的抽屜,拿到機房鑰匙。
有一天晚上,大概凌晨3點,我從天花板爬到管理員的桌子上,震耳欲聾的警報聲突然響徹整幢大樓。“Fuck”,我心想(抱歉用了這個不雅的詞,但是我清楚地記得,自已當時就是這么想的),“他們裝了警報器。”我在三十秒內倉皇逃出大樓,冒著傾盆大雨,一路跑回家。雖然我裝出一付若無其事的樣子,但是內心卻驚恐地覺得自己是一個犯罪分子,身邊的每一輛汽車仿佛都是警車。第二天,我把辯解的理由排練得滾瓜爛熟后,才回到實驗室。但是,出乎意料,并沒有追究責任的Email在等著我。亊實上,昨晚暴風雨,閃電大作,觸發了警報器。」
總體來看,黑客是不服從管教的,這往往會激怒管理當局。但是,不服從管教,其實是黑客之所以成為優秀程序員的原因之一。當公司的CEO裝模作樣發表演說時,他們可能會嘲笑他;當某人聲稱某個問題無解時,他們可能也會嘲笑他。如果硬要他們服從管教,他們也就無法成為優秀程序員了。
不過,有些人的這種態度不是真的,而是裝出來的。某些年輕程序員注意到了知名黑客的怪癬,就會模仿,好使自己顯得更聰明。這種裝出來的不服從再加上故作姿態挑毛病的態度,不僅僅令人惱火,而且實際上會延緩創新的進程。
但是,即使考慮到黑客令人惱火的種種怪癖,他們不服從管教的性格依然是利大于弊。我希望人們能理解,能更多地看到這種性格的長處。舉例來說,好萊塢的電影人一直大惑不解,為什么黑客不喜歡版權法。在黑客網站Slashdot上面,版權是永恒的討論熱點。為什么程序員那么關心版權,而不是其他事情?
部分原因是,有些公司為了防盜版而使用了禁止復制的技術。這等于交給黑客一把鎖,他的第一反應肯定是如何才能打開它。但是,這里面還有更深層次的原因,對于版權和專利這樣的制度,黑客深感擔憂。他們感到,保護“知識產權”的力度不斷增大,已經威脅到了他們完成工作所必需的“思想自由”^。在這一點上面,他們的看法是正確的。
^「思想自由(intellectual freedom),指的是自由思考以及表達這種思考的權利。它是《世界人權宣言》(Universal Declaration of Humrn Rights)第19條規定的一種人權。參見http://en.wikipedia.oig/wiki/Intellectual_freedom。——譯者注」
只有深入了解當前的技術,黑客才能構想下一代技術。知識產權的擁有者也許會說,不,謝謝,我們不需要你的幫助,我們自己就能開發下一代技術。他們錯了,在計算機工業的歷史上,新技術往往是由外部人員開發的,而且所占的比例可能要高于內部人員。1977年,IBM公司內部肯定有一些部門正在開發下一代電腦。他們沒有料到的是,真正的下一代電腦不是誕生于IBM實驗室,而是由兩個與他們完全不相干的長頭發年輕人在舊金山的一間車庫里開發出來的。這兩個年輕人,一個是史蒂夫·喬布斯,另一個是史蒂夫·沃茲尼亞克^(圖4-1)。差不多同一時間,計算機工業的幾大巨頭聚在一起,合作研發官方版的下一代操作系統Multics。但是,另外兩個年輕人——26歲的肯·湯普森和28歲的丹尼斯·里奇——覺得Multics過分復雜,就另起爐灶,寫出了一個自己的操作系統。他們參照Multics,為它取了一個搞笑式的名字Unix^^。
^「蘋果電腦公司的兩個創始人。1977年,蘋果公司推出的APPLE II計算機是世界上第一臺個人電腦。——譯者注」
^^「在英語中,前綴Multi-憊思是“多個”,而前綴Uni-意思是“單個”——譯者注」
最新的版權法設置了前所未有的障礙,禁止外部人員了解專有技術的內部細節,從而也就禁止了外部人員從這個途徑產生新構想。過去,廠商使用專利,防止你出售他們產品的復制品,但是他們無法阻止你把產品拆開,了解內部的工作原理。最新的版權法將后面的這種行為定義為一種犯罪。如果我們不可以研究當前的技術,不能思考如何改進它,那么我們怎樣才能開發出新技術呢?

圖4-1 1975年,喬布斯和沃茲尼亞克
具有諷刺意味的是,這種局面正是黑客自己造成的。計算機是《版權法》修改的根本原因。歷史上,機器內部的控制系統一直是物理裝置:齒輪、杠桿和連接器等。但是,計算機的出現使得機器的控制系統逐漸變成了軟件,產品的價值也由軟件來決定^。我這里所說的軟件是一個統稱,包括數據(data)在內。膠木唱片上的歌曲屬于數據,是用物理方法壓制在塑料盤片上的;iPod里的歌曲也屬于數據,它儲存在硬盤里面。
^「日益軟件化的,并不僅僅是產品的內在。由于制造業自動化程度越來越高,產品的外在也逐漸由軟件決定了。」
數據在本質上就是容易復制的。互聯網的出現使得復制品更容易流通。難怪那些公司感到害怕了。但是,如同往常一樣,恐懼影響了他們的判斷。他們推動政府通過了嚴厲的法律,保護知識產權,作為對新技術的回應。立法者的原意可能是好的。但是,他們也許沒有意識到,這樣的法律弊大于利。
為什么程序員如此激烈地反對這樣的法律?如果我是立法者,肯定對這種神秘現象有興趣。這就好比如果我是一個農夫,半夜突然聽到雞舍有動靜,肯定會去看個究竟。黑客都是聰明人,很少出現所有人意見一致的情況。如果他們都說有問題,那么也許真的就是什么地方出了問題。
那些法律有沒有可能是錯的?雖然它們原意是維護美國的利益,但是實際上卻適得其反?想一想吧,理查德·費曼喜歡破解保險箱,真的很符合美國人性格。很難想象,當時的德國政府會有同樣的幽默感。也許這不是巧合。
黑客是不服從管教的,這就是他們的本性。這也是美國人的本性。硅谷出現在美國,而不是出現在法國、德國、英國、日本,這絕非偶然。后面那些國家的人們總是按部就班地行事。
我曾經住在意大利的佛羅倫薩。住了幾個月以后,我發現自己內心真正尋找的地方其實是我剛剛離開的地方。佛羅倫薩之所以著名,完全是因為這個城市在1450年的顯赫地位,它是那時的紐約,形形色色瘋狂而有抱負的人們來到這里。現在,這樣的人都去了美國。(所以,我又回到了美國。)
對于適當的不服從管教,保持寬容不會有太大的壞處,反而很有利于美國的國家優勢,它使得美國不僅能吸引聰明人,還能吸引那些很自負的人。黑客永遠是自負的。如果黑客有自己的節日,那就是4月1日愚人節,你可以放心地作弄其他人。黑客的這種自行其是的特點,很大程度上說明了,為什么不管是出色的工作還是糟透了的工作,黑客都用同一個詞形容^。如果他們做出了一個東西,他們自己總是無法百分百確定那到底是什么東西。有可能完全沒用,但是只要那些出錯的地方還算正常,那么就是一個信號,表明這個東西還有希望。在人們心目中,編程是非常精確、有條不紊的,這真是非常奇怪的想法。計算機確實是非常精確、有條不紊的,但是黑客的所作所為完全出于興趣,想到哪里就做到哪里,沒有明確的計劃,只求開心。
^「這里應該是指terrific。在英語中,這個詞同時有“可怕的”和“非常棒的”兩種意思,a terrific hotel是一家很棒的旅館,a terrific scene則是一幅可怕的景象。——譯者注」
在黑客世界中,有些最典型的解決問題的方法實際上與玩笑也相差不遠。IBM推出個人電腦的時候,懶得自己開發操作系統,就與微軟公司簽了一個很大方的授權協議,將微軟的DOS作為默認操作系統,每賣出一臺電腦,微軟都可以提成,并且還可以把DOS授權給其他公司使用。這份授權協議的結果無疑讓IBM感到非常吃驚。另一個例子是Michael Rabin^遇到難題的時候,會把問題重新定義成一個較簡單的形式,同時一定會假想一個對手正在與他比賽誰能更快地解決問題。
^「Michael Rabin(1931—),以色列計算機科學家,1976年的圖靈獎得主。——譯者注」
很自負的人必須培養出敏銳的感覺,及時發現周圍情勢的變化,知道怎樣才能脫身。最近,黑客就感覺不太對,大氣候變了。對于不服從管教,政治氣氛變得嚴厲了。^
^「2001年9·11事件以后,美國通過了“愛國者法案”,以防止恐怖主義為目的大大擴張了警察機關的權限。那些不遵守法規的可疑分子將受到比以前嚴厲得多的審查和懲罰。——譯者注」
近來一系列的政策變化,使得這個國家的公民自由范圍不斷收縮減小。對于黑客來說,這是非常不好的兆頭。普通人肯定會感到大惑不解,為什么黑客如此在乎公民自由?為什么程序員會比牙醫、銷售員、園藝師更在乎呢?
讓我以政府官員聽得懂的語言來解釋這件事情。公民自由并不僅僅是社會制度的裝飾品,或者一種很古老的傳統。公民自由使得國家富強。如果將人均國民生產總值與公民自由的關系畫成圖,你會發現它們是很清楚的正相關關系。公民自由真的是國家富強的原因,而不是結果嗎?我認為是的。在我看來,一個人們擁有言論自由和行動自由的社會,往往最有可能采納最優方案,而不是采納最有權勢的人提出的方案。專制國家會變成腐敗國家,腐敗國家會變成貧窮國家,貧窮國家會變成弱小國家。經濟學里有一條拉弗曲線(Laffer curve),認為隨著稅率的上升,稅收收入會先增加后減少。我認為政府的力量也是如此,隨著對公民自由的限制不斷上升,政府的力量會先增加后減小^。至少現在看來,我們的政府很可能蠢到會真的把這個實驗付諸實施,親自驗證一下這個觀點。但是,稅率提高了還能再降下來,而一旦這個實驗鑄成大錯,就悔之晚矣,因為極權主義制度只要形成了,就很難廢除。
^「我很樂意將我的名字用來命名這條曲線,命名后更容易記住這個觀點。」
這就是為什么黑客感到擔憂。政府侵犯公民自由,表面上看,并不會讓程序員的代碼質量下降。它只是逐漸地導致一個錯誤觀點占上風的世界。黑客對于公民自由是非常敏感的,因為這對他們至關重要。他們遠遠地就能感到極權主義的威脅,好比動物能夠感知即將來臨的暴風雨。
如果正如黑客所擔憂的,近來那些旨在保護國家安全和知識產權的措施最終卻成為一枚導彈,不偏不倚瞄準了美國的優勢所在,那可真是太諷剌了。不過,這種事情早有先例:人們驚慌失措時采取的措施到頭來產生了適得其反的效果。
有一種東西,叫做美國精神(American-ness),生活在國外的人最能體會到這一點。如果你想知道哪些事情可以滋養或者削弱這種精神,不妨去問問黑客,他們是最敏感的焦點人群,因為在他們身上,比我知道的其他人群,更能體現出這種精神。真的,他們可能比那些政府里掌管美國的人更懂得什么叫做美國精神。那些政客開口必談愛國主義,總是讓我想起黎塞留(Richelieu)^或者馬薩林(Mazarin)^^,而不是杰弗遜或者華盛頓。
^「黎塞留(1585—1642),法國政治家,路易十三的主要大臣,以具有政治謀略、玩弄政治手段著稱,對當時法國集權制度的形成和鞏固發揮了重要作用。——譯者注」
^^「馬薩林(1602-1661),法國政治家,繼承黎塞留,擔任路易十四的主要大臣,也是一個政治斗爭能力強于治國能力的政治家。——譯者注」
如果讀美國開國元勛的自述,你會發現他們聽起來很像黑客。“反抗政府的精神,”杰弗遜寫道,“在某些場合是如此珍貴,我希望它永遠保持活躍”。
你能想象今天的美國總統也這么說嗎?這些開國元勛就像直率的老祖母,用自己的言辭讓他們的那些不自信的繼承者感到了慚愧。他們提醒我們不要忘記自己從何而來,提醒我們,正是那些不服從管教的人們,才是美國財富與力量的源泉。
那些占據高位、本能地想要約束黑客、強迫黑客服從的人們,請小心你們的要求,因為你們真有可能成為千古罪人。