
自1976年成立以来,苹果电脑经历过数次软硬件整体的平台迁移,而其核心是自90年代中后期开始的,由旧的Mac OS向新的基于UNIX的Mac OS X的系统迁移。由于两个系统间的软件不兼容,再加上苹果前后三次转换硬件平台的缘故,这场迁移旷日持久。过渡后的OS X成为了今天苹果所有设备的底层操作系统,是苹果整个生态体系的基石。本文讲述的就是在这次系统迁移过程中发生的故事。

作为引领个人电脑浪潮的先驱,苹果在70年代末凭借Apple II大红大紫,成为市场领导者。然而80年代初,IBM凭借开放的PC架构和Wintel联盟一起迅速蚕食个人电脑市场,苹果遭受重大冲击。乔布斯于1984年发布初代Macintoch予以还击,对后世的个人电脑行业引影响深远,然而在当时并未扭转颓势,于次年被董事会扫地出门。
在整个80年代,苹果靠成熟的Apple II和高附加值的Mac产品线保住了全球第二大个人电脑制造商的地位,利润率看似不错。而90年代,个人电脑吃鸡大赛进入最终盘。雅达利、commodore、amiga、王安电脑等纷纷作古,wintel阵营即将全面胜利。苹果是唯一幸存下来的不采用intel(x86)处理器且不预装windows的微机大厂。在windows兼容机的疯狂挤压之下,苹果为了保销量祭出机海战术,各种套娃机型层出不穷,营收大涨的背后是低于3%的净利率,各项经营指标一塌糊涂。

(图:1995年的Macintoch Performa 5200系列,采用PowerPC处理器)
比营收更可怕的是苹果电脑的操作系统。在落伍的Apple II停产后,苹果主销的Mac系列电脑尽管有着看似先进的图形界面,但是其操作系统(System Software,又称Classic Mac OS)还在基于70年代末开发的底层,甚至不支持原生多任务。而苹果的老对手微软在90年推出了Windows 3.0,拿出了可堪一战的图形界面,更是在93年推出了Windows NT内核,对苹果形成了技术上的碾压。
苹果也深知老朽不堪的古早System Software有多么拉垮,早在80年代末就着手于新系统的开发。一个原因是苹果为了提高计算机性能,正在从原有的68000芯片向PowerPC平台过渡,这是苹果、IBM、摩托罗拉三家当时堪称美国IT界门面的企业联手打造的RISC平台,旨在对抗如日中天的Intel X86体系(PS:苹果此时还和英国的Acron合资,成立了一家专攻低功耗RISC芯片的企业,叫作ARM,后面还会提到)。苹果希望硬件平台迁移到PowerPC的时候,正好能乘势推销新的系统软件,以全新的底层架构来打造软硬件协同的优良体验。然而的结果却是打造了软件工程史上最著名的失败案例之一:Copland。

(网图:Copland系统包装盒,准备以OS 8的名义发售,来源红迪)
Copland是Mac OS新系统的代号名,包括原生Power PC代码,以及众多现代操作系统的先进功能。在耗费无数人力财力之后,苹果原本打算抢在Windows95推出之前发布这款系统,将其视作公司起死回生的最终决战兵器。但是到了96年,这款系统也没有达到能用的水平。苹果内部人士开玩笑说,这东西2030年可能才会符合QA标准。某种程度上,多年之后财大气粗的苹果造车失败,便是Copland项目的翻版。

90年代中期的苹果内外风雨飘摇,PowerPC芯片已经流片,苹果只好迎着硬着头皮强上新的处理器,但是用老旧的Mac OS凑合跑,搞出来一堆兼容天坑。系统的稳定性已经达到了连果粉都无法忍受的地步。财富杂志无奈的评论道:“the company that invented the personal computer will likely disappear(曾发明个人电脑的公司即将要消失)”。董事会甚至想要将公司卖掉,和IBM、DEC、HP、Sun乃至索尼探讨收购事宜。无果之后,推动AIM联盟和Copland项目的CEO斯宾德勒(Michael Spindler)失势下台,IEEE院士、CCD发明者之一的技术派高层吉尔·阿梅利奥(Gilbert Amelio)成为新的CEO。
懂技术的阿梅利奥立刻开始审查Copland,被烂摊子所震惊,果断的决定造不如买,及早的承认自己的OS部门是一群饭桶还来得及,而新的系统应该购买成品。收购备选包括苹果前高层开发的BeOS、SUN的Solaris、乔布斯出走后带队开发的NeXTSTEP,甚至Windows NT。比尔·盖茨对往苹果电脑里安装Windows NT很感兴趣,因为NT在当时也算是新内核系统,微软同样有推广的压力,对于主动找上门来的客户自然不能拒绝;另一方面,这也相当于对曾经看不起自己品味的白富美的终极羞辱。于是盖茨兴奋了起来,亲自给苹果总部打电话。
乔布斯在85年宫斗失败被赶出苹果之后,成立了一家名叫NeXT的计算机公司,主要生产高性能工作站。商业上没有取得很大成功,但是其搭载的基于UNIX的NeXTSTEP操作系统在行业内有极高评价。乔布斯本人不懂技术,然而懂得用对的人。他挖来了微内核的奠基人之一Avie Tevanian担任软件总师。NeXTSTEP的架构和稳定性在当时遥遥领先,不仅适配精简指令集处理器RISC,甚至还原生支持X86。这些要素最终促成了苹果的这次收购。争论在96年12月尘埃落定,苹果以4亿美元收购NeXT,并邀请乔布斯担当临时顾问。

