施乐(Xerox)的 Star 电脑影响深远
当史蒂夫·乔布斯(Steve Jobs)找微软作为 Macintosh(麦金塔电脑)的首个第三方应用软件开发者时,他就思考过他们可能会把苹果的创意复制到基于 PC 机的用户界面上。作为早期能为 Macintosh 开发的条件,斯蒂夫要微软保证至少在 Macintosh 首发(first shipment)的一年内,不能发行任何鼠标应用软件。
微软的主系统程序员 Neil Konzen 被分配到了 Mac 项目,这个年轻有为的 Apple II(苹果第二代电脑)黑客成长于西雅图的郊区。当他还是个高中生的时候,就已经开始为微软工作了,并且他独立地为成功的 Z80扩展卡(可以使 Apple II 运行 CP/M 系统的软件)编写了系统软件。
因为 Neil 对苹果(Apple)的喜爱,微软顺理成章地把他分配到这个既新奇又高度机密的 Macintosh 计划。尽管 Macintosh OS(麦金塔电脑操作系统)迅速迭代,他依然尽职地集成微软基于字节码(byte-code)的解释环境(interpreted environment)(实际上复制自施乐注重内存效率甚于执行速度的系统,这恰好适合 Mac 有限的内存)。因此 Neil 跃居为微软在 Mac 系统技术细节方面的专家。
到 1983 年中期,微软已经能很好地向我们展示他们正在进行的电子制表软件(spreadsheet)与商务图形软件的原型:Multiplan 和 Chart(他们也在研究文字处理机,但却避而不谈,因为这会与 MacWrite 造成竞争)。我每周会花上一些时间和 Neil 通电话。他有时会要我给出实现部分的特性或者抱怨已经实现的方法。但大多数时候我会回答他关于正在复杂迭代的 API 的提问。
我渐渐开始发现 Neil 会问一些他不需要清楚的实现细节。尤其是他对于每个区域的所代表和实现的功能都充满好奇,还常常对此详述他的认识,希望得到我的证实。
撇开求知欲不谈,除非你想实现自己的版本,否则没有理由关心系统的内部构件。我告诉史蒂夫我怀疑微软企图克隆 Mac,但他并不担心,因为他不认为他们有能力完整地(decent)实现,即使有 Mac 作为借鉴。
1983 年 11 月的时候,我们听到微软在 Comdex(业内首屈一指的交易展,一年在拉斯维加斯举办两次) 宣布了惊人的消息:他们介绍了一款全新的、使用鼠标的图形用户界面——Windows,这直接和 Personal Software 早期推出的 Vision 竞争。此外,他们还推出了额外的鼠标应用软件——Microsoft Word。当史蒂夫之知道 Windows 后,暴跳如雷。
(比尔盖茨和乔布斯,额外配图)
“立刻让盖茨到这里来!”他怒气冲天地对 Mac 初期的布道师(original evangelist),也是处理我们和第三方开发者关系的 Mike Boich 说,“他必须给我解释,最好能让我满意。叫他明天下午来这里,不然的话!”
出乎意料的是,第二天下午我也被邀请到会议室参加会议。在那里,比尔·盖茨(Bill Gates)必须独自当着 10 个苹果员工的面解释。我想史蒂夫是想让我证明 Neil 询问过内部构件的事,但他并没有这样做,所以当史蒂夫开始对比尔大吼,质问他为什么要破坏协议的时候,我变成了一个奇特的(fascinated)观察者。
“你剽窃了我们!”史蒂夫咆哮道,并提高了声调。“我信任你,但你却正在抄袭我们!”
比尔·盖茨开口之前,只是很平静地站在那,直视着史蒂夫。
“史蒂夫,我觉得应该用另一种方式看待这个问题。这就像我们有个叫施乐的有钱邻居,当我闯进去想偷走电视时,却发现你已经这么干了。”
不幸的是,事实证明微软在 1981 年签署的协议中约定,他们不能在 Mac 开售一年内发布鼠标应用软件,所以到 1983 年 9 月的时候已经到期了。因为 1981 年后期时我们认为 Mac 应该会在 1982 年秋发行,所以我们傻到没有顺延(float)协议中的发行日期。因此微软完全有权推出 Windows。由于苹果依然需要微软为 Macintosh 提供应用,所以史蒂夫无法从中把它们砍掉。
微软一直没能发布 Windows。直到两年后,也就是 1985 年秋天,Windows 1.0 才发布。但它实在很粗糙,如史蒂夫所料,只有 Mac 的皮毛。它甚至连窗口重叠的功能都没有,取代的是所谓“并列式窗口(tiling)”的技术。几个月后,颓势已经很明显了,比尔·盖茨解雇了实施团队并从头开始制作新的版本,正是由 Neil Konzen 所带领。
Neil 负责的 Windows 版本在几年后发布,优秀到让苹果在 1988 年申请了永久版权诉讼来抗衡微软,但他们最终还是失去了独特性(technicality)(这个官司认定苹果在 1985 年 11 月无意中给与了微软 Mac 用户界面的永久许可证)。