您现在的位置: 范文先生网 >> 商务管理论文 >> 电子商务论文 >> 正文

自由软件开发的模块化理论解释与启示

时间:2006-11-28栏目:电子商务论文

et彼此交流思想,完成﹁个软件项目的开发。当然,如果你愿意,也可以加人到他们之中,为自由软件的发展做出自己的贡献。自由软件的开发模式也因此和传统的软件行业截然不同。他是完全开放、共同协作的开发模式。由于源代码是公开的,每个人都可以修改程序,如果某个修改为大家所认可,那么它就可以逐渐发展壮大。反之,如果某个修改意见无法获得大多数人的肯定,那么它就会逐渐消失。且每一个使用自由软件的人,都是用户和开发者,他可以修改程序,可以测试程序,也可以对程序的功能提出自己的意见。各种观点之间根据优胜劣汰的法则公平竞争,如果你获得了大多数人的支持,那么你就可以获得更好的发展。
  
  在自由软件发展的道路上,最著名的例子要数Linux操作系统。Linux操作系统不管是在源代码的结构上,还是开发水平上都要比原先的操作系统(比如UNIX)更加成熟。从Linux操作系统源代码的结构上看,它是模块化的,并且是可升级的(Stallman,1999)。高度模块化的源代码结构给软件开发者和使用者均带来了极大的好处。开发者可以对具有某种特定功能的模块进行独立开发而不需要花时间去协调与其他模块之间的关系。并且模块化开发不仅允许模块之间的水平开发,而且可以通过对类似模块之间的创新和竞争(开发新的模块或者对原有的模块进行改进)充分改善系统的功能(Badwin,Clark,2000)。另外,作为最终的用户来说,在安装系统的时候可以就个人的需求与偏好选择适合自己的模块。
  
  模块化的代码结构是由松散的组件构成的,是对一个系统完全意义上的分割,而不像完全集成的代码,各个组件之间存在很强的依赖关系,并不是完全通过界面来交换信息。Linus Torvalds是其中的一名主要的开发者,其主要任务是开发Linux操作系统的内核,其他所有在GNU宣言下开发的自由软件都可以通过这个内核集成起来。自从Linux内核1991年对外公布后,大量“志愿者”开发的自由软件都可以通过这个内核(公共界面)进行信息交流。Linux内核规定了与各个模块之间进行数据传输的协议,任何基于这个内核的自由软件模块都必须遵循这些设计规则。这些开发者把精力放在诸如Apache网页服务器、Sendmaill邮件服务器、MySQL数据库系统等应用软件的开发上。同时,Linux等操作系统也对许多企业的竞争战略造成了重大的影响。在因特网有近60%的网页服务器采用了Apache;使用Linux操作系统的用户也超过了3000万并且最近几年这个数量也在快速的增长。电子邮件服务器Sendmaill、数据库系统MySQL也应用在大量的服务器上。在前几年风靡一时的微软垄断案中,微软公司也把Linux操作系统等替代品的存在作为其不具有市场垄断性的证据之一。
  
  模块化是复杂系统的一个共同特征,这是各个不同学科的学者关注模块化理论的关键所在。模块化很多产生在高科技产业中,比如电脑产业就是一个典型的例子。一台个人电脑由主板、显示器、驱动器、应用软件等组成,每个部分都自成一体而又相互紧密联系。公司1964年推出的最早的模块型电脑——360系统。在那之前,各主机制造商的各机型都有独特的操作系统、处理器、周边设备、应用软件等。每当厂商进行技术革新推出新的电脑系统,都需要开发相应的软件和零部件。终端用户在更换新的电脑系统时,需要重新改写原来的程序。为此,很多顾客对购买或租赁表现出消极的态度。360系统的设计者在设计过程中采用了模块化原则,把处理器和周边设备的设计信息分成“看得见”与“看不见”两大类(Badwin,Clark,2000),构建了不同装置的模块互相交流信息的设计规则。散布于全世界的几十个设计队伍必须完全服从这些规则,各队伍对模块里“隐藏起来”的要素,即不影响其他模块的要素具有完全的处理权。驱动器设计队伍为了保证模块能够正确发挥作用,必须遵守数据传输的技术规格,硬件形状尺寸规格等个人电脑的总体要求。然而除此之外,每个成员可以采用自己认为最合适的方法来设计驱动器系统。他们所做的判断和其他模块的设计者无关,也没有必要和整个电脑系统的设计者和设计规则的决策者商量。其他竞争企业的驱动器设计队伍,只要遵守明确的设计规则,也可以尝试运用其他工艺方法来开发独创性的驱动器。IBM引进这一方法后。使新系统(通过追加“模拟装置”模块)与现存的软件之间有了兼容性,结果在该公司与客户
  
  的交易以及资金方面都获得了巨大的成功。
  
  模块化的趋势不仅体现在生产制造领域,而且体现在各种服务领域,特别是过程较容易分解的金融业。金融业的一个业务如证券组合管理包括了资产选择、交易执行、产权转让、全权委托服务等内容。每个部分都可以很简单的分开,交给不同的金融机构进行连贯操作,从而金融业者就不必对金融服务的全部过程负责。金融市场构建模块类衍生产品是最为典型的模块金融创新产品,通过远期合约、期货合约、期权合约、互换协议等具有良好构造能力的金融产品进行分解重组,可以产生种类繁多的创新组合,满足不同投资者对风险、收益的不同偏好。同样,银行贷款也是一种将大额大风险的贷款项目分为不同金融机构共同承贷、共担风险的金融创新产品。而金融控股公司则是一种模块化的金融组织创新成果。母公司通过对子公司的控制进入不同的金融行业,子公司都具有独立法人资格,构成集团公司内部不同的模块,而每个子公司内部也有不同业务、区域功能模块组成,母公司可以通过调整子公司的组成模块实现全能化经营和集约化管理。
  
  四、结论与启示
  
  第一,在基于模块化的自由软件开发过程中不但实现了劳动分工,而且同时也实现了劳动价值的分割。把一个系统分解成各个不同的子模块,不同的开发者专注于对其中某一模块的开发,一方面实现了劳动的分工,另一方面也提高了自由软件开发的效率。基于模块化的性质,每个模块在开发出来以后都可以通过一个被称作是内核的原系统进行信息交流,发挥整个模块的功能,同时也并不会影响其他模块功能的发挥。而且在各个不同的模块整合在一起后,由于外部性的存在,会使整个系统增加的功能要超过该模块本身的功能。在此过程中实现了价值的分割与整合。
  
  第二,对于开发者而言,基于模块化的自由软件开发具有更大的吸引力,其在参与开发过程中可以得到更高的期望收益。
  
  第三,在非模块化的自由软件开发过程中,存在着严重的“搭便车”现象,当一个开发者选择参与开发,其余的开发者就会选择“搭便车”,最终会导致软件的供给不足;在基于模块化的开发过程中,所有的开发者都更倾向于参与开发不同的模块,从而实现整个系统的开发。这就为我们解决公共物品的私人提供问题提供了思路。
  
  随着我国软件产业的迅速发展,开发基于本国的操作系统具有重要的战略意义。要全新开发一个操作系统,不管从效率,还是可行性上来讲都有点不切实际。开放源代码的自由软件为我们提供了有效而又可行的捷径。就像红旗Linux这样的操作系统,在我国的政府机关部门中已经占据了较大的市场份额。但是,自由软件的开发需要一个沟通方便、规范的平台,这是我国的主管部门需要关心的问题;开放源代码的自由软件开发也存在一定的弊端:缺少利润激励机制。为此,不管是行业协会还是政府部门都有责任建立一系列的规范机制,加大对自由软件的投入。模块化理论在诸如产业经济学、供应链管理、工业工程、软件工程、新产品开发等学科领域都得到了人们普遍的关注。但是,模块化理论毕竟是最近几年才开始蓬勃发展起来的理论,还不够成熟,还需要对这一理论进行不断的完善。
  
  第四,自由软件的开发是一个不确定性、风险极高的R&D项目,本文在进行各项论述时,并没有把不确定性这个变量考虑在内,这是以后需要继续研究的课题

上一页  [1] [2] [3] 

下页更精彩:1 2 3 4 下一页