(图:欧洲原子能中心CERN的NeXT工作站,在其的NeXTSTEP系统上架设了世界上第一个万维网服务器)
此时的乔布斯并没有任何重新执掌苹果的想法,他不光是NeXT的CEO,还是皮克斯(Pixar)的老板。凭借1995年《玩具总动员》的热映,皮克斯终于扭亏为盈,还成功上市。自1985年离开苹果之后,乔布斯第一次找回了成功的感觉。他想专注于皮克斯,这也是他想卖掉NeXT的原因之一。因此在苹果收购NeXT的谈判中,他只想要现金,拿到钱拍屁股走人。而CEO阿梅利奥则表示,作为公司创始人,你应该与苹果共存亡,因此只能以股票来交易。最后乔布斯只拿到了1.2亿美刀的现金,外加正疯狂贬值的苹果股票。

乔布斯本来只想加入苹果董事会,稳居幕后,顺便帮助NeXT团队融入进苹果。很快他变得越来越有参与感,开始插手人事,并且觉得现任的高管们都是傻逼。短短几个月他就联合董事会洗掉了众多高管,包括CEO阿梅利奥,然后又反过来洗掉了几乎整个董事会。公众对于乔布斯重新出山的呼声也愈演愈烈。乔布斯一生的Soulmate级朋友、甲骨文老板拉里·埃里森(Larry Ellison)曾多次恳求乔布斯复出,甚至公开表示他准备收购苹果,然后请乔布斯当CEO。消息一出,苹果股票应声大涨。乔布斯把自己的亲信安排进苹果管理层和董事会之后,仍然对自己是否出任CEO犹豫不决。然而当乔布斯站上演讲台的时候,他开始不由自主的畅谈起了苹果的使命,苹果的愿景,以及苹果如何摆脱困境。他忘记了自己只是个所谓的临时顾问。在台下果粉狂热的呼喊声中,在身边人盛情的邀请之下,他知道这便是他的全部,他也就不再谦虚起来。

(图:1997年1月Macworld EXPO,乔布斯首次以苹果顾问身份亮相,身后为阿梅利奥)
乔布斯当然清楚,苹果收购NeXT、请他再出山的最直接原因是迁移系统。如果向NeXTSTEP迁移失败,那Mac将彻底失去竞争力,苹果必死无疑。系统以前是苹果的核心竞争力,现在是苹果的生死命门。当一件事情事关企业生死的时候,老总必将亲自出面,努力把事情办下来;反之,老总若是不出面,说明这事情远未达到事关企业生死的程度。而对于乔布斯来讲,半年前他只想要四亿美金,现在他则想让拼命让苹果活下来。晓得事情严重性的乔布斯立刻丢掉脸皮开启了化缘之旅,亲自拜访当时的知名IT企业老板,希望能得到支持,或者干脆能投一笔钱。乔布斯很明白,想要推广新系统必须要放低姿态、求同行给好脸色,因为一个新系统如果市占率上不去自然就没有人给你开发软件,从而陷入鸡生蛋蛋生鸡的死亡循环。乔布斯去找戴尔商谈希望DELL的新电脑能预装Mac OS,甚至可以和Windows组成双系统让用户自由切换,当然最后没有谈成。乔布斯还打电话给他的一生之敌比尔·盖茨,以结束苹果微软旷日持久的抄袭官司为条件,希望微软能够保证未来五年能持续更新适用于Mac的Office三件套,并且能向苹果投资1.5亿美元。盖茨私下里非常反对乔布斯回归苹果,认为他是个失败者,但是明面上还是痛快的答应了。

(图:1998年的苹果官网的教育用户二级页面)
此时已经是1997年的年中。1996财年,苹果献上了净利巨亏-8%的轰天雷财报。当时的苹果有多可怜,97年年中推出的Mac OS 8并非新架构的系统,而是旧架构的缝缝补补,外加一些胎死腹中的Copland的新特性,售价49美元。众多黑客团体宣布拒绝破解,表示你应该支持正版,因为这是苹果的救命钱。苹果还有两大基本盘:创意工作者和教育用户。前者青睐苹果是因为Mac很早就有了色彩管理和视频流的支持,并且在平面排版领域拥有绝对的统治力,后者则是早在70年代苹果就深耕大专市场的缘故。苹果最落魄的年月,教育用户支撑了很大一部分mac销量。作为回报,苹果将教育用户优惠和返校季促销作为公司雷打不动的回馈政策,一直延续至今。

乔布斯认为五年时间是完成迁移的时间大限,因为微软只保证五年的Office支持。他和软件团队最初的想法,是直接用NeXTSTEP替换旧的MacOS,用虚拟机来保证旧软件的兼容。此时NeXTSTEP 5.0基本开发完成,乔布斯便将其改名叫作Rhapsody,提供给开发者。取名Rhapsody(狂想曲)的原因是当时的苹果多用音乐相关的名词来作为系统的代号,比如Mac OS 8的代号叫tempo,更早的Mac OS 7.6的代号则叫harmony。

