第18章 《青蛙过河》

1982年过去了,肯·威廉姆斯的公司开业已有两年时间,此刻,他渐渐对约翰·哈里斯及其他年轻黑客失去了耐心。他没时间也不愿意再花费几个小时来帮这些黑客解决技术问题。他开始觉得程序员的这些问题(例如,怎样才能把这个放在屏幕上,而又没有闪烁呢?如何进行对象水平滚动?怎么才能消除这个bug·)分散了他的注意力,使他不能全神贯注地投入到一件日益成为他的主要活动的事情上,那就是研究on-linesystems公司的经营,公司正处于高速增长时期。在此之前,当有程序员大喊肯·威廉姆斯,并大声抱怨说被某些子例程难住时,肯·威廉姆斯总会大声地答应着并跑过去,帮他调试程序,尽量地让他的黑客高兴起来。这种日子就要结束了。

肯·威廉姆斯不认为态度的转变会使公司不够理想化。他始终相信on-linesystem公司正通过计算机改变着公司工作人员及公司客户的生活。这是计算机盛世的开端。但是肯·威廉姆斯不确定黑客能否成为这一黄金时代的主角。特别是像约翰·哈里斯这样的黑客。

肯·威廉姆斯与约翰·哈里斯的分道扬镳反映出整个家用电脑软件行业的一些问题。起初,黑客的颇具艺术色彩的目标能够与市场较好地吻合,因为市场没有预期,并且黑客能够愉快地创建他们喜欢的游戏,并能用有趣的特性来装点商业程序来展示其技艺。

但是,随着越来越多非技术人员购买了电脑,黑客的神秘感也渐渐消失(正是黑客的这些神秘感给人们留下了深刻印象)。尽管程序本身仍然必须保持一定的质量标准,但是一些严格的标准很可能起到适得其反的作用,例如黑客在添加一个或多个功能时所应用的那些标准,以及只有在程序速度比周围程序都快时才能交付的标准。看上去更重要的事情变成了营销。有很多优秀的程序就在那里,但根本没人知道它们的存在。有时黑客会编写程序并将其放到公开场所,就像以前约翰·哈里斯在弗雷斯诺电脑商店中将其《消球》早期拷贝借给别人一样,随便地把这些程序散发出去。但是,很少有人指名道姓地去寻找某个公共程序,他们只是使用那些在广告中介绍的、在杂志中讨论的软件,以及在电脑商店中陈列的那些软件。采用特别优秀的算法显得并不那么重要。用户可能会凑合选用更加常见的产品。

当然,黑客道德要求每个程度都应该尽一切可能做好(或者更优秀),实现无限的灵活性,追求概念与执行上的完美,以及拓展用户的能力。销售电脑程序就像卖牙膏一样,这虽然听起来匪夷所思,但是,软件销售正是朝着这种态势向前发展。1982年,一些高水平的风险资本家举办了软件展销会,其中一位成功的企业家这样说“我可以用三个词来形容现在的形式,那就是:营销,营销,营销。”尽管黑客道德仍然存在,但卖电脑就像卖烤箱一样,卖程序就像卖牙膏一样。

肯·威廉姆斯非常希望找到畅销游戏,为公司树立一个品牌。于是,当时已经名声显赫的程序员约翰·哈里斯向他提议,他想把一个名叫《青蛙过河》的投币游戏移植到atari家用电脑上,肯·威廉姆斯非常赞同这个想法。《青蛙过河》是一款非常吸引人的游戏,在游戏中,玩家控制一只可爱的青蛙,在一条交通拥挤的公路上,使它跳到木头上或海龟的背上,穿过车流。这款游戏当时非常受欢迎,如果精心设计,就有可能成为一款非常畅销的电脑游戏。肯·威廉姆斯后来回忆说:“约翰·哈里斯发现了这款游戏,并认为它非常简洁流畅,他跟我说,他可以在一周以内开发完这款游戏。我同意了——这看起来是一件很平常的小事。”

