一個產業的誕生#
1974 年 12 月,保羅·艾倫(Paul Allen)在哈佛廣場的書報攤瞥見《Popular Electronics》1975 年 1 月封面上的 Altair——他既興奮又恐慌:個人電腦時代來了,他們可能來不及參與。他濕漉漉地跑回宿舍找他的老搭檔比爾·蓋茲(Bill Gates)——
「Hey,這事情正在發生,沒有我們。」
蓋茲一聽就開始他著名的前後搖晃。讀完文章,他知道艾倫對。接下來八週,他們瘋狂寫程式碼,開創了一個全新產業。
1955 年生的蓋茲不像之前的電腦先驅那樣在乎硬體——他從來沒有焊過電路板(高中物理老師罰他組 Radio Shack 套件,他「焊錫滴得到處都是、根本不能用」)。對蓋茲來說,電腦的魔力在軟體碼,不在電路。「我們不是硬體大師,Paul。我們會的是軟體。」他與艾倫要做的,是讓硬體變成可互換商品,讓寫作業系統與應用軟體的人收割大多數利潤。
「當 Paul 把那本雜誌給我看時,根本不存在所謂的軟體產業——我們的洞見是:可以創造一個出來。我們做到了。多年以後再看,這是我這輩子最重要的構想。」——蓋茲
比爾·蓋茲:搖晃的少年#
蓋茲嬰兒時就會在搖籃裡前後搖晃。母親(西雅圖銀行家族出身、行政能力強)和他鬥智屢敗——心理醫師告訴她:「你贏不了的,學著接受吧」。
家庭活動激烈,重視競爭:海邊小屋的「Cheerio Olympics」、玩牌、打牌——他祖母叫他「Trey(撲克牌的 3)」。他 11 歲就跟姊姊談了第一份正式合約:以 5 美元換得非獨家但無限的棒球手套使用權。
1967 年秋,父母把他送進西雅圖私立學校 Lakeside。隔年一台與奇異公司 GE Mark II 主機相連的 Teletype 終端機抵達——蓋茲一見鍾情。「你不能寫模糊的陳述,只能寫精確的陳述」——這是他形容自己對電腦的著迷。BASIC 是當時的語言——他與好友幾天就吞掉 42 頁手冊,自學 Fortran、COBOL。
Paul Allen 比他大兩歲、比他成熟(能長鬢角)。他形容初見蓋茲:「一個瘦長、滿臉雀斑的八年級生,金髮亂飛,邊靠近 Teletype 邊冒著緊張的能量。」
Lakeside 程式設計團隊#
1968 年蓋茲與艾倫成立 Lakeside Programming Group——成員還包括 Ric Weiland、Kent Evans。
- 他們鑽進 C-Cubed 公司(一家由華大工程師創立、用 PDP-10 跑分時的公司)
- C-Cubed 與 DEC 的合約是「機器穩定前不付租金」——他們請 Lakeside 的孩子們把它玩到當機,找出 bug 換取無限免費電腦時間
- 監督他們的是 Steve “Slug” Russell——當年 MIT 寫出 Spacewar 的那位
- 蓋茲很快沉迷到讓父母無法管:他半夜偷溜出家門去寫程式
當蓋茲 13 歲(八年級)他與艾倫從垃圾桶撈出 PDP-10 作業系統的 source code 印列紙——「我跟蓋茲讀那本綠色閃亮的組合語言手冊 ⋯⋯ 讀到困惑時 Russell 又遞給我們另一本說『現在你該讀這本』」。
他們駭進帳號管理系統、破解加密、用管理員密碼盜用付費帳戶——被數學老師抓到。整整一個學期被禁用。「我發誓暫離電腦一陣子,試著當個正常人——我決定不帶教科書回家也能拿全 A」。
第一個合約與「我說了算」#
1970 年秋他們從 ISI 公司接到第一個正式案——寫一支薪資程式。但這得用 Grace Hopper 設計的 COBOL,不是 BASIC。較年長的 Allen 與 Weiland 認為他們不需要蓋茲,把他踢出局。
六週後因為要算社會安全扣款、聯邦州稅,他們撐不住回頭找蓋茲。
「好。但我來當頭。從現在起我會習慣當頭,不當頭你別跟我合作。如果讓我當頭,這個跟我們以後做的所有事都歸我負責。」——這就是蓋茲一輩子說了算的權力結構之始。回鍋後他把賺得的 18,000 美元電腦時間分配如下:自己 4/11、Kent 4/11、Rick 2/11、Paul 1/11——「Paul 就是這麼懶」。
1972 年他與 Kent Evans 接下學校排課程式案——Evans 在登山課中跌落冰河過世。蓋茲在父母臥室聽到消息「兩週都動不了」,後來幾乎整個夏天都和 Allen 睡在電腦房寫程式。同時他們花 360 美元買了一顆 Intel 8008 微處理器、創立 Traf-O-Data:
我發明點子,蓋茲挑戰我,然後鎖定我最好的點子讓它變成現實。
——Allen
「軟體比硬體更勝一籌(Software trumped hardware)」——這就是他們從 Traf-O-Data 學到的、貫穿兩人對電腦革命的核心信條。
哈佛時光#
蓋茲申請哈佛、耶魯、普林斯頓三所——耶魯申請文書講政治、普林斯頓講電腦工程、哈佛講數學——三所都錄取,他選了哈佛。
哈佛 Aiken 實驗室藏著一台 DEC PDP-10(國防部資助、原本要送越南、為了避開反戰抗議偷偷搬進來的)——蓋茲就是這裡寫出 BASIC for Altair 的。他用那台機器寫 Pong 風格的棒球遊戲、修選用的不上課、上選不修的課(為了確保自己永遠不會搞錯)、打橋牌輸幾千美元。
在 Harry Lewis 教授的「煎餅排序問題」課上,他提出 5/3 翻轉次數的演算法——後來與助教 Christos Papadimitriou 合作發表了學術論文。
宿舍鄰居還有一位嗓門大、性格活潑、雙手搖晃同樣激烈的好朋友——Steve Ballmer。他們會一起去看《雨中曲》與《發條橘子》(兩部電影只共用一首歌)。
Altair BASIC#
1974 年 12 月底 Allen 衝進蓋茲在 Currier House 的房間——蓋茲決定寫一個能跑在 Altair 8080 上的 BASIC 直譯器——這將成為第一個商業化的微處理器原生高階程式語言,並啟動個人電腦軟體產業。
他們用 Traf-O-Data 的舊抬頭信紙寫信給 MITS 騙說「我們已經做好一個 BASIC」(其實還沒寫)。沒回信。改打電話:蓋茲假冒 Allen 的名字(他比較成熟)、低八度音說:「我們有一個快做完的 Altair BASIC,想去給你們看」。Roberts 回答:「第一個真正帶著可運作 BASIC 走進我辦公室的人,拿到合約」。
八週瘋狂#
- 沒有 Altair 可以跑——Allen 在哈佛的 PDP-10 上寫了 8080 微處理器的模擬器
- 蓋茲在黃色法律便箋上瘋狂寫 BASIC 直譯器
- 系上同學 Monte Davidoff 寫浮點數常式(400 美元酬勞,後來賺更多)
- 全部要塞進少於 4KB——他們競爭誰能用更少行寫出副程式
- 蓋茲寫到一半時鼻子貼著鍵盤睡著,醒來眨兩下眼睛從同一行繼續
- 八週後壓進 3.2KB:「這是我寫過最酷的程式」
Allen 飛阿布奎基時才想到沒寫 loader——著陸前在便籤上手寫 21 行 8 進位機器語言。1975 年 2 月那天 MITS 辦公室裡 BASIC 在 Altair 上跑出第一個答案:
Print 2+2 → 4
「Oh my God,它印出 4 了!」Roberts 喊。歷史誕生。
Micro-Soft#
1975 年夏蓋茲飛去阿布奎基——Allen 已先到 MITS 任軟體總監。蓋茲堅持簽正式合約,把兩個歷史性條款寫進去:
- Microsoft 保留軟體所有權,MITS 只取得授權
- MITS 必須「盡最大努力」把軟體授權給其他電腦廠商,分潤
這個結構六年後也用在 IBM 合約上:「我們能讓自己的軟體跑在多種機器上——這讓我們、而不是硬體廠商,定義了市場」。
公司初名「Allen & Gates」(聽起來像律師事務所)→ 改成「Micro-Soft」(為微電腦寫軟體)。產品 source code 上的署名:「Micro-Soft BASIC: Paul Allen 寫非執行時段、Bill Gates 寫執行時段、Monte Davidoff 寫數學模組」。
蓋茲再次施展權力遊戲——他不接受對等夥伴關係:先把 Allen 的股份從 50% 砍到 40%、再砍到 36%。「這暴露了一個圖書管理員的兒子和一個律師的兒子之間的差別。我從小被教導:講過的話就是承諾、合約是合約。蓋茲比較有彈性。」——Allen
〈致愛好者公開信〉:軟體想要自由還是收費?#
1975 年 6 月 5 日 MITS 在 Palo Alto Rickeys 旅館的 Altair 巡迴展示中,Homebrew Computer Club 成員 Dan Sokol 「借走」了 BASIC 的紙帶並用 PDP-11 拷貝——下次 Homebrew 聚會出現一整箱 BASIC 紙帶,規矩是「拿一份要還更多份」(Felsenstein 的招牌口號)。Microsoft BASIC 自此自由地擴散了。
蓋茲憤怒地寫下〈致愛好者公開信(An Open Letter to Hobbyists)〉,刊在 Homebrew、《人民電腦公司》等多份刊物上:
你們大多數人偷我們的軟體。硬體要付錢,但軟體就應該共享?誰在乎做這個的人是否拿到報酬?這不公平 ⋯⋯直接的事實是:你們做的事就是偷竊⋯⋯ 沒有什麼比能僱十個程式員、為愛好者市場提供大量好軟體更讓我高興的事了。
收到三百封回信只有五封願意付錢,其餘大多在罵他。
蓋茲基本上是對的——軟體與硬體一樣值得被商業化、軟體開發者也該被付酬。他抗拒駭客倫理、確保了一個新產業的成長。但這封信也帶著反諷:蓋茲自己在哈佛偷用美國納稅人補助的軍方電腦寫 BASIC、從八年級到大學二年級一路在駭密碼盜帳戶。一份愛好者通訊指出:「Bill Gates 信中所說的 BASIC,是不是用哈佛大學部分由政府資金提供的電腦開發?這當中是否有不當甚至違法的問題?」
諷刺的是,盜版反而幫了 Microsoft:BASIC 因擴散太快而成為標準,於是其他廠商不得不向 Microsoft 付費取得授權。「我們讓 Microsoft 成為標準,他卻罵我們是賊」——Felsenstein 譏。
Apple:Wozniak 與 Jobs#
史蒂夫·沃茲尼克#
Steve Wozniak(Lockheed 工程師之子)從小被父親教電子學——「我此生最早的記憶之一,是他在桌上放幾個電子零件讓我玩,從電子與質子如何運作開始講起。」中學自製「永遠不輸的井字遊戲機」、把計算機說明書拿來重設計成更少晶片版本(純粹興趣)、做出 20 顆晶片的「Cream Soda Computer」。
史蒂夫·賈伯斯#