(图:提供给开发者的Rhapsody DR1,其文件管理器还是NeXTSTEP样式)
Rhapsody本质上是NeXTSTEP操作系统的双框架版本,基于魔改Mach2.5内核和4.4BSD Unix环境;在此之上则是原本NeXTSTEP系统原生的OPENSTEP API框架(称之为黄盒)以及为了兼容旧Mac OS而增加的半虚拟化框架(蓝盒),再附加Java虚拟机;GUI层则是经典MacOS和NeXTSTEP GUI杂交的产物。简单的说,原生(纯血)程序跑黄盒,兼容的旧程序跑蓝盒。并且有一点很有趣的是,这张系统盘可以安装在X86 PC上,开发适用于X86的原生黄盒程序。此时的乔布斯以及还没有卷铺盖的苹果高管们在认真的思考苹果新系统要不要上X86这个问题,以便拓展系统市场份额。当时的决定是不上,数年之后还是上了,这是后话。
NeXTSTEP本身已经是经受行业检验的成熟系统,所以Rhapsody很快的就交给了第三方开发者,果粉热情高涨,却遭到了市场的质疑,质疑的并非系统本身,而是苹果的前景。97年第四财季,苹果电脑的季度销量已经下滑到了60万台,在美市占率不到5%,在海外更是名副其实的others。盖茨承诺为苹果继续开发Office,但是并非原生的黄盒程序。他曾经打电话向乔布斯抱怨:你tmd要我来给你的那个NeXT开发软件吗?面对1.5亿美元大金主的质疑,乔布斯也只能打感情牌,晓之以情动之以理的说咱们当年也是好朋友,您微软赚的第一桶金就是当年给苹果开发软件之类的,全然不提两家公司过去的撕逼大战。
苹果微软长期有着官方的敌对关系,而盖茨的人品更是和乔布斯卧龙凤雏。在80年代初期,苹果的营收远大于微软,盖茨只不过是众多苹果软件供应商之一。但是乔布斯却非常欣赏盖茨的技术力,希望微软一辈子都要给苹果(而不是IBM)开发软件,尤其是Excel,这是当时Mac上被寄予厚望的杀手级应用。乔布斯甚至和盖茨达成君子协定,允许盖茨使用当时苹果领先的图形界面专利开发Excel,前提是一年内不要开发图形界面的操作系统。盖茨说到做到,一年之后果然开发了兼容IBM PC的图形操作系统,便是今天的Windows。乔布斯大怒,却还没来得及反击就被苹果董事会宫斗下台。之后的苹果法务部门起诉微软抄袭,却被盖茨告知:如果不对Windows授权图形界面专利的话,就对你们苹果断供Excel,乃至整个Office。一直以来,微软都在用Office拿捏苹果,屡试不爽。

(图:1997年7月的另一场Macworld EXPO,当比尔·盖茨视频连线乔布斯的时候,全场嘘声四起,乔布斯也被屏幕上巨大的盖茨所震惊)
微软的行为让苹果从上到下咬牙切齿,并且这种敌视蔓延到了极端果粉的身上。1997年夏季Macworld,乔布斯重新掌权之后的第一次主题演讲,迎来了超过5000名果粉的疯狂捧场。然而在演讲最后,乔布斯宣布和微软的合作关系之时,立刻被台下的果粉嘘到飞起。在果粉的眼里,这是天大的背叛。为了控场,乔布斯临时脱稿,对嘘声四起的台下说:为了让苹果好起来,现在是时候放弃微软赢苹果就一定输的观念了。这一番话试图在安抚那些赢学上脑、不一直赢就是输的极端果粉。搞笑的是,2006年苹果彻底活过来之后,马上制作了一连串的嘲讽Windows PC的小广告,又让他爽了几年。

1997财年,苹果巨亏十亿美元,而账上只有十几亿美元的现金,下个财年不是生就是死。而这并没有阻止乔布斯改革的步伐。他疯狂砍产品线,并且解除之前签订的各种授权代理合同,在清理烂摊子上又花了几亿美元。乔布斯认为现今的苹果只需要四款产品:专业线笔记本和台式机各一款、消费线笔记本和台式机各一款。苹果不是普通的PC制造商,不能像其他企业只管做硬件,然后把软件驱动的锅甩给Windows。苹果的系统软件由自己来维护,机海套娃战术只会疯狂提升软件维护的难度,降低软件质量。不过机海战术和臃肿的产品线倒是有一个优点:让销售额看起来很漂亮。上任管理层用机海战术,让苹果的销售额在1995年创下了110亿美元的新高,随后陷入赤字地狱。乔布斯精简产品线之后,销售额暴降到五六十亿美元,并长期在这一数值徘徊,直到2005年才重回100亿美元大关。
乔布斯此时不仅是苹果的老板,还是皮克斯的老板;不仅要抓软件、抓财务,还要抓硬件,天天忙到虚脱,结石也没空去治,找大夫往屁股上怼一针止痛针完事。苹果濒临破产的财务状况和推广新系统的巨大压力,迫使他要尽快推出一款爆款热卖的电脑,来快速回笼现金流,并提高装机量。97年6月份,乔布斯还没坐上CEO位置的时候就开始了新电脑的研发。在疯狂的压力下,乔恩·鲁宾斯坦(Jon Rubinstein)带领的硬件团队和乔·艾维(Jony Ive)带领的工业设计团队仅仅花了11个月就完成了这一壮举。1998年5月,回归苹果仅17个月的乔布斯发布了全新的iMac G3,以大胆的外观和不俗的硬件配置再一次震撼世界,半年时间热卖80万台,把苹果从破产边缘拉了回来。

(图:初代iMac G3)
iMac G3并没有采用新的操作系统,还是旧的Mac OS 8.1,但是承诺会升级到新的系统。事实上,苹果为其提供了旧的OS8/9、新的OSX 10.0/10.1/10.2/10.3总计六个大版本更新,更新支持跨度达到7年之久。iMac G3的热卖还有一个原因,是因为它仅售1299美元,和当时的品牌机价格类似,远低于自家先前的产品,但是却提供了远高于其他电脑的情绪价值。1299美元的定价是乔布斯亲自拍板的。考虑到这台电脑大量使用定制件非标件,光半透明外壳的成本就高达60美元,1299的定价并非以利润为导向,而是充分展现了诚意。另外,前文所述的ARM于1998年在伦敦和纳斯达克上市。手握高达43%股份的苹果卖掉了大部分ARM的股份,换来了11亿美元的救命钱。

新电脑大卖的同时,操作系统这里却遇到了大麻烦。苹果最开始只想提供纯OPENSTEP原生单框架的新系统,预装在新的Mac电脑上,双框架的Rhapsody仅用于迁移开发用。但是在质疑声中,苹果做出了妥协,承诺新系统将会预装黄盒半虚拟层来运行旧的MacOS应用。这一妥协的结果便是没有任何一家大型开发商决定为苹果新系统开发原生Rhapsody应用。原因显而易见:大型全功能软件的重新开发费时费力,既然你苹果都不坚持单框架了,我开发商又何必来承担这个风险。旧架构应用跑黄盒虚拟机又不是不能用。甚至Photoshop的开发商Adobe也是这么想的。面对惹不起的大型开发商,乔布斯只好再退一步。在Rhapsody的基础上又增加了一个过渡的API库,名叫Carbon。