肯·威廉姆斯没有让哈里斯复制这个程序,再对它进行重命名,他想把游戏的版权买下来。他给游戏版权的拥有者gulf&western集团的sega公司打电话,sega公司看起来并不了解他们这个产品的价值,肯·威廉姆斯说他想获得游戏的电脑磁盘和磁带的版权,向他们支付10%的使用费。(sega将插卡游戏版权卖给parkerbrothers游戏公司,该公司也是视频电子游戏市场的垄断者。)他要求约翰·哈里斯立刻把游戏移植到atari电脑上。另外,他还要求另外一个程序员把游戏移植到苹果电脑上,但是由于苹果电脑的图形功能并不支持这款游戏,只有atari电脑才能展示肯·威廉姆斯的公司的优秀才能。

约翰·哈里斯猜测这将会是一个短频快的三周项目(他一开始说的一周时间根本不可能),最终在atari电脑上精彩呈现这款《青蛙过河》游戏。这一般是黑客开始项目时的错觉。在布局凌乱的橙色木制房子里,他选择了最小的一间卧室作为办公室——屋子里零散地放着散落的纸张,废弃的电脑硬件,还有薯条的包装——约翰用简单的命令将图片显示在屏幕上,在程序开发期间,他后来回忆说,“我的手整天放在键盘上。有一次,我从下午三点开始编程,我用了很长时间,把代码调试成功后,我看了看窗外,外边仍然是亮着的,我就想,‘我好像已经工作了几个小时了。’当然,其实我已经工作了一个晚上,到了第二天早上了。”

项目进展得很快,这个程序迅速成型。约翰在圣地亚哥的一个朋友已经编写了一些些例程,使用atari电脑中三种声音的声音合成器芯片,将《camptownraces》儿歌与《青蛙过河》中原来的音乐混合成不断循环的蒸汽笛风琴的声音。哈里斯的图形非常漂亮——跳跃的青蛙、公路上的小赛车和卡车,跳水的海龟和水中看起来愚笨的短尾鳄……所有可爱的形状都在形状表中进行了定义,加入汇编语言子例程,并熟练地集成到游戏情节中。哈里斯觉得,只有那些热爱游戏的人才能实现这款游戏。除非像约翰·哈里斯这样真正的黑客,痴迷于紧张的工作,追求艺术精确性才能完成这样完美的作品。

事实证明这并不是一个短频快的三周项目,但是,没有人真的想到这一点。软件一般都需要比预期周期花费更长的时间。工作了大概两个月以后,约翰便度过了最困难的时期。他决定放下手中的工作,返回圣地亚哥去参加软件展销会,这是一个帮助肌肉萎缩症患者的慈善会议。作为软件行业的领军人物,约翰决定展示自己的作品,包括即将完成的《青蛙过河》游戏。因此,他把未发行的《青蛙过河》软件打包到软件包中,将这个软件包带来了南加州。

带着这么贵重的东西,需要提高警惕。除了《青蛙过河》的唯一版本外,还包括约翰·哈里斯以前开发的最重要的程序(当然,约翰还带了一张备份盘,如果主磁盘不能启动,他就使用这张备份盘。)约翰的文件库里几乎包含所有的磁盘,这些磁盘都保存着软件程序——自己修改的汇编程序,修改文件的例程,音乐生成器,动画例程和形状表等,这是他年轻时代的全部工具,和他抽屉里在mit开发的运行在pdp-1上的纸质磁带程序,对他同样重要。他不能忘了这些极其贵重的程序,必须每时每刻都要带在身边。即使有一刻没有照看好(例如,在与羡慕者聚精会神地聊天时),价值连城的文件包就有丢失的可能,就想墨菲定律讲的那样(“如果事情有出错的可能,那么就一会有出错的时候”)。

约翰·哈里斯参加软件展销会时的场景就是这样的。

约翰·哈里斯兴致勃勃地交谈后,才发现自己的软件包不见了,他觉得自己的精神受到了严重的打击。对于约翰,没有什么比他包里的软盘更重要了,他陷入深深的沮丧。这不像电脑启动磁盘那么简单,他必须投入大量时间和精力恢复屏幕上丢失的内容。这个成熟的杰作就这样夭折了。

