商业Unix
关于厂商如何(失败地)拥抱Unix有大量的东西可以写。Doug McIlroy对我评论说:
IBM和BTL很早就在做TSS/Unix的融合工作,但是当Amdahl进入董事会时这项工作变得毫无影响。DEC试着无视Unix,但是Armando Stettner做出了让步,开始做Unix。HP和DEC,IBM一样有自己的操作系统,也像日本的DEC一样开始满怀热情的使用了Unix。Sun公司是Unix和硬件发展的地方,是它发展了BSD。
考虑需要更多的乐趣,这些公司对于操作系统开发的贡献是如此之小(除Sun以外),我不会给他们留太多的篇幅。
第一个在商业上支持Unix的公司是1977年的Interactive System。第二年Heinz Lycklama和Interactive System的创始人Peter Weiner在圣塔莫尼卡合作。Lycklama刚刚写了LSX,这是一个针对LSI-11微处理器的Unix版本(LSI-11本质上是一台使用了PDP-11处理器,用于卡内基梅隆实验性的的松散耦合多处理器)。Interactive的产品叫做IS/1,可以在大多数的PDP-11上运行。直到几年之前,当它成为一个芯片公司,Interactive仍然是最著名的移植公司之一。有趣的是,之前Weiner还在RAND公司的时候,他是第一个获得商业Unix授权的人。
第一个商业Unix“克隆”是克隆自Whitesmiths的Idris。Whitesmiths是之前贝尔研究员P.J. Plauger的作品。Plauger说Idris是一个艺术方面的巴比伦人上帝。Whitesmiths是一个软件公司,相比之下Idris可以称为“blacksmith”。Plauger毕业于普林斯顿大学(比Stu Feldman早了一年),然后1969年又去密歇根州继续攻读了物理学博士学位。他告诉我:
在那时研究并不是很有趣。所以当他们给我选择事,我选了霍姆德尔的一个小组,它的工作内容是将电话系统数字化。这是一场不朽的战斗,因为每一个结局方案都意味着通过电话线发送比现在更多的信息,这是远超过电话公司乐意支付的...我在贝尔公司的各个实验室做了几年的销售,其中他们将我借给莫里山。因为空间太狭小,我去了Brian Kernighan隔壁的办公室。在那个大厅里的人有Doug McIlroy和Dennis Ritchie以及Al Aho。Brian和我都非常喜爱喝咖啡,我们每天都会聊上几次。
我们都很同情那时可怕的编程风格。我们坐下来用了大概三个月的时间写了后来的《编程风格要素》。做完了这些,我们得到了贝尔实验室的一些支持。这激发我们又去写了《软件工具》。但是在参于那个项目几个月后,我最终离开了贝尔实验室。在那里让我感到没有未来,并且我最好在他们让我离开之前就主动离开。我去Yourdon公司找了一份工作...
《软件工具》是我这一生中做过的最难的事情,比我的博士毕业论文还要难,更加让我不满意。所以我很高兴它最后终于出版了...Brian和我接下来很想Gilbert和Sullivan:我们一起做的事情比我们单独做的要好...
经过几年到全世界旅行演讲的生活后,我感到我想回到编程生活。Ed Yourdon有一个机会得到了一份商业C语言编译器的合同,我说服他让我来做这个。我昼夜不停的工作了一周的时间,它不是世界上最好的编译器,但它是绝对够用的。过去这段时间,我学到了市场在那里,因为人们会跑过来对我说“我们不想要整个的Unix,我们只想要C语言”。
Ed明白讨论班上的商业,但是不懂软件商业。我决定退出这里开办我自己的公司...当我准备离开的时候,我的妻子建议我到处走走,去参加一些我不敢兴趣的讨论班。因此我在特拉华州建立了一个公司——除我之外还有两个合伙人,我做了多数工作。作为一个三人公司,我们在78年8月1日开工。我们坐下来重头写了一个C语言编译器——我的第3个C语言编译器。我花费了很大力气不去回顾我在贝尔实验室和Yourdon公司的经历。
我主意到对我来说最有趣的事情就是Whitesmiths的C语言编译器是如此的不协调,Plauger笑着说。
不不,事后看起来它更要糟糕一些。实际上,我们这几天对于C语言库没有明确的概念,对于在PDP-11意外的C语言没有明确的概念。我诚实的将我最好的技法用在它上面。如果我犯了一些错误,一定是当一些C语言的方言出现时,我应该离开那些人群,使用我自己的C语言库...
无论如何,我像上瘾一样的写着,到了11月末尾的时候我们有了一个编译器。我们发布了一个简短的公司成立声明——宣告我们将会做一个自定义的C语言编译器。很走运地我们在建立公司一周后接到了来自费城一个公司的电话,他们说“我们看到你们正在做C编译器,我们正想买一个,你们能到费城来一趟吗”。我说“不,我太忙了。你要是想谈谈,可以到这里来”。然后他们真的来了!他们派了3个人来纽约,我们坐在西49街狭小的房间内...我告诉他们我们的计划,然后他们说“我们想要你做出来的东西,我们想要你说的接下来三年所有要做的的东西”。因此我说“好啊,你可以按月支付给我们报酬,那会让生活轻松很多”。然后他们照做了!在公司开张3,4个月后,我们就有了来自Fisher and Porter公司的一个大单...那年末尾我们给了他们一个PDP-11编译器,79年中期我们给了他们一个8080编译器,那年末尾又给了一个VAX编译器。在1980年中期我们给了一个68000编译器。
同时我们也在做Idris。我们写了相当多的代码。Whitesmiths像野草一样成长起来。我们以我节省下来的2.5万美金起步,6个月后我们有了明确的现金流。那时一段让人陶醉的时间,充满了乐趣。在81年末之前一切事情都很美好。
1982年Whitesmiths经历了一番努力挣扎最后失去了PC上C语言编译器的市场。Plauger坚持Whitesmiths移植到1988年,然后把它卖给了Intermetrics。他说:
我花了十年时间学习如何运营一家公司,当我擅长做这件事的时候,我却发现我不想去做了。我过去的四年我给了自己。
但是我真的想去售卖Unix,我花了一些时间和贝尔的律师讨论。后来我意识到因为和解协议,他们什么都不会去做。市场是一个肮脏的世界,以个危险的肮脏世界。我不得不决定是要继续战斗着去卖Unix还是咬牙停下来。这不是一个简单的决定。我的目标是填补低端市场,但是我不做市场或者让人们去买它...
非常巧合的是,当Greg Rose在1979年离开UNSW,他去的第一个公司得到了Whitesmiths的C编译器授权,当它破产时,Rose和他的一些朋友继续从事Whitesmiths相关的生意。
从某些方面说,Wollongong Group是澳大利亚的第一个Unix公司。它的兴起和衰败是一个非常奇怪的故事,很值得一读。当Rich Miller和他的开发组在伍伦贡大学将Unix移植到Interdata的时候,大学没有纸带驱动器。Rose告诉我:
他们非常想要一个纸带驱动器。所以Juris Reinfelds有了一个计划,他去了新泽西。我想他是去参加一个会议。他真的想他们有一些东西——Interdata上面的Unix,Perkin-Elmer的那个阶段,他试着将它卖掉。他真的去和一个公司的人去谈,这个家伙说“你想卖多少价格?”。Juris说他们想要一个纸带驱动器,甚至二手的也没关系。所以那个家伙将Juris交给一下下属,下属听完之后说了“不”。Juris在回澳大利亚的路上非常不开心。他在洛杉矶机场的一个酒吧将他的麻烦讲给了一些 博士。那个叫Dan的家伙说“一个二手的纸带驱动器大概价格是多少?”。Juris说差不多是1.4万美元。Dan说“我会买下你的版权”。然后他们做了一个交易,他写了一个支票并且建立了Wollongong Group。后来他买断了Rich Miller和Juris。Dan开始到处售卖软件版权并且向Perkin-Elmer收取10万美金的维护费。这就是公司成立的经过。
比起其他的故事并不让人更觉得奇怪。但人们奇怪是Interdata/Perkin-Elmer的什么人显示拒绝了Ritchie和Johnson然后是Reinfelds。Greg继续shuo:
大概正好是墨尔本大学得到Perkin-Elmer Unix的时候,然后Robert Elz就参与了进来。几年来每一次的AUUG会议上Elz都会发表一篇关于tty驱动器或者其他东西的论文。这其中有些东西是非常重要的,后来又被伯克利Unix吸收回去。我想Elz在79到80年之间应该是在伯克利。
在其他事情之外,Elz还写了BSD磁盘配额(允许管理员控制给每一个用户分配的磁盘空间)和自动配置文件(找出并配置连接到处理器上的外围设备)。Elz的论文在1984年6月盐湖城的USENIX会议上发表。
最后一个早期的Unix企业我想说一下加拿大的一个公司:人类计算资源公司(HCR)。HCR是由来自多伦多大学的人创建的,它的故事也是从那里开始。David Tilbrook是多伦多大学的学生,HCR的创始人,还是几个EUUG和USENIX会议的主席。他向我会议那时的学生组:
那是一个非常奇特的用户组,是Ron Baecker的动态图形项目的一部分,唯一做图形的人是Bill Reeves。Duff正在去和Steve Cook一起做可计算。我正在和John Lipson一起做代数。Lipson说为什么我不去用我所有的真实经历来让我的大学生活更加有趣,然后努力为博士生活而工作。所以我决定离开这里去做计算机图形。我参加了一个图形课程。所以我们组成了这个计算机用户组,所有的成员是:我,Bill Reeves,Tom Duff,Martin Tuori,Mike Tilson,Tom Horsley。Rob Pike大概在一年后加入进来。这是一个在很多方面都相当有名气的组。
当时是75年,CACM的文章已经出来了。我们在370上使用一个叫Zap的软件包做图形工作。Zap是一个用FORTRAN写的软件。你可以用一个库使用PL/I语言编程,然后将它们和FROTRAN子例程链接在一起,然后就可以在数控绘图机上画出图片。我们也使用GT-40来绘图。在毕业课程上我和Baecker一起做项目,我们做了一个动画短片,Tilbrook做了一个排序算法。
就在同时我还为多伦多公共图书馆的一个合同工作,这需要和UTLAS(多伦多大学自动图书馆系统)接触。因此我可以访问XGP打印机——它的序列号是3。这是我第一次接触可以同时使用不同字体同时使用大小写的打印机。我也看了打印书脊和数目以及卡片文件的问题...
因此我们是在一个动态图形项目,Tuori和我将要做一个排版工具包——那时什么东西都没有。没有质量产品。所以Martin和我通过在大学和中央图书馆的支持下拼凑了一个使用计算机排版的工作间。我们发出传单,然后收到了大约20个回应...这让我加入了Baecker做动画电影的组。我们三个人是国家研究理事会学者,所以Baecker有足够的资金,于是我们买了PDP-11/45。Reeves做了通用软件包,我继续搞动态图形的东西。就是在那时我提出了动态光标。虽然Reeves,Duff和我都是诵读困难者,有一个风格上的巨大变化。不管怎么说,我喜欢Xerox Sigma 7,并且我用它来写NEWSWHOLE。我每月登陆时间有300小时。
《The Globe && Mail》的David Slocum来到工作间和我们讨论分页和排版的困难。计算机分页看起来对于这个杂志是一个很好的话题,因此我去《The Globe && Mail》兼职工作,我写了NEWSWHOLE。我带着这些建立了HCR。
1975年12月,我去见Baecker对他说“我能带来《The Globe && Mail》的合同”。有一个大问题是“这是运行在Three Rivers Graphic Wonder上的Unix系统,我们该怎么发布它?”。(Three Rivers Graphic Wonder现在仍然在多伦多大学Henry Spencer的计算机实验室中)
HCR建立起来了,最初它是一个小规模的组。引用一下它最初的章程:
允许针对众多基于计算机的服务和产品进行广泛的研究和实验开发..计算机图形和交互计算,接口设计...一个例子是设计基于计算机的文本处理系统和页面布局系统...
组的成员有Tilbrook,Baecker,Les Mezei,还有Tom Horsley。Mike Tilson在大概两年后加入了他们。HCR也销售软件产品,包括XENIX,微软的第7版衍生产品。但是想要做他们想做的事情,他们需要一个商业Unix授权。Tilbrook告诉我:
Bill说他曾经给AT&T里扶着这方面事情的Al Arms打电话,Bill告诉他我们想要购买Unix,那时是1776年,在电话上什么都没有做成。Al Arms给出了2万美金的价格,因为他认为这是一个很高的价格,这样几句没人再因为这个打扰他了。
当然,就像RAND公司的Peter Weiner曾经支付的,Tilbrook夸大了数额。虽然如此,HCR成为一个应盈利公司。Tilbrook继续为其他事情努力,Tilson陈威HCR的主席。HCR最后被Santa Cruz公司收购。