1976 年的 Steve Jobs(1955–2011)與 Steve Wozniak(1950– )
Steve Jobs(小他五歲)。1971 年的「Blue Box」事件奠定了兩人合作的基礎:他們讀到 Esquire 報導後,潛入史丹佛圖書館找出貝爾系統的頻率表、做了能騙過長途電話系統的撥號器;Wozniak 假冒 Henry Kissinger 打到梵蒂岡要找教宗。Jobs 提議:「嘿,賣它」——40 美元零件、150 美元一台、賣了一百台。
「如果沒有 Blue Box,就不會有 Apple」——Jobs 後來說。「Woz 與我學會了如何合作。」「Wozniak 是天使般的天真者、長得像熊貓;Jobs 是惡魔驅動的催眠者、長得像獵犬」。Jobs 在 Atari 與 Bushnell、Alcorn 共事時學到關鍵一課:「指令必須瘋狂簡單:『投幣,避開克林貢人』。裝置不該需要說明書」。
Homebrew 的火花#
1975 年 3 月 5 日 Homebrew 第一次聚會,Wozniak 在角落偷偷拿到 Intel 8080 的規格表——那一刻他想:
我可以用一顆微處理器把運算能力放進我正在設計的終端機。從 Altair 跨一大步:電腦+鍵盤+螢幕一體化!個人電腦的整個願景在我腦中迸出來。那晚我開始畫——後來這就是 Apple I。
1975 年 6 月 29 日晚 10 點,Wozniak 敲鍵盤、字母出現在螢幕——首次有人在親手連線的個人電腦上鍵入字元並即時顯示。
他本來想把設計免費發給 Homebrew 成員——印了 100 份分發。但 Jobs 像對 Blue Box 一樣說:「我們把它賣掉。」Apple I 用 The Byte Shop 訂的 50 台、要求完整組裝好不要焊接套件——這是個人電腦演化的另一步:不再只服務焊槍愛好者。
Apple II#
Jobs 設計 Apple II 時不去研究微處理器規格,而是去 Stanford 商場的梅西百貨研究 Cuisinart 食物調理機:
我的願景是創造第一台完全包裝好的電腦。我們不再瞄準會自己組裝、會買變壓器與鍵盤的少數愛好者——他們之外有一千個人想要可以直接開機就用的機器。
1977 年 6 月以 1,298 美元上市,三年內賣出十萬台。
Apple II 也讓 Jobs 確立了一個此後成為宗教信仰的原則:硬體與作業系統軟體緊密整合。他不要你買 Apple 機器跑別人爛的作業系統,也不要你買 Apple 軟體跑別人爛的硬體。這個整合模式並沒有成為標準——IBM 對 Apple II 的回應,將讓硬體與作業系統分屬不同公司,讓軟體成王,讓硬體商品化。
VisiCalc:第一個殺手級應用#
Dan Bricklin 1978 年坐在哈佛商學院財務模型課堂上,看著教授在黑板上修改一格、要動到很多其他格——他想起 Engelbart 的 NLS 示範——電子試算表。他與 MIT 老友 Bob Frankston 合作,刻意選 Apple II 開發(Wozniak 留下了開放透明的架構):
試算表的設計目標是「使用者最不被驚嚇原則(principle of least surprise)」——「我們是合成體驗的魔術師」(Frankston)。1979 年 5 月分析師 Ben Rosen 在他的個人電腦論壇上預言:「VisiCalc 終有一天會成為搖(並出售)個人電腦這條狗的軟體尾巴」。它的確做到了——幾乎以一己之力把 Apple II 推上王座。「這就是真正讓 Apple II 成功的原因」(Jobs)。VisiCalc 也催生了專屬應用軟體這整個新產業。
IBM 的命運合約#
1980 年 IBM 在主機市場稱霸,但桌上電腦市場眼看要被甩開。IBM CEO Frank Carey 拍板「我們自己做」——團隊代號 Acorn。1980 年 7 月 21 日 IBM 軟體主管 Jack Sams 飛去西雅圖見蓋茲。
蓋茲叫上 Steve Ballmer 一起:「你是這裡另一個會穿西裝的」。會議從討論授權 BASIC 變成「Microsoft 把所有程式語言都授權給 IBM」。
但 IBM 還缺一個作業系統。
蓋瑞·基爾達爾錯失歷史#
Microsoft 當時不做 OS,而是與蓋茲老朋友 Gary Kildall 的 CP/M 合作。蓋茲當場打電話:「我會派人去找你,他們很重要,好好招待。」
Kildall 沒接見 IBM——他選擇開私人飛機去舊金山赴另一個約。妻子接見的 IBM 一行四人因為對方拒簽 NDA 而怒氣沖沖離開。Kildall 的小公司就這樣錯失了主宰電腦軟體的機會。
Sams 飛回西雅圖請蓋茲想辦法——Allen 認識 Seattle Computer Products 的 Tim Paterson,他自己做了個叫 **QDOS(Quick and Dirty Operating System)**的東西。蓋茲領悟到:誰擁有那個將被 IBM 選中的作業系統,誰就坐主位——所以他不引介 IBM 給 Paterson,而是自己跟 Paterson 談:先取得非獨家授權、看到 IBM 案接近成形時,直接以 5 萬美元買斷 QDOS 整個所有權——而沒告訴 Paterson 為什麼。
32 頁合約#
1980 年 11 月,三十二頁合約簽訂——Microsoft 收到 186,000 美元——但合約裡有兩條改變產業勢力的條款:
- IBM 對作業系統的授權是非獨家的——蓋茲可把同一作業系統以 MS-DOS 之名授權給其他電腦廠商
- Microsoft 保留 source code 控制權——只有 Microsoft 能修改、只有 Microsoft 能授權新版本給任何想要的公司
「我們知道會出現 IBM PC 的相容機(clones)。我們的合約結構就是為了允許它們」——蓋茲。
1981 年 8 月 IBM PC 在紐約 Waldorf Astoria 發表(蓋茲沒被邀請——「對 IBM 而言,Microsoft 只是一個供應商」)。但蓋茲笑到最後:他將 IBM PC 與其相容機變成可互換的商品,硬體淪為靠價格競爭的低毛利市場,所有利潤集中到軟體。
硬體實際上會變得無聊得多。整個工作將集中在軟體。
——蓋茲在 PC 雜誌創刊號上說
GUI 與賈伯斯的眼界#
1979 年 12 月 Jobs 帶 Apple 團隊兩次拜訪 Xerox PARC——條件是 Xerox 可投資 Apple 一百萬美元換取看技術。當天他看到三項創新:Ethernet、物件導向程式設計、圖形使用者介面(GUI)+ bitmapping。
Jobs 對前兩個沒太多感覺,但對 GUI 一見鍾情:
像被揭開了眼前的紗。我看見了運算的未來注定是什麼樣子。
Jobs 引用畢卡索:「好的藝術家複製,偉大的藝術家偷竊」——「我們從不為偷取偉大構想感到羞愧」。他也不留情地批評 Xerox:「他們是影印機腦袋(copier-heads),不知道電腦能做什麼——他們從電腦業有史以來最大的勝利中搶到失敗的位子。」
但事實上,Apple 與 Jobs 的功勞不只是「偷」——創新真正關鍵的是執行。Jobs 把單鍵滑鼠簡化、加上下拉選單、加上拖放、加上文件層疊 ⋯⋯ 他們把概念精煉、實作、行銷到 Xerox 自己也做不到的程度(Xerox Star 笨重昂貴、慘敗)。
1983 年 1 月 Lisa、1984 年 1 月 Macintosh 上市。後者那支〈1984〉廣告——女英雄擲鎚砸碎獨裁螢幕——叛逆者 Jobs 對戰 IBM。Apple 這時已掌握 GUI;IBM 與 Microsoft 還在用 c:\> 命令列。