更糟糕的是,他用来编程的工具也失踪了。这是一个不可想象的灾难。

特约翰·哈里斯变得非常郁闷。

他返回奥克赫斯特后,懊恼地启动atari电脑,重写《青蛙过河》,完成这个艰巨的任务。在接下来两个月的时间,他编写了不到十行的源代码。他几乎很少坐在电脑面前,他几乎每天都待在奥克赫斯特的小型游乐场里,从on-line公司所在的二层办公楼出发,穿过一条街就到了一个小型商业中心,这里就是游乐场。进入游乐场后,就看到一个洞,没有任何装饰,只有黑色的墙面,还有一些视频游戏机,甚至连最新的模型都没有。但是,这里却是约翰的家,他在这里做兼职出纳员,他靠赚取游戏币消磨时间,当他不值班的时候,他就玩游戏,比如《starpath》、《robotron》、《berzerk》、《tempest》等。这可以让他快乐一些。其他时候,他就会开着自己的四轮卡车在公路上驰骋,寻找最高的山,开着车向山顶攀爬。那个时候,他做了很多事,但是就是没有编程。

他后来回忆说:“我几乎每时每刻都在游乐场玩耍,等待着女孩经过我身边,我回到家后在自己的电脑上玩游戏,然后把程序盘放进电脑,假装要玩游戏一样,但是,这些根本不起作用,我无法激励自己编写两行源代码。”

肯·威廉姆斯对于约翰·哈里斯的丢三落四感到无动于衷。肯·威廉姆斯很难同情这个需要他每月支付几千美元薪水的20岁的年轻人。他把约翰当成朋友,但是,他对于朋友和生意他有自己的一套理论。肯·威廉姆斯说,“每个人都有自己的选择,好朋友也有1万美元的界线,只要超过1万美元,友情就变得无关紧要。”《青蛙过河》为公司带来的收入可能是1万美元的很多倍。

在约翰再次向肯·威廉姆斯证明在软件展销会上粗心大意的白痴行为之前,肯·威廉姆斯已经对这个一流的程序员失去了耐心。肯·威廉姆斯命令约翰必须在一个月之内完成《青蛙过河》。肯·威廉姆斯后来回忆说,“约翰·哈里斯是一个完美主义者,是一个真正的黑客,他会花费两个月的时间持续在一个项目上工作,要是别人早就不干了。他追求自我满足,他对程序的要求远远大于对市场占有率的要求。”更糟糕的是,现在约翰因为受到了挫折,已经不再工作了,这让肯·威廉姆斯十分恼火。肯·威廉姆斯后来回忆说:“他说他的心思已经不在工作上了,我每次找到他的时候,他都在游乐场赚取游戏币。”

在约翰的朋友面前,肯·威廉姆斯说“《青蛙过河》已经快完成了。”肯·威廉姆斯这些过激的言论使约翰非常紧张,只有远离肯·威廉姆斯,约翰·哈里斯才意识到自己不是肯·威廉姆斯的员工,而是一个自由程序员。他无法向肯·威廉姆斯保证交付时间,他可以完全按照自己的意志行事。这才是他的心里话,但是,约翰·哈里斯没有说出口。

这对于约翰是一种折磨,但是,最后约翰还是坐在atari电脑前,开始重写程序。他重新创建了以前的程序,并进行了一些润色。整个游戏包含44种颜色,重新定义了玩家的导弹图形例程,并利用一些技巧使8位的atari6502芯片能够仿真10位的程序。约翰在圣地亚哥的朋友提高了三种声音并发声道的性能。总之,约翰·哈里斯的游戏看起来比投币游戏更好玩,因为投币游戏机使用自定义的芯片,用来支持高速和实色的图形。一般情况下,性能较差(或者一些万能的)的家用电脑不能与之媲美。这是一个惊人的壮举,即使像杰夫·史蒂芬森这样的经验丰富的程序员都被这款游戏吸引了。

