IBM公司规定研制期限为一年,而且要求严格保守机密,因为这涉及重要的商业利益。公司为这项软件开发制定了非常严格的保密标准,比尔·盖茨和他的同事们住进了西雅图国家银行大厦8楼的一间微软公司办公室,它位于过道尽头,长9英尺,宽6英尺。他们的隔壁是一家证券经纪公司。为了防止泄密,IBM公司对他们进行封闭式管理,不准随便开门,一切有关象棋计划的资料文件都不得带出房间。IBM公司还为他们安装了一种专门的保险箱,还要求在天花板上装铁丝网,以防有人从屋顶上进入房间。但这个过分的要求遭到了拒绝。房间里没有窗户也没有空调设备,夏天室内气温高达38℃。IBM公司的人还要求不准开门,并且多次进行安全检查。据说有一次微软公司的人正在开门通风,被检查人员发现,就受到了警告。微软公司的人虽然极不习惯这种管理,但知道商战无情,泄密就等于自杀,也只好遵命。
按照合同规定,这些软件的开发必须在1981年3月底完成。他们雇请了蒂姆·帕特森来协助设计操作系统,比尔·盖茨则负责改进原来为阿尔塔计算机设计的BASIC,使它能用于IBM公司的个人计算机。
他们要解决的首要问题,就是按IBM的要求,将QDOS使用的8英寸磁盘改为使用525英寸磁盘,这牵涉数字记录状态的变更。蒂姆·帕特森好长时间都不知道微软公司是在为谁研制这些软件。有一天,他接到IBM公司打来的电话,询问有关DOS的情况。他觉得奇怪,问对方是谁,对方马上意识到不对,便支支吾吾地搪塞一下,匆忙挂了电话。
为了同IBM公司加强联络,在相距4000英里的西雅图和博卡拉顿之间,除了邮件往返不断,还建立了一条“热线”,也就是一个电子通信系统。比尔·盖茨也不时出差去博卡拉顿。在飞机上睡觉成了他的习惯,这样,人一到就马上可以精力充沛地投入工作。偶尔他可以一天之内飞一个来回,行程达8000英里。
开发工作的困难有的可以预计,有的难以预料。
微软公司在感恩节的周末才收到IBM送来的一台样机。鲍勃·奥里尔负责对原QDOS加工,将它转变成IBM个人计算机要求的专业软件。但最初IBM计算机的规格只有一个雏形,并没有规定全部细节,为了在IBM要求的期限内完成这个软件的开发,鲍勃只好冒险一试。收到样机以后,他就同迈克·科特尼开始在那间闷热难熬的小屋子里紧张工作。他们使用了两种计算机,这些机器持续不断发出的热量不仅使屋子里的温度又上升了好几度,叫人受不了,而且更严重的是引起了计算机本身工作的不稳定。情况往往这样,出错之后,他们花好几个小时在软件上去寻找原因,结果才知道原因是在计算机上。1981年1月5日,鲍勃·奥里尔终于决定给IBM的卢·弗拉申斯基写信,说明这个问题。他写道:“……几个星期以来,微软公司的人勤奋工作,在你们送来的个人计算机样机上安装86-DOS。刚开始时,硬件运行是正常的,令人满意。但是不久之后就不稳定了。IBM公司的工程师认为问题出在样机上。可能是由于计算机工作时产生热量,使一些地方发生了接触不良的现象……为了在计算机上安装合适的操作系统,我们有时不得不花好多天时间来查明问题是出在硬件上还是软件上。我们就这样浪费了许多时日。虽然如此,我们还是有可能在1月12日前完成预定的DOS和BASIC-86的开发。不过,我们再也不能浪费时间了……”
后来,微软公司的程序编制员尼尔·孔森也参加了鲍勃他们的工作,小小的房间里又增加了一台计算机,气温有时几乎达到40℃,计算机的工作可靠性进一步下降,他们只好违背保密禁令,终日房门大开。但他们仍然害怕IBM公司的视察员前来检查,就建立了一个“警报系统”,IBM的人一来,只要有雇员发现,就立刻向他们报警。不过,这个系统也有失灵的时候。有一次,IBM的一个视察人员悄悄来到公司,没有被人发现。他直接闯入鲍勃他们的工作室,见大门敞开,一些计算机零件甚至放在室外,就马上要求公司对此作出解释。微软公司受到很大的压力,从此以后,保密规定执行得更加严厉,IBM也加强了检查系统。微软公司雇员们的日子更加难过,他们几乎没有任何喘气的机会。
到了1981年2月,微软公司的MS-DOS终于能在样机上正常运行,但鲍勃发现计算机运行的速度比预期的要慢,“并不比苹果二号机快”。他又给IBM的帕特·哈灵顿写信说:“我们不能肯定,这台样机的速度是否是最快的最后版本。我们担忧的是《个人电脑》杂志对样机的首次评价,可能就会根据目前这一台样机做出。如果我们没有超过8位处理器的速度,我们的产品给人的第一印象就不会是好的。”鲍勃不久之后就得到了IBM公司的回信。信中称:“……你信中提出的问题现在已经得到解决。……你对计算机样机运行情况的担忧,得到了我们的一致赞赏。IBM的工程技术人员已经告诉我,最后推出的产品将对所有的缺点进行改进……”
还有一个硬件问题也使开发工作不能如期完成。IBM样机的基本输入和输出系统(BIOS)不能把数据输入64K以上的位置,否则就死机。直到4月,鲍勃才发现这个问题,IBM马上派工程师去西雅图解决,但这样已经使微软公司损失了整整两个月的时间。另外,IBM应当提供的游戏杆控制卡直到2月才送到,BASIC的开发进度也受到影响。3月初,IBM的代表同微软公司会谈,讨论如何提前软件的交货日期。他们提出了一个新的日程表,微软公司同意了这个日程安排,但强调如果IBM公司提供的硬件不可靠,他们也难以按日程安排交货。
微软公司其他人员的任务便是对PASCAL、COBOL、FORTRAN等语言进行转换。整个来说,这是一项浩繁无比的工作,而要求完成的时间又实在有限。在签订合同之前,比尔·盖茨他们就怀疑能否在规定的期限里完成这项工作,但三思之后,仍然决定冒险一试。他和公司的全体人员自始至终承受着IBM公司的强大压力。比尔·盖茨一伙多年以来已经不只一次抢时间加班加点地工作,而这一次他们面临的是一项具有历史性转折意义的挑战,不能不慎重对待。这伙人似乎在世界上消失了,不仅冬天去滑雪的传统爱好自然取消,就连去佛罗里达州肯尼迪角参观史无前例的航天飞机发射这样诱人的事情,也差点成为泡影。最后,比尔·盖茨经不住一些人的好说歹说,只好答应,如果他们能提前完成一部分工作,就可以去肯尼迪角。人们加班加点夜以继日地干了5天,终于获准去看航天飞机发射。比尔·盖茨和保罗也在公司同事的力劝下一道前往。
在同IBM公司的合作中,微软公司学到了很多东西。IBM的工作方法也对微软公司采用的标准产生了重大影响。微软公司的软件要经受IBM用非常先进的方法进行严格测试,比尔·盖茨甚至认为这种测试近于残酷。为了考验软件的质量,他们把软件送给许多特定的用户使用,以便能找出隐藏得很深的错误。这往往需要好几年的时间。微软公司注意到了这个要求,便逐渐改善了公司产品质量检测、计划编制及安全措施等系统的一系列做法。
结果,微软公司的任务如期完成。IBM公司的象棋计划也获得成功。1981年7月,微软公司得到正式通知,IBM公司不久将发布新一代个人计算机诞生的消息。公司全体人员欣喜若狂,人们拥抱、握手,马上到西雅图一家豪华酒店去庆祝这一盛事。
但他们的操作系统还需要改进,他们还没有取得最后的胜利。
根据比尔·盖茨的建议,IBM设计组设计制造的第一台个人计算机使用16位微处理芯片8088,这是一个非同小可的跃进,使个人计算机从玩具水平提高到了作为商业工具的应用水平。IBM公司还采用了比尔·盖茨提出的另一种明智构思——采用开放式设计,让其他公司可以仿制,从而建立起一个新的个人计算机标准。他曾说,假如人们知道一个操作系统的技术细节,就很容易为这个系统设计软件。这样做的结果使为它开发软件变得十分方便,不久就出现了数千种这样的软件。比尔·盖茨为什么一反过去谴责盗版的态度,而主张公开软件的秘密呢?因为他看到要阻止盗版何其困难:与其让自己的软件被别人无偿复制,最终成为一种事实标准,不如变被动为主动,先行公开自己的软件。这样,一般就再不会有人去设计另外的操作系统了。
微软公司开发的这个MS-DOS磁盘操作系统,IBM公司把它叫做PC-DOS,PC就是个人计算机(Personal Computer)的英语缩写。MS-DOS其实只是当时可供IBM公司选择的三个操作系统之一。微软公司当然希望IBM能选用MS-DOS,为此,它不仅使MS-DOS在质量上比其他同类产品略胜一筹,而且帮助别的公司编写以MS-DOS为基础的软件,还做到让MS-DOS在价格上有最大的竞争力。微软公司以低廉的一次性费用,让IBM公司使用这个操作系统,结果IBM公司仅以60美元出售这个系统,而以450美元和175美元出售其他两个系统。MS-DOS自然销路大畅,购买者众;微软公司的策略大获成功。比尔·盖茨说:“我们的目的不是要直接从IBM那里赚钱,而是要从出售MS-DOS的特许权赚钱,有的计算机公司想要提供或多或少与IBM个人计算机兼容的机器,我们就把MS-DOS的特许权出售给这些公司。IBM可以免费使用我们的软件,但是它对未来的升级版软件并不能享有独占使用权和控制权。”
这样,IBM公司便自然放弃了使用其他两个操作系统的升级版本。
比尔·盖茨对MS-DOS采用开放政策,并不担心被人无偿盗用,是有他更高明的考虑的,这一点前面已经谈到了。在整个开发过程中,他最担心的并不是这样做有可能给他带来损失,而是另外一件无法预料的事情。
微软公司虽然同IBM公司签订了开发供新一代个人计算机使用软件的协议,却并没有保证这些软件最终必定会得到使用,因为IBM公司总是同时开发许多项目,其中只有少数项目能够最后完成。个人计算机仅是IBM公司秘密研制的众多项目之一,也时有来自公司的消息说要取消这个项目。如果这样,微软公司就只能按合同的规定得到一笔为数不多的研究开发费,实际上就等于公司白白投入了大量的人力物力和时间。更令人不解而且愤怒的是,有一期《信息世界》报竟然发表文章,详细报道IBM公司研制个人计算机的情况,其中也透露了将使用一种新的操作系统。比尔·盖茨无法理解IBM公司对保密要求如此严格,杂志上为什么却能够对一切细节了如指掌。他越来越感到事情很不正常,甚至觉得IBM会不会怪罪于他,说是他泄露了机密。他打电话去报纸编辑部质问消息来源,得到的答复却是无可奉告。
比尔·盖茨担心的第二件事情,是购买西雅图计算机公司的SCP-DOS软件问题。这是一次版权的不完全转让,因为按保罗·艾伦和帕特森签订的合同规定,西雅图计算机公司仍然保留着将这个软件转让给其他公司的权利。这是一个隐患。于是,比尔·盖茨让保罗·艾伦给西雅图计算机公司的老板布洛克写信。保罗·艾伦是这家公司的老熟人,说微软公司希望得到86-DOS的完全转让权,好全面对付数字研究公司。布洛克并没有想到这件事情有什么不好,就答应签署协议。但是,当他看到微软公司的律师草拟的文本之后,才知道是要求出售这个软件的专利权。当然,微软公司也允许西雅图计算机公司继续使用这个软件,而且今后还可以免费使用它的升级版本。但比尔·盖茨在文本上做了一个小小的改动,把原来要求惟一使用权改成了所有权;在布洛克看来,条件并无不利于他的地方,而且还对他非常有利,因为他实际上等于净得一笔收入。他对他们那个86-DOS的前途本身就没有多大信心,再说他也并没有失去这个软件的使用权。他们当时并不知道微软公司为什么要这样做,当然更不知道微软公司是在同强大的IBM公司一起干一件惊天动地的大事。协议签署之后,比尔·盖茨得意十分,法律方面隐患的解除,他终于可以放心了。