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

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


件的文献当中,人们并没有就自由软件的内部结构进行讨论。本文仅从自由软件源代码的内部结构这个角度来探讨这一现象。自由软件的开发从其内部结构来看,往往具有模块化的特性。在产品的模块化设计过程中,每个模块由不同的设计者单独设计完成,实现了劳动的分工。同时,每个模块按照一定的标准界面与系统中的其他模块统一起来,其单独的研发与改进并不影响系统中其他模块的运行,从这个意义上来讲,模块化也实现了产品开发过程中劳动价值的分割。本文首先从一个简单的博弈模型开始,结合GNU/Linux开发的历程,分析了自由软件源代码内部结构的模块化属性在软件开发中所起的重要作用。在此基础上探讨了模块化理论在其他相关产业中的应用。

 

  二、自由软件开发的模块化理论解释

 

  对于某一个特定的理性开发者而言,在其做出是否参与某个自由软件开发的决策时,主要考虑两方面的问题:一是参与自由软件开发的成本是什么?二是具体的收益是什么?参与自由软件开发对于开发者来说成本即为他们所花费时间的机会成本。从开发者的收益上来讲,参与自由软件开发,可以从多方面得到非货币的补偿。例如,系统管理员可以通过解决所使用开放源代码软件的 BUG,从而提高整个网络的绩效(Lerner,Tirole,2000);开发者可以通过自由软件的开发,得到一个很好的声誉,从而为个人将来的职业发展奠定基础。

 

  自由软件代码的一个基本特征是具有非竞争性。这就意味着一个开发者在使用代码的时候并不影响其他的开发者或者其他群体来使用这些代码。任何一个局中人所做的努力对其他局中人来讲都具有正的外部性,这种外部性并不由局中人的主观愿望所决定。这是一种典型的公共物品的私人提供。约翰逊曾经把这种博弈形式运用到自由软件的开发过程中,分析了福利、努力程度以及成本对开发者数量的影响(Johnson,2001)。在约翰逊分析的基础上,下文首先从一个简单的博弈形式出发来分析模块化特性在自由软件开发中所起的重要作用。

 

  1.一个简单的理论模型

 

  为了分析模块化在自由软件开发过程中所起的重要作用,我们首先考虑一种简单的情形,即自由软件内部结构及其开发过程中不存在模块化现象。任何一个开发者都需要一个具有特定功能的软件代码,任何一个开发者都可以选择参与该软件的开发或者不参与。在这种情况下,所需要开发的源代码是不可分割的,也就是整个系统的价值并没有被分割。

 

  代码的开发对任何一个开发者的价值均为ν,成本为c。也就是说当ν>c的时候,任何一个开发者都有进行源代码开发的动机。由于自由软件的特性,任何一位开发者只要完成了代码的开发,就会选择把

代码向其他人公开,但是并不会影响自己的价值。基于上述的表述,我们可以得出:任何一方都没有权力阻止另外一方开发或者使用源代码:当一方已经开发好源代码之后会自动地向另外一方公开。如果只有两个开发者,其博弈矩阵表述如图1。

 

  对于参与博弈中的两个开发者而言,他们可以自由选择是否参与该系统的开发。如果选择参与开发,则其收益为ν-c;如果选择搭便车,则其收益为ν。当然,如果双方都选择不开发这样的系统,对于一个开发者来讲其收益都为0。我们可以非常轻松地得到这个博弈矩阵具有两个纯策略下的纳什均衡:如果一个开发者选择开发,另外一个开发者就选择不开发(“搭便车”)。从社会效率上来讲,这两个均衡都是有效的,处于该均衡下,集体收益均大于其他情况下的集体收益。但同时这样的均衡却是不公平的,存在严重的“搭便车”现象,选择“搭便车”可得的。的收益将明显大于参与自由软件开发者的收益(ν-c)。按照传统的经济学理论,像这种公共物品的私人提供现象必然会导致公共物品的供给不足或者过度使用现象。这与像Linux这样的自由软件蓬勃发展的情形不符。接下来我们将从自由软件源代码的内部结构出发来讨论这种现象。

 

  2.理论模型中加入模块化结构

 

  在自由软件的模块化开发过程中,把一个源代码的结构分割成一个元系统和一系列的模块。元系统指的是一个能够保持系统运转的最小的系统。模块是一个较大系统的独特的部件,它能够由设计者独立设计出来,同时又可以作为一个整体在系统中运转。把一个大系统切割成互相独立的不同的小系统,可以使一些并不是经常见面的开发者减少必要的交流次数。另外,一个旧版本的模块可以被新版的模块所替换,同时却又不影响整个系统的运转。这样,在新模块中所增加的功能就可以及时在现存的系统中体现出来,同时也不需要更改系统中的其他模块。

 

  在传统的软件开发过程中,源代码是不可以分割的(即软件开发过程中有时候也会存在劳动的分工,但是却没有实现劳动价值的分割)。代码内

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

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