困难的时期过去了,但是,肯·威廉姆斯和约翰之间的关系也发生了变化。on-line公司变为一个官僚机构的企业,不再是一个黑客的夏令营。而发布约翰以前的游戏的过程要在网站上进行随机测试(“大家请注意,我们今天发布游戏了,如果有人愿意试玩,就请开始吧”),现在,肯·威廉姆斯有一个独立的游戏测试部门,在发布游戏之前,他们先要进行测试。约翰觉得,在游戏交付给用户之前,大概有50多个部门要审查程序。另外,程序的打包、销售和复制保护也陷入停滞状态。没有人十分清楚其中的原因,但是,他用了两个多月的时间——两个月后,约翰把完整的《青蛙过河》提交给了公司——这款游戏终于可以发布了。

游戏投入市场以后,每个人都觉得《青蛙过河》成功地实现从游戏机到家用电脑的转换。约翰第一个月获得了3.5万美元的版税收入,这个程序在softseldistributors的“热门程序列表”中名列第一(该列表每周更新,在广告板的记录表中显示),并保持了很长时间。

但是,肯·威廉姆斯不会忘记约翰·哈里斯在萧条时期给他带来的麻烦,那个时候,他根本不会想到约翰会完成这款《青蛙过河》游戏。1982年夏天,肯·威廉姆斯开始计划如何脱离约翰·哈里斯这样的人。对于肯·威廉姆斯,黑客时代已经结束了,而且用了很长一段时间。

就像他以前崇拜的偶像,《江湖男女》中的乔治·柯德一样,肯·威廉姆斯很喜欢做交易。他会给一个有潜力的程序员打电话,他大言不惭,甚至有点嘲讽地说:“为什么不让我给你提供致富的机会呢?”他还喜欢和大公司的总裁做交易。1982年,是电脑革命时期繁荣发展的一年,肯·威廉姆斯向很多人游说,家用电脑软件越来越普及,黑客和黑客道德在商品交易中会起到什么样的作用。

那年夏天,威廉姆斯说:“on-line公司非常疯狂,我遵循的理念是我不会伪装成ibm,也不会成为ibm。”

他梦想可以在美国的大众市场上占据举足轻重的位置。1982年夏天,和苹果电脑的软件一样,atarivcs游戏机,这个运行畅销游戏的专用游戏机不再只有几千美元的利润,而是有价值几百万美元的利润。

atari公司把vcs游戏机的工作原理保护得很好,比可口可乐的配方还要保密。vcs的示意图就像软饮料的配方一样——芯片上哪些内存单元会触发屏幕上的颜色,哪些热区会触发声音——这是atari公司的机密。但是,这是计算机行业,从mit封锁黑客行为的时代开始,破解代码是黑客的一种爱好。另外,自满的atari公司靠销售电脑获得了巨额的软件收益,受高额收益的吸引,人们都试图破解这个机器的秘密。人们一定能够破解vcs机的示意图(就像atari800的机密一样),只不过是时间的问题。

实际上,第一家和atari公司竞争vcs的公司是由atari公司以前的程序员创立的,他以前被atari公司的总裁叫做“毛巾设计师”。在20世纪80年代早期,atari公司的所有vcs程序高手都跳槽了。这是一笔不小的损失,因为vcs机器的内存非常有限,所以在这种机器上编写程序需要技巧,就像写作文时,需要创作俳句诗一样。当然,离开atari公司的程序员了解如何解决这种限制,扩展机器的性能,他们为自己公司编写的游戏使atari电脑看起来非常愚蠢。但是,游戏增强的性能延长了vcs机的市场寿命。这是黑客坚持自我的完美例证,技术手册和其他“秘密”资料可以自由传播,创作者可以获得更多乐趣,挑战性越来越大,产业效益越来越好,用户也会获得更好的产品。

与此同时,其他公司也在对vcs机实行“逆向工程”,用示波器和神秘的高科技设备仔细分析这个设备,最终解开vcs机的秘密。其中一家公司名为"tigertoys",这是一家位于芝加哥的公司,他们和肯·威廉姆斯签约交换编程人才。

