保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 商务管理论文 >> 电子商务论文 >> 正文

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


  在Ritchard Stallman发动的自由软件运动中,他宣称没有任何世俗的力量可以强加在人类与 CPU之间,垄断人类通向CPU之路,将其转化为巨大的经济强权。根据原有的规则:开发软件厂商拥有源代码的专有权,他们牢牢控制了源代码,只有他们才有特权访问源代码;用户和其他程序员无法查看、改动和完善,使用户无法真正融人计算机环境之中,并且立下禁令:用户之间不得相互拷贝,拷贝就是盗版。Ritchard Stallman要开发出一套完整的操作系统,不但开放源代码,而且鼓励用户之间相互拷贝。这就导致了自由软件基金会(Free Software Foundation,FSF)的建立和GNU项目的产生。GNU组织向世人传播Ritchard Stallman的思想,认为自由软件作为一种思维艺术,应该是全人类的宝贵财富,不应为任何人所私有.Stallman曾幽默地称“GNU is Not Unix”(GNU不是 Unix),就是说,GNU组织和各种版权专有组织不同,它的版权所保护的是_种共享与合作的精神,允许任何人使用、复制、修改、分发(包括再分发修改过的版本),而且提供全部源代码的软件。

  自由软件是典型的网络时代新经济的模式,是由成千上万个程序员在工作之余开发完成的。某个程序员的日常工作并不一定符合自己的兴趣和爱好,在开发自由软件的过程中,他却可以获得巨大的成就感和荣誉感,这种动力并非是用金钱可以买到的。Internet的普及,为自由软件的发展提供了巨大的便利。分布在世界各地的程序员,可以利用Internet彼此交流思想,完成﹁个软件项目的开发。当然,如果你愿意,也可以加人到他们之中,为自由软件的发展做出自己的贡献。自由软件的开发模式也因此和传统的软件行业截然不同。他是完全开放、共同协作的开发模式。由于源代码是公开的,每个人都可以修改程序,如果某个修改为大家所认可,那么它就可以逐渐发展壮大。反之,如果某个修改意见无法获得大多数人的肯定,那么它就会逐渐消失。且每一个使用自由软件的人,都是用户和开发者,他可以修改程序,可以测试程序,也可以对程序的功能提出自己的意见。各种观点之间根据优胜劣汰的法则公平竞争,如果你获得了大多数人的支持,那么你就可以获得更好的发展。

  在自由软件发展的道路上,最著名的例子要数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引进这一方法后。使新系统(通过追加“模拟装置”模块)与现存的软件之间有了兼容性,结果在该公司与客户

的交易以及资金方面都获得了巨大的成功。

  模块化的趋势不仅体现在生产制造领域,而且体现在各种服务领域,特别是过程较容易分解的金融业。金融业的一个业务如证券组合管理包括了资产选择、交易执行、产权转让、全权委托服务等内容。每个部分都可以很简单的分开,交给不同的金融机构进行连贯操作,从而金融业者就不必对金融服务的全部过程负责。金融市场构建模块类衍生产品是最为典型的模块金融创新产品,通过远期合约、期货合约、期权合约、互换协议等具有良好构造能力的金融产品进行分解重组,可以产生种类繁多的创新组合,满足不同投资者对风险、收益的不同偏好。同样,银行贷款也是一种将大额大风险的贷款项目分为不同金融机构共同承贷、共担风险的金融创新产品。而金融控股公司则是一种模块化的金融组织创新成果。母公司通过对子公司的控制进入不同的金融行业,子公司都具有独立法人资格,构成集团公司内部不同的模块,而每个子公司内部也有不同业务、区域功能模块组成,母公司可以通过调整子公司的组成模块实现全能化经营和集约化管理。
 
  四、结论与启示

  第一,在基于模块化的自由软件开发过程中不但实现了劳动分工,而且同时也实现了劳动价值的分割。把一个系统分解成各个不同的子模块,不同的开发者专注于对其中某一模块的开发,一方面实现了劳动的分工,另一方面也提高了自由软件开发的效率。基于模块化的性质,每个模块在开发出来以后都可以通过一个被称作是内核的原系统进行信息交流,发挥整个模块的功能,同时也并不会影响其他模块功能的发挥。而且在各个不同的模块整合在一起后,由于外部性的存在,会使整个系统增加的功能要超过该模块本身的功能。在此过程中实现了价值的分割与整合。

  第二,对于开发者而言,基于模块化的自由软件开发具有更大的吸引力,其在参与开发过程中可以得到更高的期望收益。 

  第三,在非模块化的自由软件开发过程中,存在着严重的“搭便车”现象,当一个开发者选择参与开发,其余的开发者就会选择“搭便车”,最终会导致软件的供给不足;在基于模块化的开发过程中,

《自由软件开发的模块化理论解释与启示(第4页)》
本文链接地址:http://www.oyaya.net/fanwen/view/127257.html

★温馨提示:你可以返回到 电子商务论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。