Google携手sun掀起业界波澜,重新勾起人们对企业垄断问题讨论。
人类能够通过学习获取祖先的经验,而动物更多的依赖遗传,这是人类文明能够辉煌的重要原因,有了公共知识体系,人们可以尽量避免空耗精力来进行所谓“重复发明同一个车轮”的工作。
“重复发明同一个车轮”,从软件的角度看,就是重用已存的知识或者产品。“重用”具有不同层次的应用水平,并不是简单的能不能的事。
在组件技术还不普及的时候,人们重复使用已经存在的知识产品的办法是源代码移植,比如:把一种C编译环境下的C语言源代码移植到另一种编译环境下。在代码移植的时代,程序员水平评估中有一项指标就是程序可移植性,因为它代表了你的知识是否能够被多次使用。
连接库技术和组件技术的发展,软件人员可以在二进制代码级重用已经设计好的功能模块,重复使用的程度要比源代码高,随着技术的发展,软件复用水平越来越高。
通过不“重复发明同一个车轮”,避免浪费资源重复工作,说起来容易,做起来却比较难,因为提高重用水平需要很多的额外工作,又受制于当前的技术环境,还可能对性能和功能甚至知识产权产生负面影响。例如:在组件技术不普及的时候你只能从源代码上做文章,此时一些非通用的函数最好不用,而且需要多方面考虑不同编译环境的差别,快捷性的双刃剑还降低了软件产品过多利用了中间件后被仿制的门槛。
标准化是提高“复用”水平的办法,上街买到的毫不相关两家公司的灯泡和灯座能够良好工作受益于标准化。Java提倡的“一次编写随处运行”,是一种技术标准,为重用提供了二进制代码级的平台,尽管“一次编写随处运行”目标的真正实现还很遥远,但标准化工作对互联网的发展已经产生了重大的影响,今天我们轻快的用鼠标通过web天南海北神游网络的时候,或许忘记了,上个世纪,一张软盘拷贝的文件能够被两台以上的计算机识别并不是一件容易的事情。
基于技术走向统一标准的趋势,是不是表明,未来互联网将是一家公司的天下,或者说会被一家公司垄断?
从互联网的本身特征来看,互联网是一个容易产生寡头的地方,软件的复制成本低廉和增加服务客户的成本低廉,非常适合大规模经营,实际中的IT业界,只有第一第二,难见第三第四也印证了寡头趋势的说法,不过这并不足以说明互联网将是一家公司的天下。