威廉姆斯把三名黑客派往芝加哥,在tigertoys公司,他们了解到在vcs机编程非常困难。你的代码量不能太大,必须统计机器的周期,从而分割程序运行的时间。约翰·哈里斯尤其憎恨这一点,一天晚上,他和罗伯塔·威廉姆斯坐在一起,他们发现在vcs上运行的新的《消球》的界面和《吃豆人》不太一样。约翰·哈里斯曾经在atari800电脑上运行过这个游戏,运行速度非常快,但是,在vcs机上却不能运行这个游戏,他对此非常气愤。

他觉得vcs非常可笑。但是,约翰真的想开发一个程序,可以推翻atari的vcs版本的《吃豆人》,在他看来,新的《消球》游戏就可以达到这个目标。atari的vcs版本的《吃豆人》总是闪烁,这是一个非常大的失败,而约翰的vcs版本的游戏没有闪烁现象,色彩非常丰富,图片切换速度很快。

肯·威廉姆斯并不满足于占领vcs的市场,由于电脑游戏和电影一样非常成功,因此他想在电影行业寻找发展机会。世界上最著名的“大眼蛙”(muppets)创作者吉姆·汉森在圣诞期间推出投资2000万美元的电影《魔水晶》,引起了很大的轰动。肯·威廉姆斯和汉森开始合作。

但是,肯·威廉姆斯觉得把电脑游戏和还未上映的电影绑定起来比较冒险——如果电影失败了怎么办?——但是,罗伯塔·威廉姆斯非常赞成这个想法,她想根据《魔水晶》电影中的人物开发一款冒险游戏。她觉得电脑游戏在娱乐行业占有一席之地,就像电影和电视一样,而且,她觉得和实力相当的竞争对手进行合作也是理所当然的。其他的电子游戏公司和电脑公司也在开发和电影相关的项目,例如atari公司的《》、foxvideogame公司的《》,以及parkerbrothers公司的《empirestrikesback》。一家名为datasoft的电脑游戏公司甚至根据电视节目《dallas》开发冒险游戏。在游戏发展初期,这是非常关键的一步,所有的程序员都要发挥创新性。现在,他可以和一个有市场潜力的公司合作。

如果《魔水晶》还不算是一个大买卖,那么下一个交易一定是强强联手,接下来,肯·威廉姆斯要与当时最大的公司合作。

那就是ibm。

ibm当时是一个创办不到两年时间的公司,位于加州的科斯戈尔德。穿着白衬衫、带着黑领带的ibm员工来到肯·威廉姆斯的新公司总部,公司总部的大楼有很多办公室,奥克赫斯特的员工和加州的员工在封闭的小办公室里工作,他们自己支付电费,一楼是一家小家具店,市场营销部和广告部的旁边是一家美容院。

on-line公司的员工,一些黑客和奥克赫斯特本地人穿着夏令营的衬衣和t恤衫,ibm的行动带着点奇怪的神秘色彩。整个会场的气氛显得郑重而神秘。在ibm没有透露甚至暗示自己的意图之前,员工的脸上面无表情,每个人可能都可以猜到他们的目的——这是为了保护少数人的利益——签署冗长而具有约束力的保密协议,经过严格的拷问,任何人都不能泄露三个公司的名字或公司的计划。

《computerlib》的作者泰德·尼尔森等人预言个人电脑的革命会使ibm“处于混乱状态”,这是是对大型公司的一种低估。大型计算机企业比人们想象的要优秀得多。1981年,公司就生产了自己的个人电脑,称为ibm"pc",由于这个庞然大物进军市场,使得一些小型电脑公司决定倒戈,并拥护ibm公司,当ibm的pc机投入市场后,他们迅速采取支持行动。即使那些对ibm和它的批处理方法不满的企业,都开始转变态度,因为ibm代表他们以前支持的黑客道德:公司对外开放自己的机器,鼓励其他人编写软件。甚至,他们让别的公司帮助他们设计产品,例如比尔·盖茨(他当初曾针家酿计算机俱乐部中altairbasic的复制者写了一封抗议软件盗版的公开信)创办的microsoft公司。盖茨为ibm开发了操作系统,该操作系统迅速成为一个新的行业标准。好像ibm对黑客道德十分了解,既然是这样,这是优秀的商业意识。

