当Gates和Allen想出出售软件这个点子时,他们受到了黑客和商人的双重批判。黑客们懂得软件只是信息,他们反对将信息作为买卖的东西,这种 反对一方面是道德方面的,黑客们大都来自科学和各种学术领域,在这些领域里,工作成果的免费共享是必要的美德。另一方面,他们也有可行性方面的考虑,这么 容易拷贝的东西,怎么能作为商品买卖呢?而商人作为一个一向和黑客意见不同的群体,他们又有自己的顾虑,习惯了电烤炉和保险单之类的商品,他们自然很难理 解为什么一长串的0和1能用来买卖。
显然微软战胜了这些异议,Apple也一样。但这些异议依然存在。所有黑客中最黑客的黑客,我们过去,现在,以及永远的Richard Stallman,他对出售软件这种恶行实在是深恶痛绝,于是在1984年(Macintosh上市的同一年),他跑出去创立了一个叫Free Software Foundation的组织,他们开始着手搞一个叫GNU的东东。GNU是Gnu’s Not Unix的缩写,但这其实是一个多重笑话,因为GNU当然就是Unix。由于注册商标的顾虑(Unix被AT&T注册了),他们不能直说那就是Unix,所以为了非常保险起见,他们声称那不是Unix,尽管Stallman先生和他的同仁们在GNU上面投入了无可比拟的智慧和感情,但他们构建一个免费的Unix系统和Microsoft及Apple竞争的努力,有点像是要用汤匙挖一条地铁出来,直到Linux的降临,这个我一会就会讲到。
不过从零开始创造一个操作系统出来是一个听上去很不错,而且完全可行的主意。这样的事情已经发生过很多次了。这可以说是操作系统的固有属性。
操作系统其实不是完全必要的东西。只要程序员有足够的能力和时间,他完全可以从基本的低级层面写起,从控制磁盘读写的磁头,点亮屏幕 的像素,一直到整个项目的完成。最早的第一台电脑不得不这样去做,但现在还这么做就没理由了。因为计算机基础层面上的操作都是一样的,这样会导致太多重复 的工作。
对于黑客们来说,没有比重复的工作更令人讨厌的事情了。人们学习如何编程的时候,需要养成的第一个而且是最重要的习惯就是归纳,归纳,归纳。让他们 的代码尽可能模块化,从而可以被灵活应用;将大问题分解为可以在不同场合重复使用的子程序。这样一来,操作系统的开发,虽说从技术上讲并没有必要,但事实 上是无法避免的事情。因为从根本上讲,操作系统其实只是一个包含很多公用代码的代码库,一次撰写完成(最好还写得不错),然后发布出来供每一个需要的程序 员使用。
所以说,一个专有的,封闭的,秘密的操作系统从概念上就是矛盾的。这和操作系统的意义完全背道而驰。而且要将其封闭起来也基本上是不可能的。源代码 ——程序员写的文本代码——可以被隐藏起来,但操作系统作为分管各个专门任务的子程序的集合,每个子程序的功能必须是详尽准确公开的,否则操作系统对于程 序员就没有任何用处了;如果他们不能完全了解这些子程序的功能,他们就无法利用这个操作系统编写应用程序。
唯一没被公开的就是这些子程序如何完成他们的任务。不过一旦你知道了它的功能,对于黑客来说,写一个具有完全相同功能的程序是很容易的一件事情。也许会花点时间,也许很无聊而且没有回报,但大部分情况下,这个任务并不难。
写程序和写小说一样,难的不是怎样写,而是决定究竟要写什么。而商业版操作系统的开发商已经决定了,而且发不了他们的决定。
这个道理很长时间以来大家都明白。MS-DOS另一个竞争者ProDOS功能方面的复制品,只是重新编写了代码而已。换句话说,是有另外一家公司, 他们也有能力编写MS-DOS这样的东西并将其出售。如果你在使用Linux操作系统,你可以安装一个叫WINE的免费软件,它是一个Windows模拟 器,你可以通过它运行Windows平台上的软件。这表示在Unix中重新创造了一个完全可用的Windows操作系统,就像瓶子里的一艘帆船一样。而 Unix本身作为一个比MS-DOS更为纯熟的操作系统,已经被从零开始创造过很多遍了。Sun,Hewlett- Packard,AT&T,Silicon Graphics,IBM,以及其他厂商都在出售各种不同版本的Unix。
换句话说,传统(GUI之前)的操作系统已经被重写过很多次了,所有这方面的技术是如此的普遍,已经可以说是完全免费的了。Bill和Allen现在不但没法再出售MS-DOS,而且即使送人也没人要,因为已经有更强大的免费操作系统在那里看。即使是最早版本的Windows,现在也变得一文不值了,拥有一个可以免费在Linux里边模拟出来的东西还有什么意义呢?
从这方面讲操作系统这一行业和汽车行业是非常不同的,即使一辆老破车也有一些价值。你可以开着它运垃圾,或者拆了里边的零件在别处用。这些产品的命运就是逐渐老化贬值,最后无法再跟先进的产品竞争。
但操作系统的命运是免费。
Microsoft是一家了不起的应用软件公司。应用软件——比如Microsoft Word——是一个创新可以给用户带来真实直接的好处的领域。这些创新也许是来自研发部门的新技术,也可能是一些花哨的小功能,但不管怎样它们很多时候都 是有用的,而且可以让用户高兴。而Microsoft正在成为一个了不起的研发公司,相比而言,Microsoft并不是一个那么了不起的操作系统公司。而这并不是因为Microsoft的操作系统从技术上讲就那么差,它们是有很多问题,但比起过去已经强很多了,而且对于大部分人来说这已经足够了。
那为什么我还说Microsoft不是一家多么了不起的操作系统公司呢?因为就操作系统的根本属性来说,被某一家公司开发和拥有是一件很没意义的事 情。从一开始就不讨好。应用软件为成千上万天真的用户带来创造的可能性,而操作系统为上万成千的程序员带来的却是诸多限制因素,所以操作系统制造商在技术 领域的人眼里,永远都只能被放到垃圾名单里边去。应用软件用户面临的最大问题是如何弄懂它们的功能。而操作系统则被不满足于功能限制的黑客破解。就现在来 说,操作系统对于Microsoft的唯一意义是他们可以用赚来的钱开发更多应用软件,并且招聘更多有才华的员工。现在已经是该像火箭助推器一般,将操作 系统这块抛弃的时候了。最大的问题是Microsoft有没有能力做这件事情。或者Microsoft已经像Apple出售硬件一样,对出售操作系统上瘾 了呢?
记住Apple的这段历史,他们对硬件的垄断,曾经一度被认为是跟Microsoft相比的一项优势,但最后这一政策几乎让Apple遭受灭顶之 灾,或者说他们已经遭受过灭顶之灾了。Apple的问题是,几乎世界上所有的计算机用户都选择了便宜的硬件。但这些便宜的硬件无法运行MacOS,所以他 们选择了Windows。
将“硬件”换成“操作系统”,再把“Apple”换成“Microsoft”,你就可以看到,同样的事情就要再次发生了。Microsoft统治者 操作系统市场,这让他们赚钱,而且现在看来是个了不起的主意。但我们还有更便宜,更好的操作系统,而且它们正在一些不像美国一样计算机饱和的地方渐渐受到 欢迎。十年以后,也许世界上大部分的计算机用户都会选择拥有这些便宜的操作系统,但这些操作系统现在还不能运行Microsoft的应用程序,所以这些人 会使用一些别的应用程序。
更直接地讲:每一次某个人决定使用一个非Microsoft的OS,Microsoft的OS分部显然就失去了一个用户,但是,就现在的状况而 言,Microsoft的应用程序分部也失去了一个用户。现在几乎所有人都在使用Microsoft的OS,所以这似乎没什么大不了,不过一旦 Microsoft的市场份额开始下降,Redmond那些人就会觉得比较凄凉了。
如果Microsoft重新编译他们的软件,让其能在其他OS上面运行的话,也许可以避免这种变数,但这种做法和寻常的企业本能是相反的。我们再来 看看Apple这个富有教育意义的例子。事情开始对Apple不利的时候,他们其实应该把操作系统移植到便宜一些的PC硬件上面去,但他们没有这么做。他 们反而去挖掘他们硬件的潜力,添加新功能,扩展生产线,但这使得他们的操作系统更加依赖于这些特殊的硬件特性,从而让事情变得更加不可收拾。
一样的,当Microsoft在OS世界的地位受到威胁的时候,他们的企业本能会告诉他们为现有的操作系统增加更多功能,并让他们的应用软件依赖这些特殊功能。但这样做之后让他们的软件更为依赖一个市场份额逐渐下降的操作系统,结果也会变得不可收拾。
操作系统市场是一个死亡陷阱,是一个焦油坑,是一个没有希望的泥潭。投资Apple和Microsoft只有两个理由。(1)这两个公司都跟他们的 客户有一种互相依存的关系。客户们愿意相信,而Apple和Microsoft也知道如何给他们想要的东西。(2)这两家公司都花很大的精力为他们的操作 系统增加新功能,从而在一段时间内确保用户的忠诚度。
因此,这篇文章的大部分章节都会围绕这两个话题展开。
Post a Comment