Mac OS X 背後的故事(一)力挽狂瀾的Ellen Hancock

文 / 王越

從本期開始,我們將在雜誌上連載一系列關於Mac OS X發展歷史的文章。本系列將爲大家介紹Mac OS X的發行版本、技術歷史、相關人物等內容。本文是系列連載的第一篇。

Ellen Hancock曾任蘋果公司技術總監

Ellen Hancock曾任蘋果公司技術總監

故事還得從20世紀90年代說起。Ellen Hancock是本文的主人公,也是一位女英雄。她因在IBM的經歷而被人們所熟悉。1966-1995年間,Ellen Hancock在IBM共工作了29年。1985年,她成爲IBM的副主席。在1986-1988年間,Ellen Hancock擔任過IBM通信產品的主席,並在1992年被選爲資深副總裁。1995年9月,她被時任美國國家半導體(National Semiconductor)CEO的Gil Amelio忽悠,跳槽來到這個企業,做執行副總裁。她在這裏帶領團隊完成了CompactRISC架構,這個架構事後成爲ARM7系列的前身。很多人早已經把她忘了,也很少有人能夠在回憶時將她和Mac OS X聯繫起來。但事實上,她是讓蘋果放棄Copland轉而購買NeXT的關鍵人物。

早在1994年,Gil Amelio就找好了下家Apple,成爲Apple董事會的成員。1997年2月,Gil Amelio從National Semiconductor辭職,併成爲Apple的CEO。爲了緊跟老闆的召喚,Ellen Hancock再次被忽悠,來到了當時危機四伏的Apple。這時是1996年5月,爲什麼是危機四伏呢?還得從早先的事情說起。

20世紀80年代,賣可樂的John Sculley成爲Apple的CEO,隨之Steve Jobs被轟出Apple。畢竟可樂和計算機不是一回事,因此不管是硬件還是Mac OS,整個公司的開發項目越來越受阻。而且由於先天的不足,Mac OS從誕生之初就不具有一個現代操作系統所應有的特性。所以,在1987年,開發下一代操作系統的計劃呼之欲出。具體的規劃是,把新的系統所需要的功能,寫在一堆卡片上。短期可實現的目標,比如增加顏色支持(當時計算機仍是黑白的),寫在藍色的卡片上;長期的目標,比如多任務功能,寫在粉色的卡片上;而在可預見的未來都無法實現的長期的目標,比如加一個純物件導向的文件系統,就寫在紅色的卡片上。在這樣的思路下,Mac OS的開發團隊馬上就被分成兩個組,一個叫藍組,目標是在1991年,發佈一個關於Mac OS的更新版本;另一個叫粉組,和藍組同時工作,計劃在1993年,發佈一個全新的操作系統。

1991年5月13日,藍組順利按時完成開發任務,發佈了Mac OS 7(一般被稱爲System 7),而粉組卻沒做出什麼有實際用途的東西來,因此接連跳票。而且,由於Mac OS 7的發佈往往缺乏人手,爲了保持正常發佈,常常需要從粉組抽調人員參加藍組的開發,再加上Apple當時重心放在了和IBM等公司的合作上(Taligent項目)而不是在粉組上,最終導致了粉組項目夭折。而本來Apple指望和IBM合作的Taligent項目能開發出一個可用的新系統,但後來IBM不跟Apple繼續玩了,因而Taligent的果子又喫不到,Apple相當鬱悶。 這時由於Mac OS有先天不足(單任務,沒有內存保護),再加上Apple以及第三方軟件的無限量增加(在這段時期,單Apple自己就已經加入了QuickDraw、PowerTalk、QuickTime等軟件和技術,每一個都比Mac OS本身來得大),Mac OS的問題終於大爆發。上個世紀90年代,Mac OS給人的印象就是很不穩定、經常崩潰,同Windows 95留給PC用戶的印象差不多,甚至更甚。

Taligent項目掛掉後,Apple自己嘗試過十多個不同的內部項目,但大多沒做多久就夭折了。而這時正是Windows NT走向成熟的關鍵時期。眼看着日子逐漸變得不好過了,Apple開始重新開始考慮建立下一代操作系統的事情。1994年,Mac OS 7.5(Mozart)發佈後,Apple推出新規劃,建立一個全新的操作系統,以Copland命名(紀念 Aaron Copland,Mac OS的發佈以音樂家名字命名,和Mac OS X後使用貓科動物名字很不一樣),這個項目將有一個全新的內核,具有類似Windows NT 內核的所有高級特性,而老的軟件都當作獨立的進程模擬運行。這個項目時間緊、任務重,1995年3月公佈計劃,預期1996年發佈。而Copland後的版本Gershwin(紀念George Gershwin),預計1997年發佈,將重寫Mac的所有系統主要部件,以適合新內核的各種特性。

Copland將使用微內核技術,只做任務和內存分配。除此之外的所有功能,比如文件系統、硬件驅動等作爲微內核上的服務運行。而Mac OS的所有用戶界面功能將成爲一個獨立的框架,稱爲藍盒(Blue Box,今後介紹Mac OS X時,我們還會遇到這個詞)。所有的任務相互獨立,佔用獨立內存,也可以用IPC相互交流。學過操作系統的人都知道,微內核是當時的一個熱詞,一個系統只有被稱爲微內核纔可被看作是先進的,當時還有針對Linux系統的著名的Tanenbaum-Torvalds筆戰。但事實證明,所有本來想做成微內核系統的成功項目都放棄了原先的設計(包括NeXTSTEP、Windows NT),因爲這種類似Mach微內核的系統往往難產,GNU/Mach + Hurd之類的項目做到現在經過了20年,仍未成事,一年內搞一個微內核系統談何容易。

