Plan-9的一个最主要的问题出在AT&T和Unix幕后的这群人身上,尽管他们都是才华横溢的科学家和程序员,但他们不懂得如何去开发商业软件,而AT&T也从来没打算进入软件业。这些,我承认听起来有些大不敬,但事实就是这样。他们使用软件,他们喜欢开发内部软件来运行他们的高端网络设备,但是他们却从来不去开发要卖给别人的软件,而且跟Sun,IBM,微软等商业公司不一样,这从来不是他们的资金的主要来源。这就意味着他们不需要有外部世界需要什么样的软件的意识。举个例子,Sun公司就需要这样的意识,所以他们开发出了RPC。他们认识到人们在进行网络编程时很痛苦,他们看到了创建一个网络抽象层的商业机会:“嗨,大伙们,SunOS有一个很酷的东西,让我们能够不直接跟sockets打交道就可以开发出网络应用!你绝对应该使用SunOS”。 还有,在Plan-9中,很多“好的老的东西”被删除了,大量的跟其它Unix不兼容的东西被加入了系统。这几乎打消了众多公司试图将他们的应用迁移到Plan-9的念头。如果你不知道这样一个新系统是否能够获得成功,那为什么要耗费了大量的工作把自己的应用迁移到这个新平台上呢?这就是典型的鸡生蛋蛋生鸡问题:一个操作系统的价值就在于上面有大量应用可运行,无它。如果一个系统很新,你要做的是必须发展一个能够支持各种应用的生态系统,通过它们让这个系统变得有价值。只有两条路能做到这样。第一个就是让这个系统跟目前现存的系统保持最大的兼容,也就是Unix, POSIX 和 Motif 这些系统。第二个就是创建自己的生态系统,以此来提升新系统的价值,微软Windows和Office办公系统软件就是典型例子。 我们应该从Plan-9的历史教训中总结出一些经验吗? 当然,我们至少可以获得下面这些:
这些看起来都是一些非常高层的东西,并不是特别跟程序员的日常开发相关。看起来是这样,但事实远非如此。现如今,你可以很容易的开创自己的事业,开始向用户提供某种的服务。然而,你的服务是一个有价值的产品?还是变成了另外一个Plan-9传奇?这并不是很容易判断的事。例如,你的打算开发一个报表系统,来展现监控数据或其它任何可视的状态,如果你没有提供用它将这些报表导入到Excel的功能,那你在写第一行代码前就输了。如果你打算开发一个新的Web社交应用,而你没有提供使用Fackbook、Twitter或LinkedIn登录的方式,那你在搭建WEB服务器前就输了。如果你web服务中信息的导出方式没有采用RSS或ATOM,而是采用了一种全新的格式,猜会怎么样?你在吸引到第一个用户前就输了。但是,比着一切更重要的是:你的产品真正的解决了一个现实存在的问题吗? [英文原文:The Plan-9 Effect or why you should not fix it if it ain't broken ] 转自 http://www.aqee.net/the-plan-9-effect-or-why-you-should-not-fix-it-if-it-aint-broken/ |