我说过,我经常看书看一半,所以桌面儿上丢了一桌的书。
结果那天令狐来我家小坐,其间谈到高德纳的TAOCP一书,他拍着我桌面上的一本老萨的《经济学》说:这种书看不看倒在其次,主要是装门面。^O^
汗ing,想起来我的确是有很久没看了,后来几天中间就翻了几页,刚好看到介绍“寡头垄断”和“垄断竞争”两种情况。
比如前几天说的“民工荒”问题中提到的流通领域,就是“垄断竞争”的主要表现。
所谓三句不离本行,回到软件业这边。
现在的应用开发技术领域,便是这样一个“寡头垄断”加“垄断竞争”的环境。
在这个领域里,Java和.net几乎占据了绝大多数的市场份额,已经足够成为寡头垄断的情况了。
不过还好SUN并没有能力完全控制JAVA,因为还有IBM、BEA和开源社团在制约它。但.net的情况则不同,它完全在MS的控制下。可以想象,如果JAVA社会出现垄断局面(比如SUN或IBM完全控制了JAVA),那么只要它与MS达成价格同盟,对于下游软件开发商来说,无异于是恶梦的开始。当然如果真是那样的话,恐怕会推进像CORBA这样的中立技术的进步。替代效应将发挥作用。
所谓“替代效应”,就是当某种商品的价格上升时,消费者就会自然地谋求用其它用途接近但价格更便宜的商品来替代它。
说到替代效应,就要说说“垄断竞争”的情况,这也是目前应用开发技术领域的现状。
“垄断竞争”是这样一种做法:人为地制造商品的差异,增加替代的代价,以造成市场分割,实现在割据范围内的垄断。
JAVA,.net无不如此,特别是在JAVA阵营内部,IBM、BEA、SUN等,都在制造着差异。而MS则在致力于制造与JAVA的差异。
正是因为“垄断竞争”可以带来实际的局部垄断利益,所以各大厂商都乐此不疲。这导致了所谓的工业标准的应运而生。
但在利益面前,要想达成共识是极为困难的。CORBA标准就是一个例子。它本来是一项很有前途的技术,但是OMG上千个成员一方面要达成一致,一方面又各怀鬼胎,结果CORBA成了一项极为笨重、复杂、发展缓慢的技术。
而“垄断竞争”给消费者带来的只是损失。因为在自由竞争的环境下,通过“看不见的手”的控制,消费者本来可以取得最大的好处(用最少的花费得到最好的商品),而垄断利润的来源,就是消费者的这部分好处的减少。而且通过简单的数学分析就可以知道,垄断利润的总和,低于消费者损失的总和,也就意味着,垄断导致了社会效率的下降。
MS用于攻击开源的一个常用的理由就是:开源表面上是免费的,但是它的总拥用成本(TCO)比商业软件要高。
而造成这种情况的一个很大的原因便是MS为了维护自己的垄断利益而制造的替代壁垒!
比如:wxWindows被迫改名为wxWidget就是一个很小的例子。
比如Linux是免费的,但是要用Linux来代替Windows的代价却很高,甚至高过Windows的价格,这样的替代壁垒就非常有效。
还有一种方法就是FUD,它不但有助于扩大自己的市场份额,压缩对手的市场空间,同时也能很好地增加替代的心理壁垒。
SUN在EJB3.0的标准制定中,大量吸取和开源的Hibernate和Spring等的思路,但又有意制造差异,也是一种制造壁垒的手段。
应运而生的一条路便是:整合不同技术,消除差异。
从事这方面业务的厂商,其利润来源便是通过减小替代壁垒来减少消费者的支出,本质上便是从大厂商的垄断利润里分一杯羹。
但是这条路也未必好走,各大厂商为了维护这一壁垒,必然会经常修改这些差异,使得从事这方面业务的厂商疲于奔命。
记得某经济学家说过:学习经济学不能保证你不失业,但是可以让你知道你为什么失业。sigh