(图:流传最广的Mac OS X架构图)
前文所述,双框架Rhapsody包括跑原生OPENSTEP API的黄盒,以及跑旧Mac OS的半虚拟化框架,也就是蓝盒,两个盒子泾渭分明。而Carbon则是和OPENSTEP并列的一套API,并非所谓虚拟机,可以实现交换。Carbon提供了大量旧有Mac OS的库和函数,可以使得旧的MacOS应用稍加修改,就可以直接跑在Rhapsody上————但是调用的不是OPENSTEP而是Carbon API,从而实现碳烤风味的准原生支持。修改的过程又叫作碳化。碳化过的软件有性能上的折损,但是能够保证软件的全功能,不用从头开发。在苹果眼里,全功能远比流畅性重要。为了在一个操作系统上实现两套API,苹果对OPENSTEP底层进行魔改,使用纯C语言重写了大量代码。最终改完之后的Rhapsody包括黄盒纯血API、蓝盒半虚拟机、碳化Carbon API、Java VM和Unix必有的BSD等一堆API层,从双框架变成了三框架。
苹果的这一修改是对开发者的完全妥协:在未来的新系统中,有钱有闲开发者可以开发纯原生应用,难以迁移的大型软件开发商可以用少量的额外成本开发全功能的碳化应用,死活不想搬家的顽固开发者也可以在蓝盒虚拟机上跑旧应用。Carbon得到了开发商的积极响应,甚至苹果内部都在大量使用这东西。
此时的Rhapsody已经不是最初的Rhapsody的样子。苹果将系统的最底层分叉为Darwin,将蓝盒虚拟机命名为Classic环境,将原生的纯血API命名为Cocoa,形成了Classic/Carbon/Cocoa的3C框架,并将整个系统命名为Mac OS X。比尔·盖茨接触到早期Mac OS X版本之后立刻就发现了,它并不是一个纯血的NeXTSTEP。乔布斯对于所谓纯血系统似乎没有什么执着。

在软件部门热火朝天的重写Openstep底层的时候,乔布斯开始领导设计部门OSX的表层,也就是GUI(图形用户界面),这是他擅长的东西。他提拔了既是编程天才又对UI有深刻造诣的斯科特·福斯托尔(Scott Forstall)担任人机界面总师。福斯托尔大胆确立了华丽的、拟物的、如湛蓝色流体般的设计美学,尽管会耗费大量的系统资源。

(图:Mac OS X Beta的早期版本,注意dock栏和现在的区别)
2000年,公测版Mac OS X Public Beta上架开售,穷疯了的苹果将其标价30美元。公测版OSX搭载了遥遥领先的Aqua用户界面。尽管继承了原Mac OS和NeXTSTEP的诸多特性,但是它仍被视作是一个全新的GUI,并非是对当时如日中天的Windows 98的借鉴和抄袭。它的独创性和赏心悦目被广受赞誉,让拟物风影响业界长达十数年之久。不幸的是,在华丽的外表下,新系统的稳定性非常差,Carbon API几乎不可用,Aqua界面的大量动效让整个系统卡顿缓慢,加上几乎没有原生Cocoa软件的支持,让整个OSX像个中看不中用的花瓶。
比起卡顿的问题,缺乏软件的问题更加致命,第三方软件的缺失迫使苹果亲自上场。视频编辑领域是苹果的基本盘之一。98年的时候,Macromedia开发的一款非编软件因为和微软的法律授权问题无法发行。此时的Mac平台的主力非编软件是Adobe Premiere Pro。而前面提到过,Adobe对于原生适配并不积极。为了保住非编市场基本盘,苹果当即托管了这个软件团队,并在99年发布了Final Cut Pro————就是这款软件。苹果甚至开展了用正版Premiere安装盘换取正版Final Cut的促销活动。在FCP的成功之后,苹果有样学样,收购并研发了大量软件,用来弥补第三方软件适配不积极和功能缺失带来的影响。这些软件包括面向消费者的iMovie/iPhoto/iDVD/iTunes/iWeb/GarageBand,面向专业用户的DVD Studio Pro/Aperture/Logic Pro/MainStage,以及防止微软Office断供而开发的iWork三件套Keynote/Pages/Numbers。苹果这样做意图在Mac平台的软件领域自主可控,完全自研,避免被第三方给掐脖子。这些软件很多都作为第一方预装在新的mac里,苹果希望消费者开箱即用,仅凭预装软件就能满足大部分日常需求。

2001年3月24日,是传说中的苹果新系统Mac OS X 10.0正式版发布的日子。一向自信的苹果此时表现出了极大的不自信甚至是怯弱。乔布斯自己都声称,这款新系统不会像往常那样受到什么热烈欢迎。而果粉兴高采烈的花129美元把盒装10.0新系统抱回家之后,打开盒子一看,竟然有两张CD:一张新的OSX 10.0,一张旧的Mac OS 9.1。