微內核還沒搞成,Apple幾乎所有開發組的成員都來添亂。大家都說自己做的東西很重要,一定要加入Copland開發組,所以QuickDraw GX、OpenDoc之類的開發組產品成爲新系統的核心組件,甚至類似用戶界面皮膚之類的開發組都來湊熱鬧,馬上就使Copland成爲一個無法維護的項目。開出的計劃越來越長,項目越來越多,但相關進展越來越少,完成速度越來越慢。即便做出了產品,連測試人手都不夠。1995年就有工程師指出,在1996年發佈Copland純粹是幻想,能1997年發佈就不錯了。

1996年,Gil Amelio已經掌權。在蘋果電腦全球研發者大會上他開心地宣佈,傳說中的Copland,也就是System 8的開發版會在當年夏天發佈,而正式版在秋天就可以送到每位用戶手上。時任TidBITs編輯的Matt Neuburg有幸見到了這個傳說中的系統。令他大喫一驚的是,這個系統在當時只能打開或關閉文件,而無法對文本文件進行編輯,甚至所有用戶界面的文本框都不能輸字。哪怕什麼都沒做,整個系統也會隨機崩潰,而崩潰甚至會造成文件系統損壞。參加演示的蘋果員工,則需要不斷守在旁邊,他們的工作是不斷地格式化已崩潰的計算機磁盤,然後重裝系統。那年夏天,第零個測試版送到一小簇不明真相的開發者手中,把那些脆弱的沒見過世面的人嚇得半死。就連Apple內部都開玩笑說Copland的正式發佈日期可能得推遲到2030年。

Gil Amelio心急如焚,希望Copland快點走到正道上來。作爲Gil Amelio永遠的好朋友,Ellen Hancock就在這個亂糟糟的時候來到了Apple。她的職務,正是擔任這個亂糟糟項目的負責人。她親自下訪各小組體察民情,瞭解情況。畢竟在IBM幹了近三十年,她依靠自己過人的判斷力在2~3個月內便得出結論,Copland這個項目是沒有指望的,就按目前Apple這樣的狀態,Copland永遠都不可能發佈,還不如早點取消了好。在短期內,先把 Copland中的一些有用的成果一點點合併到老的Mac OS中,並且抓緊從外部購買一個全新系統來滿足Apple的需要。正是她的這個結論,結束了Apple長達五年的糾結,使公司重新走向正軌。整個PC的黃金時代已經過去,Apple想要翻身,還有很長一段路要走。Gil Amelio支持了Ellen Hancock的計劃。1996年8月,Apple取消Copland項目。開發預覽版的CD封套都已制完,每個郵包上的地址都已打印就續,而CD卻從未曾製出。

1996-1998年是Apple最混亂的幾年。在商業上,有一陣曾傳出Apple要被Sun收購的消息。更有意思的是,《連線》雜誌在1997年的六月還發表了一篇文章,名爲《101種拯救Apple的方法》,其中一條說最好的方式是Apple讓自己被Motorola買下,成爲Motorola的一個部門,做 PowerPC 系列產品。以當時的眼光來看這些建議非常諷刺好笑,以今天的眼光看更爲好笑。而Ellen Hancock在這段時間內的出色工作,成功地挽救了Apple。

首先,Ellen Hancock的對內政策是繼續Mac OS 7.5的開發工作,一步步把Copland中的技術併到7.5中。同時,也大量購買第三方的系統增強包,包括插件管理工具、層次化菜單等技術。Apple把它們買過來,整合到現有的系統中。整個老系統在新系統尚未完成的時候不斷更新,至2000年已出到9.0版,儘可能地留住了老用戶。並且,前面提到的藍盒(Blue Box)也作爲後來新Mac OS X系統的一部分,支持用戶運行經典Mac OS的程序。

而對外政策更是一個大手筆。Ellen Hancock協助Gil Amelio在Apple之外找尋操作系統技術。在IBM和Microsoft合作Big Blue的經驗告訴她,購買一個操作系統的使用權問題多多,最好的計劃是整個一併買下來。因此,Gil Amelio開始和當時看好的Be談,卻因價格問題沒有成功,最終轉而收購了NeXT。而Apple合併NeXT後,NeXTSTEP就演化爲Rhapsody,並最終成爲Mac OS X。這些事情我們今後會詳細再談。

買完NeXT後,Steve Jobs執政,Gil Amelio因任CEO期間Apple虧損嚴重而被炒。Steve Jobs把信得過的人(很多是前NeXT員工)拉攏到周圍,開始新政,而同Gil Amelio有關的Ellen Hancock則在人事變動中被疏遠。Steve Jobs甚至在很多場合稱她爲“笨蛋”。Ellen Hancock最終於1998年主動辭職。事後同Gil Amelio以及Apple的創始人之一Steve Wozniak一同創業,但始終不景氣,她的輝煌時代已經過去。

Gil Amelio總結他在Apple時期的工作時說:“Apple是一艘底部有洞漏水的船,而我的工作是把這船引向正道。”(Apple is like a ship with a hole in a bottom, leaking water, and my job is to get this ship pointed in the right direction. )Ellen Hancock雖然同Gil Amelio一樣,不知如何去堵這個漏水的洞,但正是由於她在Apple的出色表現,不但把船引到了正道上,還找來了有能力堵這個洞的人

作者王越,美國賓夕法尼亞大學計算機系研究生,中國著名TeX開發者,非著名OpenFOAM開發者。

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