文 / 王越
Ellen Hancock曾任蘋果公司技術(shù)總監(jiān)
從本期開始,我們將在雜志上連載一系列關(guān)于Mac OS X發(fā)展歷史的文章,
Mac OS X 背后的故事(一)力挽狂瀾的Ellen Hancock
。本系列將為大家介紹Mac OS X的發(fā)行版本、技術(shù)歷史、相關(guān)人物等內(nèi)容。本文是系列連載的第一篇。故事還得從20世紀(jì)90年代說起。Ellen Hancock是本文的主人公,也是一位女英雄。她因在IBM的經(jīng)歷而被人們所熟悉。1966-1995年間,Ellen Hancock在IBM共工作了29年。1985年,她成為IBM的副主席。在1986-1988年間,Ellen Hancock擔(dān)任過IBM通信產(chǎn)品的主席,并在1992年被選為資深副總裁。1995年9月,她被時任美國國家半導(dǎo)體(National Semiconductor)CEO的Gil Amelio忽悠,跳槽來到這個企業(yè),做執(zhí)行副總裁。她在這里帶領(lǐng)團(tuán)隊完成了CompactRISC架構(gòu),這個架構(gòu)事后成為ARM7系列的前身。很多人早已經(jīng)把她忘了,也很少有人能夠在回憶時將她和Mac OS X聯(lián)系起來。但事實上,她是讓蘋果放棄Copland轉(zhuǎn)而購買NeXT的關(guān)鍵人物。
早在1994年,Gil Amelio就找好了下家Apple,成為Apple董事會的成員。1997年2月,Gil Amelio從National Semiconductor辭職,并成為Apple的CEO。為了緊跟老板的召喚,Ellen Hancock再次被忽悠,來到了當(dāng)時危機四伏的Apple。這時是1996年5月,為什么是危機四伏呢?還得從早先的事情說起。
20世紀(jì)80年代,賣可樂的John Sculley成為Apple的CEO,隨之Steve Jobs被轟出Apple。畢竟可樂和計算機不是一回事,因此不管是硬件還是Mac OS,整個公司的開發(fā)項目越來越受阻。而且由于先天的不足,Mac OS從誕生之初就不具有一個現(xiàn)代操作系統(tǒng)所應(yīng)有的特性。所以,在1987年,開發(fā)下一代操作系統(tǒng)的計劃呼之欲出。具體的規(guī)劃是,把新的系統(tǒng)所需要的功能,寫在一堆卡片上。短期可實現(xiàn)的目標(biāo),比如增加顏色支持(當(dāng)時計算機仍是黑白的),寫在藍(lán)色的卡片上;長期的目標(biāo),比如多任務(wù)功能,寫在粉色的卡片上;而在可預(yù)見的未來都無法實現(xiàn)的長期的目標(biāo),比如加一個純物件導(dǎo)向的文件系統(tǒng),就寫在紅色的卡片上。在這樣的思路下,Mac OS的開發(fā)團(tuán)隊馬上就被分成兩個組,一個叫藍(lán)組,目標(biāo)是在1991年,發(fā)布一個關(guān)于Mac OS的更新版本;另一個叫粉組,和藍(lán)組同時工作,計劃在1993年,發(fā)布一個全新的操作系統(tǒng)。
1991年5月13日,藍(lán)組順利按時完成開發(fā)任務(wù),發(fā)布了Mac OS 7(一般被稱為System 7),而粉組卻沒做出什么有實際用途的東西來,因此接連跳票。而且,由于Mac OS 7的發(fā)布往往缺乏人手,為了保持正常發(fā)布,常常需要從粉組抽調(diào)人員參加藍(lán)組的開發(fā),再加上Apple當(dāng)時重心放在了和IBM等公司的合作上(Taligent項目)而不是在粉組上,最終導(dǎo)致了粉組項目夭折。而本來Apple指望和IBM合作的Taligent項目能開發(fā)出一個可用的新系統(tǒng),但后來IBM不跟Apple繼續(xù)玩了,因而Taligent的果子又吃不到,Apple相當(dāng)郁悶。 這時由于Mac OS有先天不足(單任務(wù),沒有內(nèi)存保護(hù)),再加上Apple以及第三方軟件的無限量增加(在這段時期,單Apple自己就已經(jīng)加入了QuickDraw、PowerTalk、QuickTime等軟件和技術(shù),每一個都比Mac OS本身來得大),Mac OS的問題終于大爆發(fā)。上個世紀(jì)90年代,Mac OS給人的印象就是很不穩(wěn)定、經(jīng)常崩潰,同Windows 95留給PC用戶的印象差不多,甚至更甚。
Taligent項目掛掉后,Apple自己嘗試過十多個不同的內(nèi)部項目,但大多沒做多久就夭折了。而這時正是Windows NT走向成熟的關(guān)鍵時期。眼看著日子逐漸變得不好過了,Apple開始重新開始考慮建立下一代操作系統(tǒng)的事情。1994年,Mac OS 7.5(Mozart)發(fā)布后,Apple推出新規(guī)劃,建立一個全新的操作系統(tǒng),以Copland命名(紀(jì)念 Aaron Copland,Mac OS的發(fā)布以音樂家名字命名,和Mac OS X后使用貓科動物名字很不一樣),這個項目將有一個全新的內(nèi)核,具有類似Windows NT 內(nèi)核的所有高級特性,而老的軟件都當(dāng)作獨立的進(jìn)程模擬運行。這個項目時間緊、任務(wù)重,1995年3月公布計劃,預(yù)期1996年發(fā)布。而Copland后的版本Gershwin(紀(jì)念George Gershwin),預(yù)計1997年發(fā)布,將重寫Mac的所有系統(tǒng)主要部件,以適合新內(nèi)核的各種特性。
Copland將使用微內(nèi)核技術(shù),只做任務(wù)和內(nèi)存分配。除此之外的所有功能,比如文件系統(tǒng)、硬件驅(qū)動等作為微內(nèi)核上的服務(wù)運行。而Mac OS的所有用戶界面功能將成為一個獨立的框架,稱為藍(lán)盒(Blue Box,今后介紹Mac OS X時,我們還會遇到這個詞)。所有的任務(wù)相互獨立,占用獨立內(nèi)存,也可以用IPC相互交流。學(xué)過操作系統(tǒng)的人都知道,微內(nèi)核是當(dāng)時的一個熱詞,一個系統(tǒng)只有被稱為微內(nèi)核才可被看作是先進(jìn)的,當(dāng)時還有針對Linux系統(tǒng)的著名的Tanenbaum-Torvalds筆戰(zhàn)。但事實證明,所有本來想做成微內(nèi)核系統(tǒng)的成功項目都放棄了原先的設(shè)計(包括NeXTSTEP、Windows NT),因為這種類似Mach微內(nèi)核的系統(tǒng)往往難產(chǎn),GNU/Mach + Hurd之類的項目做到現(xiàn)在經(jīng)過了20年,仍未成事,一年內(nèi)搞一個微內(nèi)核系統(tǒng)談何容易。
微內(nèi)核還沒搞成,Apple幾乎所有開發(fā)組的成員都來添亂。大家都說自己做的東西很重要,一定要加入Copland開發(fā)組,所以QuickDraw GX、OpenDoc之類的開發(fā)組產(chǎn)品成為新系統(tǒng)的核心組件,甚至類似用戶界面皮膚之類的開發(fā)組都來湊熱鬧,馬上就使Copland成為一個無法維護(hù)的項目,
管理資料
《Mac OS X 背后的故事(一)力挽狂瀾的Ellen Hancock》(http://www.szmdbiao.com)。開出的計劃越來越長,項目越來越多,但相關(guān)進(jìn)展越來越少,完成速度越來越慢。即便做出了產(chǎn)品,連測試人手都不夠。1995年就有工程師指出,在1996年發(fā)布Copland純粹是幻想,能1997年發(fā)布就不錯了。1996年,Gil Amelio已經(jīng)掌權(quán)。在蘋果電腦全球研發(fā)者大會上他開心地宣布,傳說中的Copland,也就是System 8的開發(fā)版會在當(dāng)年夏天發(fā)布,而正式版在秋天就可以送到每位用戶手上。時任TidBITs編輯的Matt Neuburg有幸見到了這個傳說中的系統(tǒng)。令他大吃一驚的是,這個系統(tǒng)在當(dāng)時只能打開或關(guān)閉文件,而無法對文本文件進(jìn)行編輯,甚至所有用戶界面的文本框都不能輸字。哪怕什么都沒做,整個系統(tǒng)也會隨機崩潰,而崩潰甚至?xí)斐晌募到y(tǒng)損壞。參加演示的蘋果員工,則需要不斷守在旁邊,他們的工作是不斷地格式化已崩潰的計算機磁盤,然后重裝系統(tǒng)。那年夏天,第零個測試版送到一小簇不明真相的開發(fā)者手中,把那些脆弱的沒見過世面的人嚇得半死。就連Apple內(nèi)部都開玩笑說Copland的正式發(fā)布日期可能得推遲到2030年。
Gil Amelio心急如焚,希望Copland快點走到正道上來。作為Gil Amelio永遠(yuǎn)的好朋友,Ellen Hancock就在這個亂糟糟的時候來到了Apple。她的職務(wù),正是擔(dān)任這個亂糟糟項目的負(fù)責(zé)人。她親自下訪各小組體察民情,了解情況。畢竟在IBM干了近三十年,她依靠自己過人的判斷力在2~3個月內(nèi)便得出結(jié)論,Copland這個項目是沒有指望的,就按目前Apple這樣的狀態(tài),Copland永遠(yuǎn)都不可能發(fā)布,還不如早點取消了好。在短期內(nèi),先把 Copland中的一些有用的成果一點點合并到老的Mac OS中,并且抓緊從外部購買一個全新系統(tǒng)來滿足Apple的需要。正是她的這個結(jié)論,結(jié)束了Apple長達(dá)五年的糾結(jié),使公司重新走向正軌。整個PC的黃金時代已經(jīng)過去,Apple想要翻身,還有很長一段路要走。Gil Amelio支持了Ellen Hancock的計劃。1996年8月,Apple取消Copland項目。開發(fā)預(yù)覽版的CD封套都已制完,每個郵包上的地址都已打印就續(xù),而CD卻從未曾制出。
1996-1998年是Apple最混亂的幾年。在商業(yè)上,有一陣曾傳出Apple要被Sun收購的消息。更有意思的是,《連線》雜志在1997年的六月還發(fā)表了一篇文章,名為《101種拯救Apple的方法》,其中一條說最好的方式是Apple讓自己被Motorola買下,成為Motorola的一個部門,做 PowerPC 系列產(chǎn)品。以當(dāng)時的眼光來看這些建議非常諷刺好笑,以今天的眼光看更為好笑。而Ellen Hancock在這段時間內(nèi)的出色工作,成功地挽救了Apple。
首先,Ellen Hancock的對內(nèi)政策是繼續(xù)Mac OS 7.5的開發(fā)工作,一步步把Copland中的技術(shù)并到7.5中。同時,也大量購買第三方的系統(tǒng)增強包,包括插件管理工具、層次化菜單等技術(shù)。Apple把它們買過來,整合到現(xiàn)有的系統(tǒng)中。整個老系統(tǒng)在新系統(tǒng)尚未完成的時候不斷更新,至2000年已出到9.0版,盡可能地留住了老用戶。并且,前面提到的藍(lán)盒(Blue Box)也作為后來新Mac OS X系統(tǒng)的一部分,支持用戶運行經(jīng)典Mac OS的程序。
而對外政策更是一個大手筆。Ellen Hancock協(xié)助Gil Amelio在Apple之外找尋操作系統(tǒng)技術(shù)。在IBM和Microsoft合作Big Blue的經(jīng)驗告訴她,購買一個操作系統(tǒng)的使用權(quán)問題多多,最好的計劃是整個一并買下來。因此,Gil Amelio開始和當(dāng)時看好的Be談,卻因價格問題沒有成功,最終轉(zhuǎn)而收購了NeXT。而Apple合并NeXT后,NeXTSTEP就演化為Rhapsody,并最終成為Mac OS X。這些事情我們今后會詳細(xì)再談。
買完NeXT后,Steve Jobs執(zhí)政,Gil Amelio因任CEO期間Apple虧損嚴(yán)重而被炒。Steve Jobs把信得過的人(很多是前NeXT員工)拉攏到周圍,開始新政,而同Gil Amelio有關(guān)的Ellen Hancock則在人事變動中被疏遠(yuǎn)。Steve Jobs甚至在很多場合稱她為“笨蛋”。Ellen Hancock最終于1998年主動辭職。事后同Gil Amelio以及Apple的創(chuàng)始人之一Steve Wozniak一同創(chuàng)業(yè),但始終不景氣,她的輝煌時代已經(jīng)過去。
Gil Amelio總結(jié)他在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的出色表現(xiàn),不但把船引到了正道上,還找來了有能力堵這個洞的人。
作者介紹:王越,清華大學(xué)建筑學(xué)院畢業(yè),現(xiàn)居美國。中國著名TeX開發(fā)者,非著名OpenFOAM開發(fā)者。
(本文選自《程序員》雜志11年05期,更多精彩內(nèi)容敬請關(guān)注05期雜志)