魔法大锅炉
—— 结论:自由软件变革之后
Eric Raymond (1999年六月)
[AKA]rover HansB iasc等翻译
15. 结论:自由软件变革之后
在向自由软件形式过渡完成之后,整个软件产业将会是什么样子呢?
为了回答这个问题,有必要根据软件所需要为用户提供的服务程度将软件分分类,服务体现了软件的开放性,这种划分又是与软件所业服务的市场化程度紧密相关的。这个提法的精髓恰好与我们日常所说的三个名词相似:应用程序(基本没有商品化的服务,没有或缺少开放的技术标准)、构件(服务商品化、标准性很强)、中间件(需要一些商品化的服务、有技术标准但是不完善)。当前(1999年)对于上面三种软件的典型例子就是字处理软件(应用程序)、TCP/IP协议包(构件)和数据库引擎(中间件)。
前面关于分配方式的分析向我们展示了构件、应用程序和中间件三种软件形式将会以不同的方式向自由软件体系过渡,以及他们各自体现出的自由软件与封闭软件相结合的形式。还需要指出的是,在软件业的某一领域自由软件普及程度还要受到那里的网络影响力是否很强,软件企业倒闭所带来的负面影响程度以及软件产品在多大程度上还是一种商业上敏感的资本资源等因素的影响。
如果不局限于某个特定的领域,从软件业的整体角度考虑我们可以大胆的作出如下预言:
象因特网、互连网、操作系统以及其他需要在竞争的软件各方互相交叉的底层通讯软件等构件产品会逐渐全部开放,这些软件将由今天象RedHat这样赢利的软件发行商或其他服务机构将会与用户团体来共同维护。
另一方面,应用程序类型的软件会继续保持封闭的状态。这种软件通常是他们未公开的算法使用价值非常高或使用的技术非常先进,促使用户仍然愿意花钱去购买这些封闭源码的软件,同时这也意味着这种软件可靠性要求非常底,并且可能导致行业垄断的风险还在可以容忍的范围内。这种现象最有可能出现在网络影响比较小的垂直性市场领域中。我们以前提到的一个lumber-mill就是这种产品,1999年最亮丽的软件产品——生物分子结构识别软件也属于这一类。
中间件,象数据库工具、开发工具或其他用于特定领域的高端应用程序协议软件包将是一种自由与封闭的融合。这些中间件软件产品是会逐渐走向封闭还是开放或许将取决于软件的破产风险,为打开市场而所需的成本越高的软件将更需要开放。
不管怎样,为描绘一个完整的蓝图,我们仍然应该看到无论是应用程序还是中间件,这都是一个静态的划分。在前文“何时会开放”一节里面我们已经分析了对于任何一个软件产品都将要走过一个从理智的封闭到理智的开放这样一个生命周期,对整个软件产业来说同样是这个道理。
随着关键技术的普及和标准化,随着商品化的服务在软件产业中所占的比重越来越大,应用程序会逐渐转化为中间件,比如在将数据库前端接口和数据库引擎分开以后,数据库接口就成为了一种中间件。当中间件产品所需服务越来越要商品化时,就轮到他们逐渐转化为开放源码的构件了,我们今天看到的操作系统的变革就是这种例子。
我们可以预料到在未来,随着自由软件所带来的强大竞争力,某个软件的最终命运将不是走向灭亡就是成为开放构件系统的一部分。虽然这对于那些打算永远从封闭软件中赚取利润的软件企业来说的确是个坏消息,但是软件产业作为一个整体仍然是一种产业,那时新的高层应用软件将不断开放,私有化的智力资源垄断某个软件将只有一个有限的生命周期,最终将纷纷转化为自由软件。
最后,我们要看到这种从封闭到开放的变革还是主要要由软件产品的用户来推动才能不断发展。越来越多的高质量软件将被创造出来并得到长期使用,而不是被某些人藏在密室里得不到发展。这种奇迹用Ceridwen的魔锅来比喻还不够恰当,因为魔锅变出来的食品如果不吃就会逐渐腐烂掉,而自由软件世界中的软件将是取之不尽的宝藏。在自由软件中你拥有最自由的自由,无论你是打算提供商业服务还是打算为他作出贡献,自由软件世界将向所有人提供一个不断积累、取之不竭的宝贵财富。
|