作为用户来说,软件越便宜越好。制造商来说,越贵越好。

软件的价格和很多因素相关,生产基础成本,市场竞争,应用市场,技术含量。不过我们今天分析三种因素,服务,技术和市场。

软件的价格中,有很大一部分是用于服务的。大致上包括客户服务费用,安全保证费用(例如出现产品造成客户损失等等),软件升级和维护费用。免费软件和收费软件在这方面区别最大,收费软件自然可以做好(应该说是必须做好)服务,免费软件也可以做好服务。但是免费软件既然是免费的,让我免费写了大家用我不介意,反正没人用也是浪费,有人用还可扬名。但是还要提供服务,恐怕没人乐意了。所以免费软件的服务基本都是空白,或者是收费的(例如apache的文档)。这个因素基本和我们今天讨论的主题不相关,只是讨厌于某些厂商的服务质量有感而发。

市场的领域和含义非常复杂,大致上领域包括了某个产品理论可以用于的领域和当前用于的领域。理论上说记事本可以用于超大的程序开发,实际上你看到有人在用记事本写代码吗?含义的话,市场不仅仅是一个可用的范围,还应当包括所有用户和所有竞争对手,以及所有人的互相关系和当前状态。其实这已经是非常简化的状况了,软件的市场远远没有传统行业来的大,但是复杂程度却尤有甚之。美国的一个农民可能出售牛肉到日本,中国的一个农民也可能出售牛肉到日本。但是这两个农民互相间不认识,他们不构成直接的竞争动力。他们的代理出售者可能竞价,但是他们本人基本不可能调整自己的产品(当然,我也想像不出来牛肉可以怎么调整——除去中国某些恶心商人的手段外)。然而美国的一个公司卖软件到日本,中国公司也卖,他们一定认识,而且会根据对手行为和当前处境,以及客户状态来调整他们的产品。

最后一个是竞争的关键,技术。这里讨论的是广义上的技术,即抛却含量,纯粹从跑马圈地的角度来讲。如果讲技术的发展性,那最好大家公开所有技术内幕,不过看来不可能的。

技术的意义在于做别人不能做的事情。windows的进程管理器不能显示用户加载模块,sysinternals的就可以。这就是技术。有技术就有仿制。为了保持技术,一般有两种方法。一种是持续研发,成本高,但是优势十足。还有就是专利,恶心人的无奈东西。

如果说技术只是单纯能或者不能的问题,结合到市场上就有复杂的变化。最重要的一种就是利用技术特性来占领市场。如果某个产品是开放的,例如开放标准,出售代码。就可能出现很多不准确的免费仿制品。这些仿制品的大量应用奠定了这个产品的基础,使得产品具备非常大的市场和价值。然而市场,准确的说是用户,是具备产品粘着度的。也就是说,如果喜欢一个产品,就会一直使用这个产品。如果一个产品不具备粘着度,那就完全的没有价值了。因为他的用户随时都会转变为别人的。培育市场,就是培育大量的用户,并且使得他们具备高的粘着度。技术上说,存在这么一种情况,专利A,开放标准,出售研发代码(SDK)。专利B,封闭标准,出售研发代码,但是兼容专利A。那么专利B的产品会给客户一种导向,就是B比A更好。如果价格一样的话,我们不难想像客户的选择。这样的话A不仅仅是流失客户的问题,而且在后续产品上,用户会有惊人的粘着度。一直都是B专利兼容A专利,一直被压了打。

理论上这样会导致大家不愿意在核心格式上开放标准,然而标准的开放会带来非常广阔的兼容性好处。例如著名的开放标准XML,从技术角度讲几乎就没有什么难以理解的高级技术。然而这个标准本身却是伟大的发明。所以比较流行的方式应当是授权标准,标准是免费的,但是是授权的。如果在此上面衍生变化必须得到标准化委员会的认可,然而其中还是有很大问题的。例如微软就变更了java的标准,并且在事实上(虽然从来不承认)变更了html的标准。IE可以浏览标准的html,但是标准的html浏览器却不能浏览IE的格式。由此可以看出各个生产厂商在专利上的竞争方式。

作为厂商来讲,最好的运作模式是没实力兼容标准,这样用户觉得你功能强大。有实力就修改标准,这样可以养成用户粘着度。然而在用户看来,最好选择仅仅使用最开放最便宜的标准的软件。虽然这样会在使用中造成不便。然而却杜绝了大厂商篡改标准圈地的可能,在用户和软件公司博弈的时候获得更大的优势。