但是,ibm并不想过多履行黑客道德。他们在经营过程中仍然保留机密。因此,ibm希望签订所有的保密条款,防止ibm公司的员工向肯·威廉姆斯泄露他们开发的产品。ibm正在计划生产一种新的家用电脑,比pc机更便宜,性能更高,玩游戏更方便。这个计划的代号为peanut,但是后来命名为pcjr。ibm问on-line公司想不想开发一种比以前的产品的更高级的新的冒险游戏解释程序?还有,能不能为pcjr编写一个简单易用的文字处理程序?肯·威廉姆斯觉得没问题,他们能完成这项任务。罗伯塔开始构思另外一款冒险游戏的情节,肯·威廉姆斯雇用最优秀的保密团队,开始编写项目代码。

on-line公司投入大量资金参与了一些大型的商业投资。但是,肯·威廉姆斯非常重视意义重大的交易——风险投资。肯·威廉姆斯后来回忆说:“我以前没有听说过风险投资,他们都劝我投资。”on-line公司迅速投入一笔资金,该公司收到名为taassociates(简称ta)的波士顿公司120万美元(加上肯·威廉姆斯和罗伯塔个人的20万美元),维持了公司的资金运转。ta公司拥有该公司24%的股份,拥有各种商业事务的咨询权。

ta公司的杰基·昌比是一位留着灰白色头发、很有活力的人,表情严肃,一丝不苟,好像她是公司的高层领导一样。杰基·昌比经验丰富,她知道对于一些优秀的企业家,当公司逐渐发展壮大以后,局面就难以控制。因此,她立即向肯·威廉姆斯提出建议,肯·威廉姆斯觉得这不仅仅是一个建议,而是正规化管理的方法。她意识到肯·威廉姆斯并不是一个mba人才——他不能使自己的公司就像传统的企业那样,使国家繁荣昌盛,或者像一些风险投资公司(如ta)那样富有。on-line公司上市后,就要遵循克里萨斯模式(croesusmode),整个企业必须出现指引公司发展方向的带头人。但是,肯·威廉姆斯的方向偏离了,他根据形势不停调整方向,进行大量交易,黑客夏令营蓬勃发展。现在必须要有新的领军人物引领企业发展。

肯·威廉姆斯对这个提议并不感兴趣,他早在1981年3月就在《softalk》杂志上发表公告,说他“受到on-line全体员工的鼓舞,他希望可以完成一些程序。”当然,针对公司目前混乱的现状,必须要采取一些相应措施。例如,销售更多软件,进行更多的交易,吸收更多的程序员,摒弃更多的纸质文件,即便这些文件以数据的形式存储在苹果电脑中。

但是,肯·威廉姆斯对on-line的管理出了问题,就像是一个电脑系统一样,有的部门要调整营销计划,有的部门要纠正财务问题。计算机黑客的发展可以用两个特点来描述,一是创新的集中爆发,二是对细节的忽略,而他的业务风格也非常符合这两个特点,一方面,公司不断闪现出智慧的火花,另一方面,他们又无法把公司的思想贯彻到底,公司就在这种局面中徘徊不前。他是第一批意识到低成本的字处理程序包的价值的人,这些程序包可以在苹果电脑上运行(mit的tmrc的黑客在tx-0上编写"expensivetypewriter"的时候,这种思想达到顶峰),并且耐心地反复修改程序——这个程序最后被称为"screenwriter2",销售获利100多万美元。但是,他那些友好的竞争对手嘲笑他为程序员支付的高额版税等于他在超市的花销。他想开发一个名为"thedictionary"的程序,用来纠正苹果电脑用户的拼写错误,但是,当在杂志上为产品刊登广告后,才发现广告中包含10个拼写错误,甚至单词"misspell"都写错了。