(图:日版Mac OS X 10.1,内含三张盘,左为开发工具套装,右为9.21)
很快,果粉就明白了为什么苹果的回应就像是闯了祸的小奶猫一样:纵然有三大框架保证新系统的兼容性,还是有大量的旧软件无法正常运行。苹果的解决办法是————请安装OS9.1,和OSX组成双系统,然后冷切换到OS9.1来运行旧版软件。这使得这段短暂过渡期的Mac电脑拥有了双系统四框架的逆天架构。
当新系统的兼容性远远达不到能用的要求的时候,双系统切换是最笨但是唯一可行的兼容办法,至少苹果是这么想的。
不仅如此,果粉又发现新的OSX竟然不支持CD的刻录和DVD的播放。此时销售的焕新版iMac G3型号正大张旗鼓的把Combo光驱当成卖点,但是只要你一升级新系统,那光驱就成了只读CD的废铁。果粉只能频繁的关机-开机-关机-开机,在新系统和旧系统里冷切换,最后发现用旧系统的时间远大于新系统,然后哭笑不得的向别人解释:
新系统好用吗?
————嗯,蛮好用的。
比如?
————比如,嗯,挺好看的,然后呢,挺流畅的。(事实上并不流畅)
连当时的评论家也发问:OSX的最大卖点是那个华丽的Aqua界面————乔布斯,是这样吗?
苹果也知道闯祸了,光速的在同年9月发布了OSX的10.1版本,创下了6个月系统换代的最速纪录。苹果甚至来不及印新的包装盒,在库存10.0的盒子上贴上10.1的标签就匆忙发货。次年(2002年)1月,苹果宣布所有新出货的Mac均默认搭载OSX新系统,此时距离乔布斯回归苹果正好过去了五年。
2002年8月,苹果发布了OSX 10.2版本,并宣称此时的OSX已经拥有超过3000个原生应用————以现在的眼光来看并不算多;预装OSX的Mac硬件销量高达300万台————这个数据就更加惨淡了。苹果甚至没有公布OSX的单独销量,但是却自豪的宣称苹果现在已经是全球最大的UNIX系统供应商。盖茨看了这样的新闻会笑抽,因为同样是2002年8月的时候,Windows XP已经卖了4600万份拷贝。2003年,苹果和微软的协议到期。盖茨继续为苹果开发Office,原因之一是微软内部有大量的员工使用Mac,他们不希望苹果死。

(图:2001年末发布的Office v.X是第一个适配OSX的Office版本)
完全重构的Mac OS X带来了很多功能上的变化,有些功能是全新的,有些功能是继承自NeXTSTEP的,还有些功能则是消失了,比如文件夹彩色标签。这是早在91年的OS7中就有的功能,在OSX 10.0中被删除。系统的重构必然面临功能缺失的风险,但是果粉对于彩色标签的缺失表现得非常愤怒,因为苹果的Finder文件管理器一直以来都是一坨,完败于Windows的文件管理器。彩色标签是Finder为数不多的亮点,但是被砍了。更有果粉发现,OSX上的Finder根本不是Cocoa原生重构的,竟然也是旧的管理器碳化而来,跑在Carbon上的。在铺天盖地的恶性反馈之后,苹果终于在2003年的OS X 10.3版本中复活了文件夹彩色标签。

从2000年的Mac OS X Public Beta到2003年的Mac OS X 10.3,苹果遭遇了长达三年的系统过渡混乱期。用户对于好看但是useless的OSX普遍持观望态度,死守OS8/9不肯升级。即便新款Mac拥有超顶的外观和领先的外围配置,销量也始终上不去。苹果在2002年1月宣布所有新出厂电脑配备新系统OSX,半年之后光速打脸,重新开卖起了能安装OS9的PowerMac G4,一直卖到2004年,原因无他:老系统需求强劲,新系统销量不振。

(网图:第三代PowerMac G4)
苹果进行系统切换的第一年,也就是2001财年,录得了1%的净赤字。02/03年也没有好到哪里去,连续两年利润率仅仅1%。苹果原以为随着处理器性能的升级,新Mac流畅运行OSX的三框架和Aqua的复杂动画将不是什么问题,所谓卡顿一去不复返。然而恰恰有意思的是,处理器那里出了问题。
前文所述,在90年代初,苹果、IBM、摩托罗拉三大IT巨头结成了AIM联盟,共同打造高性能通用计算架构。苹果和IBM负责下一代系统的开发(Taligent,和Copland一样胎死腹中),而IBM和摩托罗拉共同打造RISC处理器,也就是PowerPC系列,来对抗X86的Wintel联盟。很快苹果就发现,IBM和摩托罗拉都有设计制造处理器的能力,他们合资建造了Fab,而苹果只负责采购芯片。一旦芯片的性能和交付出了问题,苹果只能干瞪眼。而IBM和摩托罗拉也发现,巨资研发的PowerPC只有苹果、任天堂和IBM自己这三个大客户。虽然任天堂是大客户,但是众所周知,任天堂对芯片性能的要求向来很低。而苹果对芯片的性能和功耗要求非常高,恰恰这时候苹果电脑的出货量不高,无法完成规模采购。三家都发现这是个无利可图的联盟,摩托罗拉甚至短暂退出。