1984 年原版 Macintosh 上的 Jobs 圖像
Windows:一場著名的衝突#
1981 年 8 月 IBM PC 發表那天 Gates 正在 Apple 拜訪 Jobs。Apple 1981 年營收 3.34 億 vs Microsoft 1500 萬——蓋茲還是仰人鼻息。Jobs 想 Microsoft 替 Mac 寫應用軟體,把秘密計畫全告訴蓋茲——並要求合約裡加入:Microsoft 不得在某段時間內為其他公司製作有滑鼠/軌跡球或圖形介面的軟體。
Jobs 自信 Mac 1982 年底會上市,所以同意 1983 年底為禁令終點。結果 Mac 拖到 1984 年 1 月才出貨。1981 年 9 月 Microsoft 已秘密開始做基於桌面隱喻、視窗、圖示、滑鼠的新 OS——並從 Xerox PARC 挖來 Charles Simonyi(曾與 Alan Kay 合作)。1983 年 11 月——Mac 上市前兩個月——Gates 在曼哈頓 Palace Hotel 發表會宣布:Windows。
Jobs 怒火沖天:「Get Gates down here immediately」。蓋茲到 Cupertino,在滿屋 Apple 員工面前淡定回應:
嗯,Steve,我想這件事可以從另一個角度看。我覺得情況更像是:我們倆共有一個叫 Xerox 的有錢鄰居——我闖進他家偷電視,發現你已經先偷走了。
Jobs 直到死前都在生氣:「他們完全是赤裸抄襲我們,因為 Gates 沒有羞恥心」。蓋茲回應:「他真的進入他自己的現實扭曲場了」。
法律上 Gates 是對的——「Apple 不能對「圖形使用者介面」或「桌面隱喻」這類概念取得專利保護」。但 Apple 確實做得更優雅,Microsoft 早期 Windows 圖形「像在西伯利亞地下室喝醉的人設計的」。Windows 最終勝出不是因為設計更好,而是因為商業模式更好:Microsoft 願意授權給任何硬體商,Apple 則堅持整合模式。1990 年市佔達 80%、2000 年達 95%。
自由與開源軟體運動#
Richard Stallman:當代先知#

Richard Stallman(1953– )
Richard Stallman(1953 年生、像舊約先知一樣的駭客)出身於 MIT 人工智慧實驗室與 Tech Model Railroad Club。1980 年代初當實驗室買進專屬作業系統、要求簽 NDA 才能用,他憤而辭職、決心打造一個完全自由、不受專屬限制的作業系統——遞迴縮寫**「GNU’s Not UNIX」**。
1985 年 3 月在《Dr. Dobb’s Journal》發表 GNU 宣言:
我認為金科玉律要求我,若我喜歡一個程式,我必須與其他喜歡它的人分享。軟體販售者想分化使用者並征服他們 ⋯⋯ 一旦 GNU 寫好,每個人都能像取得空氣一樣取得好的系統軟體。
「自由軟體(free software)」中的「自由」指的是自由(freedom),而不是免費(price):「想想『言論自由』,不是『免費啤酒』」。他發明了 **GNU GPL(公共授權條款)**與「copyleft」概念——允許任何人執行、複製、修改、發行修改版本,但禁止他們加上自己的限制。
Linus Torvalds:芬蘭的實用派#

Linus Torvalds(1969– )
Stallman 自己寫了編輯器、編譯器,但缺核心(kernel)。1991 年——21 歲的赫爾辛基大學生 Linus Torvalds(共產黨員之子、卻只關心技術不關心政治)出來補上缺口:
- 對 IBM 相容機 Intel 386 上的 MS-DOS 不滿,又不肯付 5,000 美元買 UNIX
- 用 MINIX(Andrew Tanenbaum 教授的 UNIX 教學版)做基礎、自己用組合語言寫終端模擬器 → 磁碟驅動 → 檔案系統驅動 → 很快意識到自己在打造一個 OS
- 1991 年 10 月 5 日在 MINIX 新聞群組發文:「你還懷念 minix-1.1 那個男人是男人、自己寫驅動程式的時代嗎?」「免費版的 minix-lookalike」Linux 發佈
- 採用 GNU GPL 授權——「不是因為我完全認同 Stallman 的理念,而是讓全世界駭客能拿到 source code 會做出超棒的軟體」
Eric Raymond 在《The Cathedral and the Bazaar》中提出**「Linus’s Law」**:
只要眼睛夠多,所有 bug 都很表淺(Given enough eyeballs, all bugs are shallow)。
Torvalds 是「實用派」、Stallman 是「理想派」。但兩人合奏的成果——GNU/Linux——成為對等共創、無階級協作模式的典範,幾乎所有伺服器、安卓手機、超級電腦都跑它。
「金錢不是最大的動機」(Torvalds)——「人在被熱情驅動時做出最好的工作。對劇作家、雕塑家、創業家、軟體工程師都一樣」。
從 Tocqueville 到 Benjamin Franklin、從拼布社到鄰里穀倉互助、從 Wikipedia 到 Linux——自願結社、共同創造的精神是美國(也是人類)的悠久傳統。Stallman 主張這是道德義務、Torvalds 主張這是工程效率——但這兩條路在 GNU/Linux 上交會了。駭客也想被同儕尊敬、也想累積聲望——開源開發給他們這個舞台。

Larry Brilliant(1944– )與 Stewart Brand 於 2010 年 Brand 的船屋

William von Meister(1942–1995)