(图:传说中的G4 350倍杀奔III 450)
乔布斯回归之后一直在做两手准备,因为NeXTSTEP原生支持Intel X86,他秘密组建了一只小组来保证Mac OS X对Intel处理器的适配,以防不时之需。非常不幸的是,乔布斯的灵感应验了。90年代末的PowerPC G3 740/750性能略胜当时的奔腾II。而进入1999年,乔布斯本来大张旗鼓的发布了全新的Powermac G4,搭载了被他吹逼为世界最快的G4处理器,共有400mhz/450mhz/500mhz三个型号,却在发布后被G4芯片生产商的摩托罗拉告知:良率上不去,只能降频砍50mhz,最终交付的却是350/400/450mhz三个型号。乔布斯大概会想,如果卖电脑不标处理器型号会多好。不过果粉也是懂事,对于处理器的缩水予以充分理解,没有集体诉讼。而次年Intel就搬出了1Ghz的奔腾III铜矿,形成了千禧年别具一格的500mhz Mac单挑1Ghz Intel的幽默性能大战。乔布斯照例在发布会上吹逼自己如何世界最强,并用各种风味软件跑分来展现500mhz怎么秒杀1Ghz,彰显果式对比法的魅力。直到2002年,苹果才拿出了双路1Ghz的Powermac G4,然而发热巨大,开机如同拖拉机。在大量投诉之后,苹果提供了全新的静音机箱风扇和电源风扇套装,由用户自行替换,仅售19.95美元。
更大的麻烦还在后面。乔布斯觉得摩托罗拉不靠谱,转而向IBM求助,希望其能尽快提供下一代的PowerPC芯片,也就是PowerPC G5。他没有想到的是,IBM更不靠谱。尽管G5性能不俗且原生支持64位,但是发热量是G4的几倍。在多次延期之后,苹果于2003年发布了全新的PowerMac G5,搭载全新1.6Ghz G5处理器。机箱中硕大的风冷散热模组立刻成为焦点。乔布斯吹逼G5明年就能上3GHz,和贝瑞特吹逼P奔腾4明年上4Ghz并成为2003年业界两大笑话。只不过后来乔布斯没下跪。
很快,在次年(2004年),乔布斯搬出了更大的笑话:为了飙性能而强上双路四核2.5Ghz的PowerMac G5,CPU功耗飙到了500w,真正的为发烧而生。苹果非常无奈的给这批机器上了水冷模组,在当时的PC业界遥遥领先,还贴心的在铝合金机箱的内侧底板上优雅的刻了一行字:如果你在这个地方发现了液体,请立刻拔掉电源插头并联系授权服务商。

(图:2005款Power Mac G5,注意那占据全塔机箱大半的液冷模组)
尽管G5芯片功能强劲,但是它太热了,根本塞不进笔记本里去。直到2005年,苹果的笔记本产品线(PowerBook/iBook)都还在使用奔腾III年代的G4芯片。此时的苹果笔记本就像是一辆豪车,拥有最奢华的外观,最科技的外围配置,然后发动机是个1.0T三蹦子。IBM贴心的表示单核G5芯片只要降频到1.5GHz就可以把功耗降低到30w,放进笔记本里不是问题。乔布斯心想你tm在逗我。此时的乔布斯对于性能的焦虑远胜于90年代的时候。
2004财年,苹果的净利润率只有3%,Mac的季度销量仍然在80万台上下徘徊,不见什么好转的迹象————要记住1996年苹果要破产的时候,Mac的季度销量也有60万台。重整后的Mac产品线俨然是时尚的宠儿,Mac OS X此时也进化到了10.4,也就是大名鼎鼎的Tiger,重修了内核,性能大幅度优化,还有很多新功能,果粉纷纷表示满意。新系统的迁移已经取得了阶段性的成功,但是对销量没有任何促进的作用————它仍然是个Others。面对mac的滞销,乔布斯开始寻找更多的办法。

早在70年代末,凭借Apple II的爆卖,苹果就已经建立起遍布全美的经销商网络。后来这一网络拓展到欧洲和日本。不少经销商是果粉,当然,大部分都不是。随着苹果进入困难时期,经销商也越来越少。自97年到2000年,苹果全球经销商由鼎盛时期的2万个腰斩到1万个。乔布斯认为,经销商良莠不齐,很多导购什么都不懂,只在乎那50美金的提成。靠这帮导购显然是无法把苹果的理念传达给消费者的,应该直接开直营店卖电脑。

(图:第一家Apple Store)
董事会对于乔布斯的开店想法纷纷表示质疑。在当时,DELL那样的网络/电话直销模式才是未来,零库存轻资产。有趣的是,DELL最初的电商网站还是NeXT负责建造的。乔布斯非但不想把库存风险转嫁给经销商,反而自己去做重资产的事情。舆论纷纷看衰。但是乔布斯的理由是,经销商并不忠诚,他们的导购会对顾客说:嘿,这个mac看起来很漂亮但是什么软件都安装不了,还是去看更全能的Windows PC吧。mac的理念传达不到消费者那里,那我们就完蛋了。前文所述,苹果电脑的基本盘是果粉、教育用户和创意工作者,这些基本盘能够维持mac季度80万台左右的销量,但是再往上就是天花板。乔布斯需要一帮能像自己一样吹得天花乱坠,让用户觉得mac好的地方非常的好,不好的地方自己也能克服的直营导购,能够最大限度的安抚消费者,免得他们因为功能不全而吵得要退货。当然,苹果也准备推广非常爽快的店铺无理由退货政策,给消费者一个无压力尝鲜的选择。以上这些都是经销商办不到的。
在巨大的质疑声中,苹果的第一家直营店铺于2001年在临近华府的弗吉尼亚州一家中高档购物中心开业,很快万众瞩目,人满为患。是年10月,鲁宾斯坦主持开发的iPod上市,成为出圈单品。后来店员发现,从未接触过苹果电脑的时尚青年仅仅去直营店购买iPod,却也会对店里摆放的mac产生浓厚的兴趣。这种光环效应的传导逐渐显现。

(图:2004年的苹果官网,几乎全是iPod)
iPod+iTunes很快成为苹果新的现金奶牛。2004最后一个财季,iPod单季度大卖200万台,暴增500%,即将成为苹果新的营收支柱。自1976年以来,苹果第一次靠两条腿走路:Mac和iPod。乔布斯此时专心研究两个项目,一个是大型触摸平板电脑,也就是后来的iPad,另一个则是如何收拾PowerPC这个烂摊子。他受够了被PowerPC掐脖子,他决定了,他要把Mac迁移到intel芯片。

2005年WWDC,乔布斯宣布向intel x86迁移之后,果粉反响不一。一些人觉得终于可以买到高性能的苹果笔记本了,另一些人则是CTMD:刚迁移完一次,还要来?由于苹果之前的PowerPC芯片是RISC架构,和X86有着天堑般的差异,乔布斯给的解决方案并非像Carbon那样碳化旧应用,而是直接在X86上跑二进制转译,又称之为罗塞塔。旧有的OSX软件无须修改,就能通过罗塞塔的转译跑在X86的Mac OS X上,但是性能有较大的折损。而对于开发者,苹果支持他们将软件编译成四架构二进制代码,分别对应X86和PowerPC的32位和64位平台。编译后的软件被称之为通用二进制(Universal),可以在intel和PowerPC的Mac电脑上原生运行,代价就是安装包变大,因为要包括两套代码。

(截图:Intel开发者套件,采用奔腾4 3.6GHz)
这次平台迁移较上一次鸡飞狗跳的系统迁移较为顺利,自2006年1月发布第一款酷睿MacBook Pro开始,苹果仅仅七个月就一口气完成了全线Mac的intel换代,销量也应声大涨30%。开发者的反馈也更积极,Adobe在次年(2007年)就发布了通用二进制的Photoshop。微软也在2008年1月发布了通用二进制的Office 2008,虽然到处都是bug。搞笑的是,Photoshop直到2010年才迁移到原生OPENSTEP的Cocoa。也就是说,之前的通用二进制的Photoshop是碳化的。这倒也不奇怪,毕竟连Finder都是碳化的。
促使这帮拖延症大爷把碳化程序重写成Cocoa的最直接原因,是因为进入2010年,主流处理器平台早已转向了64位,包括intel的酷睿。苹果也准备在OSX 10.5中转向64位。而Carbon API本质上是90年代的东西,当然不支持64位。苹果表示Carbon API在未来不会有任何重大更新。随着系统的升级,碳化应用会有越来越多的bug。开发者只有将软件重写成支持X86-64的新程序,才能在未来的Mac上稳定运行。不仅如此,10.5还砍掉了Classic环境,旧的MacOS应用彻底无法运行。以上原因让很多果粉遗老决定留守在10.4,一如几年前他们决定留守在9.22一样。

(网图:Mac OS X 10.4截图)
10.4是非常经典的一个OSX系统,同时支持PowerPC G3/G4/G5和intel32/64位,既有Classic/Carbon/Cocoa三框架,又有罗塞塔转译层,形成了空前绝后的四大框架的态势,可以说是苹果在软硬件平台上反复穷折腾的完美缩影。倘若再能折腾一点,搞出来个八岐大蛇框架也不是不可能。
2005财年,苹果财报被iPod带到起飞,营收重新破百亿美元————自1995年头一次;净利润率10%。2006财年,intel Mac的大卖让苹果的营收直逼200亿美元,创下了史上最高的水平。自此,苹果的年净利润率再也没有跌破10个点。

关于intel Mac大卖,网传的一个说法是苹果饱受mac销量不振的压力,被迫用换平台的方式曲线允许用户安装Windows系统,从而提振销量。苹果从未承认这种说法,但是却贴心的提供了Boot Camp允许用户来部署Win/Mac双系统,并且随着OSX和Windows的版本迭代而持续更新,以便支持最新的系统。苹果主动适配微软的态度,多少能说明一些问题。Boot Camp最早支持OSX 10.4来安装Windows XP。这样一来,原本四框架的10.4再添一猛将,成了绝无仅有的五框架系统————但是实际上,只有intel平台能安装Boot Camp,然而intel平台的10.4系统不支持Classic环境,所以还是四框架。

(图:Boot Camp引导界面)
无论如何,在换装了intel芯片并能允许消费者合法安装Windows之后,Mac的销量节节攀升,由2004年的490万台稳步上涨到2012年的2300万台,之后随着PC市场的大环境偶有起伏,在2019年的销量是2500万台。
2019年,乔布斯早已经去了iHeaven,iPhone正统治世界。曾经iPod的光环效应在iPhone上被指数级别放大,越来越多的iPhone用户对mac产生了浓厚的兴趣。乔布斯在发布iPhone的时候自豪的宣称其搭载的系统也是OSX,这来自于福斯托尔的天才设计:让Mac开发者可以很熟练的为iPhone开发软件。而随着iPhone的热卖,流向发生了改变:越来越多的iOS开发者开始为macOS开发软件。

(图:iOS底层Core OS架构,基于Mach 3.0,最上则是Cocoa Touch)
iOS的底层和OSX类似,都是基于Darwin内核的类Unix。苹果在OPENSTEP的系统迁移的过程中踩的无数的坑,都成为了建筑iOS的宝贵财富。iOS从一开始就站在OSX的巨人肩膀上,拥有优异的性能和极佳的可靠性,而福斯托尔在设计OSX动效时候的成熟经验全都展现在了iOS上。这使得iOS从一开始就是一个成熟度极高的系统,成为了苹果生态的护城河。苹果耗费巨大人力物力打造的OSX,最终在iOS上转化成了数以千亿的利润,这大概是乔布斯生前也没有想到的。仅仅几年时间,iOS就拥有了几十万个APP。对于饱受OSX应用缺失的苹果来讲,他们从未打过这么富裕的仗。大量开发者在为iOS平台开发App的时候接触到了Mac,得益于其原生Unix环境和优雅的系统体验,从而成为果粉。程序员成为了苹果电脑新的基本盘。

回到2019年,是年苹果发布了macOS 10.15 Catalina,彻底删掉了Carbon API。而Classic环境已经在2007年的10.5中删除,罗塞塔编译器也在2011年的10.7中删除。10.15 Catalina成为了第一个也是唯一一个单框架的基于OPENSTEP(Cocoa)的MacOS系统。从1997年的Rhapsody到2019年的Catalina,这场旷日持久的系统迁移历时22年,看起来已经要结束了。…………吗?
2005年苹果还在使用PowerPC的时候,就有坊间风传苹果会使用PWRficient的处理器。这是PowerPC的低功耗分支版本,由初创半导体企业PA Semi设计。后来苹果决定转向Intel,击破了这个谣言。但是在2008年,苹果整体收购了PA Semi。乔布斯表示此举将为苹果未来的移动设备设计定制芯片,毕竟这些低功耗芯片不是intel的强项。
数年之后,现任苹果CEO蒂姆·库克(Tim Cook)发现高性能芯片竟然也不是intel的强项。
早在库克主管供应链的时候,就被PowerMac G5的散热搞得焦头烂额。后来乔布斯收购PA Semi的时候,和ARM签订了在当时非常罕见的ALA架构许可。乔布斯很想把ARM重新买回来,在2010年开价85亿美元,结果的答复是no。不过在签订ALA协议的问题上倒是达成了一致,毕竟有历史渊源。
乔布斯蛮希望英特尔能提供移动端低功耗芯片,但是每次不是intel没准备好,就是苹果这头有技术大拿反对。库克掌权之后,脑袋里G5的滚滚热浪挥之不去,对低功耗芯片的执念还要更甚。采用3/4代酷睿处理器的Retina Macbook Pro被众多果粉誉为是史上最好的笔记本电脑,不仅因为它稳定、耐用、可扩展,还因为它的发热和电池续航令人满意。而2017年之后,采用第7/8代酷睿处理器的Macbook Pro又把这种恐怖的发热带了回来,配合蝶式键盘,打造了非常极致的使用体验————烂到极致的体验。当库克发现他的芯片团队打造的A12X芯片配上风扇已经能和笔记本i7掰手腕的时候,该做什么不言而喻。
2020年,单框架的macOS Catalina仅仅发布了一年之后,库克宣布进行第三次平台迁移:从intel迁移到苹果自研芯片。

(从左到右:通用二进制2、罗塞塔2、虚拟化框架、Mac Catalyst)
老果粉对于这样的决定并没有太多的波澜,毕竟经历太多了,First Time?.jpg。苹果也是很有经验的发布了第二代罗塞塔转译层和第二代通用二进制程序文件。前者负责在新的macOS 11上运行旧的intel Mac应用,后者则是来构建intel/apple silicon双代码程序,以便在两个平台上原生运行。除此之外,苹果还提供了虚拟化框架来安装Linux/macOS虚拟机,以及能让iPad应用运行在macOS上的Mac Catalyst API,新四大框架再次隆重登场。
这次平台迁移的过程远远慢于上一次,官方声称两年即可完成,实际上则是从2020年的11月到2023年的6月,历时两年半。
在迁移后的第一个完整年度,也就是2021年,Mac年销量逼近2900万台,暴涨28%。想要尝鲜M1处理器的用户和想要在mac上安装Windows的用户纷纷抢购新旧款电脑,形成了一时奇观。

(图表:自1997年以来苹果Mac部门的营收,2001年OSX正式开始迁移,2006年intel mac开始出货,2020年apple silicon mac开始出货)
在2025年的WWDC上,苹果宣布下一代macOS27(大约2026年推出)将是最后一代保留罗塞塔2转译层的系统。macOS28(大约2027年推出)将只保留极少数罗塞塔2功能用于软件编译。按照这样的路线图,最早在2028年,macOS将再次回归单框架系统。

历史上不乏那些向新系统新平台迁移的例子:古早的有DEC和王安,转型失败公司破产;较近的有NEC代表的日本计算机企业,抛弃了旧有的独特的系统转而兼容windows,现在也纷纷卖掉了电脑业务;更近的有微软本身,WP7/WP8/W10M三代壮士断腕级迁移,直接葬送了Windows Mobile,还让跟着上船的诺基亚终端业务一起陪葬;三星、摩托罗拉和索尼纷纷投上了谷歌安卓的大船,结局也各不相同。
为什么苹果敢称自己think different,就是因为,从1994年苹果决定从68000和System Software 7向新的硬件和操作系统平台迁移,到最早2028年苹果电脑完全使用apple silicon芯片和单框架macOS系统,苹果的这场迁移历时超过34年。期间苹果经历了四任CEO,四个处理器平台,多达6个软件框架,超过25个系统版本。这可能是计算机史上最疯狂的事情:硬件团队赶在公司破产之前用11个月研制生产出来爆款电脑,软件部门为了强保全功能软件的运行搞出来逆天四框架,公司老板四处奔波寻求软件商的支持甚至化缘,黑客团体不想看到苹果倒闭而拒绝破解,在系统迁移期公司净利润率连续三年只有1%甚至更低,以上便是这场惨烈迁移的冰山一角,only apple can do。

(网图:1997年6月号WIRED杂志,报道乔布斯重返苹果的故事,此封面是史上最著名的杂志封面之一)
苹果的这次系统迁移不仅是软件工程学的奇迹,计算机史上的奇迹,甚至也是商业的奇迹。在这次渡劫之后,凭借OSX打下的坚实基础和几乎溢出的设计管理营销经验,苹果几乎以无敌的姿态君临消费电子领域,长期保持全球市值第一。当然,这次渡劫并没有帮助苹果成功开拓科技和娱乐之外的领域,譬如汽车。但是,历时超34年的系统迁移证明,苹果首先是一家计算机企业,是曾经的世界第二大和现在的第四大个人电脑供应商,然后才是其他。
乔布斯年代的苹果,在官网发新闻稿的时候,最后总是要附上这样一句话:
苹果公司在20世纪70年代通过Apple II引发了个人电脑革命,并在20世纪80年代通过Macintosh彻底重塑了个人电脑的面貌。苹果公司致力于通过其创新的硬件、软件和互联网产品,为全球学生、教育工作者、创意专业人士和消费者带来最佳的个人计算体验。

曾经两次引领个人电脑革命,后来距离破产一步之遥,这样的过往便是苹果的执念。事情办到这一步,和利益无关,和执念有关。

2025年8月,苹果CEO库克在电话财报会议上表示:
MacBook Air 是中国最畅销的笔记本电脑机型,Mac Mini 是中国最畅销的台式机机型。
(完)