天天被操天天被操综合网,亚洲黄色一区二区三区性色,国产成人精品日本亚洲11,欧美zozo另类特级,www.黄片视频在线播放,啪啪网站永久免费看,特别一级a免费大片视频网站

現(xiàn)在位置:范文先生網(wǎng)>商務(wù)管理論文>電子商務(wù)論文>自由軟件開發(fā)的模塊化理論解釋與啟示

自由軟件開發(fā)的模塊化理論解釋與啟示

時(shí)間:2023-02-20 08:27:38 電子商務(wù)論文 我要投稿
  • 相關(guān)推薦

自由軟件開發(fā)的模塊化理論解釋與啟示

  [摘要]  本文以GNU/Linux為例討論了源代碼的內(nèi)部結(jié)構(gòu)在自由軟件開發(fā)中所起的重要作用。為此,我們考慮了源代碼的模塊化屬性。源代碼的模塊化將直接影響開發(fā)者是否參與對(duì)自由軟件的開發(fā);谀K化的自由軟件開發(fā)不僅實(shí)現(xiàn)了勞動(dòng)的分工,同時(shí)也實(shí)現(xiàn)了勞動(dòng)價(jià)值的分割,在自由軟件的開發(fā)過程中較好地解決了搭便車問題。同時(shí),模塊化理論對(duì)我國發(fā)展軟件產(chǎn)業(yè)也有一定的借鑒作用
  
  一、引言
  
  在計(jì)算機(jī)工業(yè)的初期,軟件是硬件的附屬品。企業(yè)只是賣硬件,隨系統(tǒng)贈(zèng)送軟件。在這_時(shí)期,軟件的設(shè)計(jì)思想,新的算法和軟件的源代碼在專家、學(xué)者和公司研究人員之間相互交流,促進(jìn)了軟件的迅速發(fā)展。但是,企業(yè)很快認(rèn)識(shí)到軟件的價(jià)值,對(duì)軟件實(shí)施了版權(quán)控制,并限制了源代碼的發(fā)布。同時(shí),軟件的開發(fā)方式也發(fā)生了變化,變成以商業(yè)企業(yè)為主體的封閉的開發(fā)模式。Unix系統(tǒng)是其中最典型的例子。在Unix發(fā)展的早期,源代碼是可以自由拷貝的,每個(gè)人都可以借鑒他人的思想,以完善程序。但是,隨著軟件產(chǎn)業(yè)的發(fā)展,1979年AT&T公司對(duì)具有獨(dú)立知識(shí)產(chǎn)權(quán)的操作系統(tǒng)—— UNIX申請(qǐng)了專利,軟件被貼上了版權(quán)標(biāo)識(shí),Unix也被強(qiáng)制實(shí)施版權(quán)控制,阻止了程序員之間的交流與合作,一些優(yōu)秀的程序員也相繼離開Bell實(shí)驗(yàn)室,去各個(gè)公司任職。商業(yè)企業(yè)對(duì)軟件的知識(shí)產(chǎn)權(quán)保護(hù)成為其他廠商進(jìn)入相關(guān)市場(chǎng)的“壁壘”,在沒有替代產(chǎn)品(特別是系統(tǒng)軟件)的情況下就形成了事實(shí)上的壟斷。1989年,Ritchard Stallman在麻省理工學(xué)院(MIT)的支持下,在計(jì)算機(jī)界掀起了﹁場(chǎng)數(shù)字改革運(yùn)動(dòng)——自由軟件運(yùn)動(dòng)。從此,自由軟件得到了蓬勃的發(fā)展,成為軟件開發(fā)者們非常關(guān)注的熱點(diǎn)。
  
  自由軟件(Free Software)是指允許任何人使用、復(fù)制、修改、分發(fā)(包括再分發(fā)修改過的版本),而且提供全部源代碼的軟件。自由軟件的源代碼可以免費(fèi)獲得,是一種典型私人提供公共物品的經(jīng)濟(jì)現(xiàn)象。成千上萬的“志愿者”參與了諸如Linux操作系統(tǒng)、Apache網(wǎng)頁服務(wù)器、Sendmaill郵件服務(wù)器等大型復(fù)雜軟件的開發(fā),并且這些軟件的質(zhì)量(例如,性能和穩(wěn)定性)要優(yōu)于一般的商業(yè)軟件。顯然,傳統(tǒng)經(jīng)濟(jì)學(xué)難以對(duì)自由軟件的成因做出有說服力的解釋。傳統(tǒng)的經(jīng)濟(jì)學(xué)理論認(rèn)為,在產(chǎn)權(quán)不清晰的情況下,私人代理面臨著嚴(yán)重的“搭便車”及外部性問題,對(duì)于信息產(chǎn)品往往會(huì)出現(xiàn)嚴(yán)重的投資不足現(xiàn)象;私人代理參與公共物品的開發(fā)是無效率的(Arrow,1962),并且自由軟件的開發(fā)者僅得到其所開發(fā)軟件的私人收益,并沒有從其他消費(fèi)者那里得到任何補(bǔ)償。由于得到的僅僅是私人收益,按照傳統(tǒng)經(jīng)濟(jì)學(xué)的邏輯,自由軟件開發(fā)者所付出的努力會(huì)遠(yuǎn)小于社會(huì)的最優(yōu)數(shù)量。另外,商業(yè)企業(yè)所開發(fā)的標(biāo)準(zhǔn)化軟件產(chǎn)品能夠累積不同消費(fèi)者的需求,這樣就可以彌補(bǔ)大量的開發(fā)成本;相對(duì)于自由軟件開發(fā)者來說,商業(yè)企業(yè)傾向于做更多的投資,開發(fā)更好的產(chǎn)品,滿足更多消費(fèi)者的不同需求。
  
  關(guān)于開發(fā)者參與自由軟件開發(fā)的動(dòng)機(jī)問題的研究已引起經(jīng)濟(jì)學(xué)家們廣泛的關(guān)注。Lerner等從勞動(dòng)經(jīng)濟(jì)學(xué)和產(chǎn)業(yè)組織理論的角度展開了分析,認(rèn)為自由軟件開發(fā)的動(dòng)機(jī)主要是出于對(duì)自身的職業(yè)發(fā)展以及得到公眾的贊譽(yù)等方面的考慮(Lerner,Tirole,2000)。Harhoff與Henkel等系統(tǒng)分析了開發(fā)者加人自由軟件開發(fā)的激勵(lì)問題,主要包括:①誘發(fā)商業(yè)企業(yè)(比如,軟件開發(fā)商)持續(xù)不斷地改進(jìn)。自由軟件的開發(fā)者會(huì)把自己的創(chuàng)新之處免費(fèi)提供給商業(yè)企業(yè),從而商業(yè)企業(yè)可以對(duì)此做出改進(jìn)并投人市場(chǎng)。②互惠與聲譽(yù)效應(yīng)。自由軟件開發(fā)者向他人展示自己的創(chuàng)新之處,這就形成了一種互惠環(huán)境,其他的開發(fā)者也會(huì)傾向于發(fā)布自己的創(chuàng)新之處。對(duì)于最初發(fā)布創(chuàng)新的人,則會(huì)得到公眾的贊譽(yù)。③較弱的競(jìng)爭(zhēng)條件。競(jìng)爭(zhēng)在自由軟件開發(fā)者之間是相對(duì)比較弱的,向他人公開自己的源代碼并不會(huì)對(duì)自己造成很大的損害(Harhoff,Henkel et al.,2000)。關(guān)于此問題更多的討論可參考達(dá)爾構(gòu)建的一個(gè)關(guān)于管理自由軟件開發(fā)項(xiàng)目的理性代理人行為模型(Dalle,Jullien,2001)。自由軟件開發(fā)模式一個(gè)很重要的優(yōu)勢(shì)就是擁有一個(gè)強(qiáng)大的人才庫。成千上萬的開發(fā)者可以參與這個(gè)項(xiàng)目的開發(fā)。受雇于一家商業(yè)企業(yè)的開發(fā)者數(shù)量畢竟是有限的。更重要的是,自由軟件頃月對(duì)于需要編寫什么樣的代碼具有更好的知識(shí)優(yōu)勢(shì)。在商業(yè)企業(yè)中,開發(fā)者并不能意識(shí)到用戶所面臨的所有可能的參數(shù)(Johnson,2001)。關(guān)于自由軟件開發(fā)的其他問題也引起了各個(gè)學(xué)科領(lǐng)域?qū)W者極大的興趣。主要包括:分析自由軟件和商業(yè)軟件的競(jìng)爭(zhēng)關(guān)系問題(Johnson,2001;Dalle,Jullien,2001;Khalak,2000),自由軟件的虛擬溝通機(jī)制(Neus,2001)以及把自由軟件作為一種復(fù)雜的公共物品。
  
  在經(jīng)濟(jì)學(xué)與管理學(xué)的理論研究文獻(xiàn)中,模
  
  塊化被看做是企業(yè)生產(chǎn)制造(Ulrich,1995;Schilling, 2000)、組織設(shè)計(jì)(Baldwin,Clark,2000)的一種新的范例。軟件產(chǎn)品可以被看做是由一系列具有特定功能的組件組成,作為一個(gè)完整的系統(tǒng)也可以被分解成一系列功能模塊,這些模塊之間的相互作用就形成了系統(tǒng)的所有功能(Ulrich,1995;Sanchez,Mahoney,1996)。所謂模塊是指可組成系統(tǒng)的、具有某種確定獨(dú)立功能的半自律性的子系統(tǒng),可以通過標(biāo)準(zhǔn)的界面和其他同樣的子系統(tǒng)按照一定的規(guī)則相互聯(lián)系而構(gòu)成的更加復(fù)雜的系統(tǒng)(青木昌彥,2002)。每個(gè)模塊的研發(fā)和改進(jìn)都獨(dú)立于其他模塊的研發(fā)和改進(jìn),每個(gè)模塊所特有的信息處理過程都被包含在模塊的內(nèi)部,如同一個(gè)“黑箱”,但是有一個(gè)或數(shù)個(gè)通用的標(biāo)準(zhǔn)界面與系統(tǒng)或其他模塊相互連接。國內(nèi)的學(xué)者朱瑞博、陳向東、周鵬等人分別就價(jià)值模塊的整合、模塊化在知識(shí)管理、組織分析中的應(yīng)用展開了討論(朱瑞博,2003,2004;陳向東,2004;周鵬,2004)。朱瑞博(2003)認(rèn)為價(jià)值模塊是產(chǎn)業(yè)融合的載體,模塊化、產(chǎn)業(yè)融合不僅使生產(chǎn)結(jié)構(gòu)基礎(chǔ)改變了,競(jìng)爭(zhēng)的基礎(chǔ)也發(fā)生了改變。青木昌彥(2002)則認(rèn)為模塊化是新產(chǎn)業(yè)結(jié)構(gòu)的本質(zhì)。
  
  為什么自由軟件在某些市場(chǎng)上會(huì)表現(xiàn)得如此出色呢?在以往探討自由軟件的文獻(xiàn)當(dāng)中,人們并沒有就自由軟件的內(nèi)部結(jié)構(gòu)進(jìn)行討論。本文僅從自由軟件源代碼的內(nèi)部結(jié)構(gòu)這個(gè)角度來探討這一現(xiàn)象。自由軟件的開發(fā)從其內(nèi)部結(jié)構(gòu)來看,往往具有模塊化的特性。在產(chǎn)品的模塊化設(shè)計(jì)過程中,每個(gè)模塊由不同的設(shè)計(jì)者單獨(dú)設(shè)計(jì)完成,實(shí)現(xiàn)了勞動(dòng)的分工。同時(shí),每個(gè)模塊按照一定的標(biāo)準(zhǔn)界面與系統(tǒng)中的其他模塊統(tǒng)一起來,其單獨(dú)的研發(fā)與改進(jìn)并不影響系統(tǒng)中其他模塊的運(yùn)行,從這個(gè)意義上來講,模塊化也實(shí)現(xiàn)了產(chǎn)品開發(fā)過程中勞動(dòng)價(jià)值的分割。本文首先從一個(gè)簡(jiǎn)單的博弈模型開始,結(jié)合GNU/Linux開發(fā)的歷程,分析了自由軟件源代碼內(nèi)部結(jié)構(gòu)的模塊化屬性在軟件開發(fā)中所起的重要作用。在此基礎(chǔ)上探討了模塊化理論在其他相關(guān)產(chǎn)業(yè)中的應(yīng)用。
  
  二、自由軟件開發(fā)的模塊化理論解釋
  
  對(duì)于某一個(gè)特定的理性開發(fā)者而言,在其做出是否參與某個(gè)自由軟件開發(fā)的決策時(shí),主要考慮兩方面的問題:一是參與自由軟件開發(fā)的成本是什么?二是具體的收益是什么?參與自由軟件開發(fā)對(duì)于開發(fā)者來說成本即為他們所花費(fèi)時(shí)間的機(jī)會(huì)成本。從開發(fā)者的收益上來講,參與自由軟件開發(fā),可以從多方面得到非貨幣的補(bǔ)償。例如,系統(tǒng)管理員可以通過解決所使用開放源代碼軟件的 BUG,從而提高整個(gè)網(wǎng)絡(luò)的績(jī)效(Lerner,Tirole,2000);開發(fā)者可以通過自由軟件的開發(fā),得到一個(gè)很好的聲譽(yù),從而為個(gè)人將來的職業(yè)發(fā)展奠定基礎(chǔ)。
  
  自由軟件代碼的一個(gè)基本特征是具有非競(jìng)爭(zhēng)性。這就意味著一個(gè)開發(fā)者在使用代碼的時(shí)候并不影響其他的開發(fā)者或者其他群體來使用這些代碼。任何一個(gè)局中人所做的努力對(duì)其他局中人來講都具有正的外部性,這種外部性并不由局中人的主觀愿望所決定。這是一種典型的公共物品的私人提供。約翰遜曾經(jīng)把這種博弈形式運(yùn)用到自由軟件的開發(fā)過程中,分析了福利、努力程度以及成本對(duì)開發(fā)者數(shù)量的影響(Johnson,2001)。在約翰遜分析的基礎(chǔ)上,下文首先從一個(gè)簡(jiǎn)單的博弈形式出發(fā)來分析模塊化特性在自由軟件開發(fā)中所起的重要作用。
  
  1.一個(gè)簡(jiǎn)單的理論模型
  
  為了分析模塊化在自由軟件開發(fā)過程中所起的重要作用,我們首先考慮一種簡(jiǎn)單的情形,即自由軟件內(nèi)部結(jié)構(gòu)及其開發(fā)過程中不存在模塊化現(xiàn)象。任何一個(gè)開發(fā)者都需要一個(gè)具有特定功能的軟件代碼,任何一個(gè)開發(fā)者都可以選擇參與該軟件的開發(fā)或者不參與。在這種情況下,所需要開發(fā)的源代碼是不可分割的,也就是整個(gè)系統(tǒng)的價(jià)值并沒有被分割。
  
  代碼的開發(fā)對(duì)任何一個(gè)開發(fā)者的價(jià)值均為ν,成本為c.也就是說當(dāng)ν>c的時(shí)候,任何一個(gè)開發(fā)者都有進(jìn)行源代碼開發(fā)的動(dòng)機(jī)。由于自由軟件的特性,任何一位開發(fā)者只要完成了代碼的開發(fā),就會(huì)選擇把
  
  代碼向其他人公開,但是并不會(huì)影響自己的價(jià)值。基于上述的表述,我們可以得出:任何一方都沒有權(quán)力阻止另外一方開發(fā)或者使用源代碼:當(dāng)一方已經(jīng)開發(fā)好源代碼之后會(huì)自動(dòng)地向另外一方公開。如果只有兩個(gè)開發(fā)者,其博弈矩陣表述如圖1.
  
  對(duì)于參與博弈中的兩個(gè)開發(fā)者而言,他們可以自由選擇是否參與該系統(tǒng)的開發(fā)。如果選擇參與開發(fā),則其收益為ν-c;如果選擇搭便車,則其收益為ν。當(dāng)然,如果雙方都選擇不開發(fā)這樣的系統(tǒng),對(duì)于一個(gè)開發(fā)者來講其收益都為0.我們可以非常輕松地得到這個(gè)博弈矩陣具有兩個(gè)純策略下的納什均衡:如果一個(gè)開發(fā)者選擇開發(fā),另外一個(gè)開發(fā)者就選擇不開發(fā)(“搭便車”)。從社會(huì)效率上來講,這兩個(gè)均衡都是有效的,處于該均衡下,集體收益均大于其他情況下的集體收益。但同時(shí)這樣的均衡卻是不公平的,存在嚴(yán)重的“搭便車”現(xiàn)象,選擇“搭便車”可得的。的收益將明顯大于參與自由軟件開發(fā)者的收益(ν-c)。按照傳統(tǒng)的經(jīng)濟(jì)學(xué)理論,像這種公共物品的私人提供現(xiàn)象必然會(huì)導(dǎo)致公共物品的供給不足或者過度使用現(xiàn)象。這與像Linux這樣的自由軟件蓬勃發(fā)展的情形不符。接下來我們將從自由軟件源代碼的內(nèi)部結(jié)構(gòu)出發(fā)來討論這種現(xiàn)象。
  
  2.理論模型中加入模塊化結(jié)構(gòu)
  
  在自由軟件的模塊化開發(fā)過程中,把一個(gè)源代碼的結(jié)構(gòu)分割成一個(gè)元系統(tǒng)和一系列的模塊。元系統(tǒng)指的是一個(gè)能夠保持系統(tǒng)運(yùn)轉(zhuǎn)的最小的系統(tǒng)。模塊是一個(gè)較大系統(tǒng)的獨(dú)特的部件,它能夠由設(shè)計(jì)者獨(dú)立設(shè)計(jì)出來,同時(shí)又可以作為一個(gè)整體在系統(tǒng)中運(yùn)轉(zhuǎn)。把一個(gè)大系統(tǒng)切割成互相獨(dú)立的不同的小系統(tǒng),可以使一些并不是經(jīng)常見面的開發(fā)者減少必要的交流次數(shù)。另外,一個(gè)舊版本的模塊可以被新版的模塊所替換,同時(shí)卻又不影響整個(gè)系統(tǒng)的運(yùn)轉(zhuǎn)。這樣,在新模塊中所增加的功能就可以及時(shí)在現(xiàn)存的系統(tǒng)中體現(xiàn)出來,同時(shí)也不需要更改系統(tǒng)中的其他模塊。
  
  在傳統(tǒng)的軟件開發(fā)過程中,源代碼是不可以分割的(即軟件開發(fā)過程中有時(shí)候也會(huì)存在勞動(dòng)的分工,但是卻沒有實(shí)現(xiàn)勞動(dòng)價(jià)值的分割)。代碼內(nèi)部所隱含的結(jié)構(gòu)形式并不具有模塊化的特征。在模塊化的自由軟件開發(fā)過程中,已經(jīng)存在的最小系統(tǒng)(元系統(tǒng)或者內(nèi)核)具有模塊化特性,在這種情況下任何一個(gè)模塊都可以獨(dú)立地進(jìn)行開發(fā)。由于初始的內(nèi)核已經(jīng)存在,由于一個(gè)模塊的失敗并不會(huì)對(duì)其他模塊的價(jià)值造成直接的影響。因此,在這種情況下,不僅勞動(dòng)得到了分工,每個(gè)開發(fā)者創(chuàng)造的價(jià)值也實(shí)現(xiàn)了分割。
  
  為了表述的需要,我們對(duì)自由軟件的模塊化開發(fā)過程做如下的假設(shè):①由于像Linux這樣的自由軟件開發(fā)過程中,元系統(tǒng)(也就是內(nèi)核)已經(jīng)存在。但是只有元系統(tǒng)的軟件卻沒有任何的價(jià)值,就像有了操作系統(tǒng)而沒有應(yīng)用程序一樣,為了方便起見,在分析過程中我們假設(shè)元系統(tǒng)的價(jià)值和成本均為0;②整個(gè)系統(tǒng)由兩部分組成:1個(gè)元系統(tǒng)(即內(nèi)核)和n個(gè)模塊,在整個(gè)源代碼的開發(fā)過程中有 n個(gè)開發(fā)者(其中有j個(gè)開發(fā)者參與了系統(tǒng)的開發(fā),j≤n);③系統(tǒng)的價(jià)值和成本在所有的模塊中平均分配,即每個(gè)模塊的價(jià)值為其成本為也就是說每開發(fā)一個(gè)模塊,系統(tǒng)增加的價(jià)值為增加的成本為④在此過程中,任何一個(gè)開發(fā)者開發(fā)的模塊都會(huì)與其他人共享。
  
  對(duì)于某一個(gè)軟件開發(fā)者i來說,如果選擇參與自由軟件的開發(fā),其凈收益為
  
  (1)
  
  如果選擇不參與自由軟件的開發(fā),其凈收益為
  
  (2)
  
  因?yàn)関>c,顯然有Ri1>Ri2.即在基于模塊化的自由軟件開發(fā)過程中,一個(gè)理性的開發(fā)者會(huì)選擇參與自由軟件的開發(fā)。這樣就較好地解決了“搭便車”的問題。
  
  出于問題的簡(jiǎn)化,我們只考慮在自由軟件的開發(fā)過程中只有2個(gè)開發(fā)者、2個(gè)模塊的情形。對(duì)于每個(gè)開發(fā)者而言,可以選擇參與開發(fā)或者不開發(fā)模塊。如果某一個(gè)開發(fā)選擇參與開發(fā)模塊,其同樣也可以選擇開發(fā)模塊A或者開發(fā)模塊B.基于以上的假設(shè),該博弈矩陣的表述如圖2.
  
  在該博弈中,由于只有2個(gè)開發(fā)者、2個(gè)模塊,所有任何一個(gè)模塊的價(jià)值為0.5ν,參與開發(fā)任何一個(gè)模塊的成本為0.5c.兩個(gè)開發(fā)者參與開發(fā)相同的模塊,其得到的收益均為0.5(ν-C),如果兩個(gè)開發(fā)者選擇開發(fā)不同的模塊,其得到的收益均為ν-0.5c.如果其中一個(gè)選擇了搭便車,其得到的收益均為0.5ν(因?yàn),此時(shí)整個(gè)系統(tǒng)的價(jià)值只有0.5ν)。
  
  如圖2所示,該博弈也同樣存在兩個(gè)純策略下的納什均衡:兩個(gè)開發(fā)者同時(shí)都會(huì)參與自由軟件的開發(fā),但是他們會(huì)開發(fā)不同的模塊。也就是說,如果一個(gè)開發(fā)者選擇開發(fā)模塊A,另一個(gè)開發(fā)者則會(huì)選擇開發(fā)模塊B.由此可見,基于模塊化的自由軟件開發(fā)中,在追求效率的同時(shí)也體現(xiàn)了公平。這是非模塊化的軟件開發(fā)所不能達(dá)到的。
  
  通過對(duì)模塊化與非模塊化自由軟件開發(fā)過程對(duì)開發(fā)者與搭便車者收益的比較(如圖3),可以得到:①對(duì)于“搭便車”者而言,在模塊化結(jié)構(gòu)的自由軟件開發(fā)中收益明顯減少。從ν減少到0.5v②對(duì)開發(fā)者而言,在模塊化結(jié)構(gòu)的自由軟件開發(fā)中收益明顯增加。從ν-c增加到
  
  ν-0.5c.在模塊化結(jié)構(gòu)的自由軟件開發(fā)過程中,參與開發(fā)者的收益要明顯高于“搭便車”者的收益(由于v>c,故有v-0.5c>0.5v),而在非模塊化結(jié)構(gòu)的自由軟件開發(fā)過程中參與開發(fā)者的收益要明顯低于“搭便車”者的收益 (ν-0.5c
  
  三、CNU/Linux案例分析與應(yīng)用
  
  在Ritchard Stallman發(fā)動(dòng)的自由軟件運(yùn)動(dòng)中,他宣稱沒有任何世俗的力量可以強(qiáng)加在人類與 CPU之間,壟斷人類通向CPU之路,將其轉(zhuǎn)化為巨大的經(jīng)濟(jì)強(qiáng)權(quán)。根據(jù)原有的規(guī)則:開發(fā)軟件廠商擁有源代碼的專有權(quán),他們牢牢控制了源代碼,只有他們才有特權(quán)訪問源代碼;用戶和其他程序員無法查看、改動(dòng)和完善,使用戶無法真正融人計(jì)算機(jī)環(huán)境之中,并且立下禁令:用戶之間不得相互拷貝,拷貝就是盜版。Ritchard Stallman要開發(fā)出一套完整的操作系統(tǒng),不但開放源代碼,而且鼓勵(lì)用戶之間相互拷貝。這就導(dǎo)致了自由軟件基金會(huì)(Free Software Foundation,FSF)的建立和GNU項(xiàng)目的產(chǎn)生。GNU組織向世人傳播Ritchard Stallman的思想,認(rèn)為自由軟件作為一種思維藝術(shù),應(yīng)該是全人類的寶貴財(cái)富,不應(yīng)為任何人所私有。Stallman曾幽默地稱“GNU is Not Unix”(GNU不是 Unix),就是說,GNU組織和各種版權(quán)專有組織不同,它的版權(quán)所保護(hù)的是_種共享與合作的精神,允許任何人使用、復(fù)制、修改、分發(fā)(包括再分發(fā)修改過的版本),而且提供全部源代碼的軟件。
  
  自由軟件是典型的網(wǎng)絡(luò)時(shí)代新經(jīng)濟(jì)的模式,是由成千上萬個(gè)程序員在工作之余開發(fā)完成的。某個(gè)程序員的日常工作并不一定符合自己的興趣和愛好,在開發(fā)自由軟件的過程中,他卻可以獲得巨大的成就感和榮譽(yù)感,這種動(dòng)力并非是用金錢可以買到的。Internet的普及,為自由軟件的發(fā)展提供了巨大的便利。分布在世界各地的程序員,可以利用Internet彼此交流思想,完成﹁個(gè)軟件項(xiàng)目的開發(fā)。當(dāng)然,如果你愿意,也可以加人到他們之中,為自由軟件的發(fā)展做出自己的貢獻(xiàn)。自由軟件的開發(fā)模式也因此和傳統(tǒng)的軟件行業(yè)截然不同。他是完全開放、共同協(xié)作的開發(fā)模式。由于源代碼是公開的,每個(gè)人都可以修改程序,如果某個(gè)修改為大家所認(rèn)可,那么它就可以逐漸發(fā)展壯大。反之,如果某個(gè)修改意見無法獲得大多數(shù)人的肯定,那么它就會(huì)逐漸消失。且每一個(gè)使用自由軟件的人,都是用戶和開發(fā)者,他可以修改程序,可以測(cè)試程序,也可以對(duì)程序的功能提出自己的意見。各種觀點(diǎn)之間根據(jù)優(yōu)勝劣汰的法則公平競(jìng)爭(zhēng),如果你獲得了大多數(shù)人的支持,那么你就可以獲得更好的發(fā)展。
  
  在自由軟件發(fā)展的道路上,最著名的例子要數(shù)Linux操作系統(tǒng)。Linux操作系統(tǒng)不管是在源代碼的結(jié)構(gòu)上,還是開發(fā)水平上都要比原先的操作系統(tǒng)(比如UNIX)更加成熟。從Linux操作系統(tǒng)源代碼的結(jié)構(gòu)上看,它是模塊化的,并且是可升級(jí)的(Stallman,1999)。高度模塊化的源代碼結(jié)構(gòu)給軟件開發(fā)者和使用者均帶來了極大的好處。開發(fā)者可以對(duì)具有某種特定功能的模塊進(jìn)行獨(dú)立開發(fā)而不需要花時(shí)間去協(xié)調(diào)與其他模塊之間的關(guān)系。并且模塊化開發(fā)不僅允許模塊之間的水平開發(fā),而且可以通過對(duì)類似模塊之間的創(chuàng)新和競(jìng)爭(zhēng)(開發(fā)新的模塊或者對(duì)原有的模塊進(jìn)行改進(jìn))充分改善系統(tǒng)的功能(Badwin,Clark,2000)。另外,作為最終的用戶來說,在安裝系統(tǒng)的時(shí)候可以就個(gè)人的需求與偏好選擇適合自己的模塊。
  
  模塊化的代碼結(jié)構(gòu)是由松散的組件構(gòu)成的,是對(duì)一個(gè)系統(tǒng)完全意義上的分割,而不像完全集成的代碼,各個(gè)組件之間存在很強(qiáng)的依賴關(guān)系,并不是完全通過界面來交換信息。Linus Torvalds是其中的一名主要的開發(fā)者,其主要任務(wù)是開發(fā)Linux操作系統(tǒng)的內(nèi)核,其他所有在GNU宣言下開發(fā)的自由軟件都可以通過這個(gè)內(nèi)核集成起來。自從Linux內(nèi)核1991年對(duì)外公布后,大量“志愿者”開發(fā)的自由軟件都可以通過這個(gè)內(nèi)核(公共界面)進(jìn)行信息交流。Linux內(nèi)核規(guī)定了與各個(gè)模塊之間進(jìn)行數(shù)據(jù)傳輸?shù)膮f(xié)議,任何基于這個(gè)內(nèi)核的自由軟件模塊都必須遵循這些設(shè)計(jì)規(guī)則。這些開發(fā)者把精力放在諸如Apache網(wǎng)頁服務(wù)器、Sendmaill郵件服務(wù)器、MySQL數(shù)據(jù)庫系統(tǒng)等應(yīng)用軟件的開發(fā)上。同時(shí),Linux等操作系統(tǒng)也對(duì)許多企業(yè)的競(jìng)爭(zhēng)戰(zhàn)略造成了重大的影響。在因特網(wǎng)有近60%的網(wǎng)頁服務(wù)器采用了Apache;使用Linux操作系統(tǒng)的用戶也超過了3000萬并且最近幾年這個(gè)數(shù)量也在快速的增長(zhǎng)。電子郵件服務(wù)器Sendmaill、數(shù)據(jù)庫系統(tǒng)MySQL也應(yīng)用在大量的服務(wù)器上。在前幾年風(fēng)靡一時(shí)的微軟壟斷案中,微軟公司也把Linux操作系統(tǒng)等替代品的存在作為其不具有市場(chǎng)壟斷性的證據(jù)之一。
  
  模塊化是復(fù)雜系統(tǒng)的一個(gè)共同特征,這是各個(gè)不同學(xué)科的學(xué)者關(guān)注模塊化理論的關(guān)鍵所在。模塊化很多產(chǎn)生在高科技產(chǎn)業(yè)中,比如電腦產(chǎn)業(yè)就是一個(gè)典型的例子。一臺(tái)個(gè)人電腦由主板、顯示器、驅(qū)動(dòng)器、應(yīng)用軟件等組成,每個(gè)部分都自成一體而又相互緊密聯(lián)系。公司1964年推出的最早的模塊型電腦——360系統(tǒng)。在那之前,各主機(jī)制造商的各機(jī)型都有獨(dú)特的操作系統(tǒng)、處理器、周邊設(shè)備、應(yīng)用軟件等。每當(dāng)廠商進(jìn)行技術(shù)革新推出新的電腦系統(tǒng),都需要開發(fā)相應(yīng)的軟件和零部件。終端用戶在更換新的電腦系統(tǒng)時(shí),需要重新改寫原來的程序。為此,很多顧客對(duì)購買或租賃表現(xiàn)出消極的態(tài)度。360系統(tǒng)的設(shè)計(jì)者在設(shè)計(jì)過程中采用了模塊化原則,把處理器和周邊設(shè)備的設(shè)計(jì)信息分成“看得見”與“看不見”兩大類(Badwin,Clark,2000),構(gòu)建了不同裝置的模塊互相交流信息的設(shè)計(jì)規(guī)則。散布于全世界的幾十個(gè)設(shè)計(jì)隊(duì)伍必須完全服從這些規(guī)則,各隊(duì)伍對(duì)模塊里“隱藏起來”的要素,即不影響其他模塊的要素具有完全的處理權(quán)。驅(qū)動(dòng)器設(shè)計(jì)隊(duì)伍為了保證模塊能夠正確發(fā)揮作用,必須遵守?cái)?shù)據(jù)傳輸?shù)募夹g(shù)規(guī)格,硬件形狀尺寸規(guī)格等個(gè)人電腦的總體要求。然而除此之外,每個(gè)成員可以采用自己認(rèn)為最合適的方法來設(shè)計(jì)驅(qū)動(dòng)器系統(tǒng)。他們所做的判斷和其他模塊的設(shè)計(jì)者無關(guān),也沒有必要和整個(gè)電腦系統(tǒng)的設(shè)計(jì)者和設(shè)計(jì)規(guī)則的決策者商量。其他競(jìng)爭(zhēng)企業(yè)的驅(qū)動(dòng)器設(shè)計(jì)隊(duì)伍,只要遵守明確的設(shè)計(jì)規(guī)則,也可以嘗試運(yùn)用其他工藝方法來開發(fā)獨(dú)創(chuàng)性的驅(qū)動(dòng)器。IBM引進(jìn)這一方法后。使新系統(tǒng)(通過追加“模擬裝置”模塊)與現(xiàn)存的軟件之間有了兼容性,結(jié)果在該公司與客戶
  
  的交易以及資金方面都獲得了巨大的成功。
  
  模塊化的趨勢(shì)不僅體現(xiàn)在生產(chǎn)制造領(lǐng)域,而且體現(xiàn)在各種服務(wù)領(lǐng)域,特別是過程較容易分解的金融業(yè)。金融業(yè)的一個(gè)業(yè)務(wù)如證券組合管理包括了資產(chǎn)選擇、交易執(zhí)行、產(chǎn)權(quán)轉(zhuǎn)讓、全權(quán)委托服務(wù)等內(nèi)容。每個(gè)部分都可以很簡(jiǎn)單的分開,交給不同的金融機(jī)構(gòu)進(jìn)行連貫操作,從而金融業(yè)者就不必對(duì)金融服務(wù)的全部過程負(fù)責(zé)。金融市場(chǎng)構(gòu)建模塊類衍生產(chǎn)品是最為典型的模塊金融創(chuàng)新產(chǎn)品,通過遠(yuǎn)期合約、期貨合約、期權(quán)合約、互換協(xié)議等具有良好構(gòu)造能力的金融產(chǎn)品進(jìn)行分解重組,可以產(chǎn)生種類繁多的創(chuàng)新組合,滿足不同投資者對(duì)風(fēng)險(xiǎn)、收益的不同偏好。同樣,銀行貸款也是一種將大額大風(fēng)險(xiǎn)的貸款項(xiàng)目分為不同金融機(jī)構(gòu)共同承貸、共擔(dān)風(fēng)險(xiǎn)的金融創(chuàng)新產(chǎn)品。而金融控股公司則是一種模塊化的金融組織創(chuàng)新成果。母公司通過對(duì)子公司的控制進(jìn)入不同的金融行業(yè),子公司都具有獨(dú)立法人資格,構(gòu)成集團(tuán)公司內(nèi)部不同的模塊,而每個(gè)子公司內(nèi)部也有不同業(yè)務(wù)、區(qū)域功能模塊組成,母公司可以通過調(diào)整子公司的組成模塊實(shí)現(xiàn)全能化經(jīng)營和集約化管理。
  
  四、結(jié)論與啟示
  
  第一,在基于模塊化的自由軟件開發(fā)過程中不但實(shí)現(xiàn)了勞動(dòng)分工,而且同時(shí)也實(shí)現(xiàn)了勞動(dòng)價(jià)值的分割。把一個(gè)系統(tǒng)分解成各個(gè)不同的子模塊,不同的開發(fā)者專注于對(duì)其中某一模塊的開發(fā),一方面實(shí)現(xiàn)了勞動(dòng)的分工,另一方面也提高了自由軟件開發(fā)的效率。基于模塊化的性質(zhì),每個(gè)模塊在開發(fā)出來以后都可以通過一個(gè)被稱作是內(nèi)核的原系統(tǒng)進(jìn)行信息交流,發(fā)揮整個(gè)模塊的功能,同時(shí)也并不會(huì)影響其他模塊功能的發(fā)揮。而且在各個(gè)不同的模塊整合在一起后,由于外部性的存在,會(huì)使整個(gè)系統(tǒng)增加的功能要超過該模塊本身的功能。在此過程中實(shí)現(xiàn)了價(jià)值的分割與整合。
  
  第二,對(duì)于開發(fā)者而言,基于模塊化的自由軟件開發(fā)具有更大的吸引力,其在參與開發(fā)過程中可以得到更高的期望收益。
  
  第三,在非模塊化的自由軟件開發(fā)過程中,存在著嚴(yán)重的“搭便車”現(xiàn)象,當(dāng)一個(gè)開發(fā)者選擇參與開發(fā),其余的開發(fā)者就會(huì)選擇“搭便車”,最終會(huì)導(dǎo)致軟件的供給不足;在基于模塊化的開發(fā)過程中,所有的開發(fā)者都更傾向于參與開發(fā)不同的模塊,從而實(shí)現(xiàn)整個(gè)系統(tǒng)的開發(fā)。這就為我們解決公共物品的私人提供問題提供了思路。
  
  隨著我國軟件產(chǎn)業(yè)的迅速發(fā)展,開發(fā)基于本國的操作系統(tǒng)具有重要的戰(zhàn)略意義。要全新開發(fā)一個(gè)操作系統(tǒng),不管從效率,還是可行性上來講都有點(diǎn)不切實(shí)際。開放源代碼的自由軟件為我們提供了有效而又可行的捷徑。就像紅旗Linux這樣的操作系統(tǒng),在我國的政府機(jī)關(guān)部門中已經(jīng)占據(jù)了較大的市場(chǎng)份額。但是,自由軟件的開發(fā)需要一個(gè)溝通方便、規(guī)范的平臺(tái),這是我國的主管部門需要關(guān)心的問題;開放源代碼的自由軟件開發(fā)也存在一定的弊端:缺少利潤(rùn)激勵(lì)機(jī)制。為此,不管是行業(yè)協(xié)會(huì)還是政府部門都有責(zé)任建立一系列的規(guī)范機(jī)制,加大對(duì)自由軟件的投入。模塊化理論在諸如產(chǎn)業(yè)經(jīng)濟(jì)學(xué)、供應(yīng)鏈管理、工業(yè)工程、軟件工程、新產(chǎn)品開發(fā)等學(xué)科領(lǐng)域都得到了人們普遍的關(guān)注。但是,模塊化理論畢竟是最近幾年才開始蓬勃發(fā)展起來的理論,還不夠成熟,還需要對(duì)這一理論進(jìn)行不斷的完善。
  
  第四,自由軟件的開發(fā)是一個(gè)不確定性、風(fēng)險(xiǎn)極高的R&D項(xiàng)目,本文在進(jìn)行各項(xiàng)論述時(shí),并沒有把不確定性這個(gè)變量考慮在內(nèi),這是以后需要繼續(xù)研究的課題。

【自由軟件開發(fā)的模塊化理論解釋與啟示】相關(guān)文章:

學(xué)習(xí)層級(jí)理論對(duì)英語教學(xué)的啟示08-17

什么是模塊化儀器?08-06

英國語言師資培訓(xùn)理論初探及啟示08-17

文本層次理論對(duì)探究題命制的啟示08-14

芻議強(qiáng)化理論對(duì)思政課教學(xué)的啟示08-05

《焊工國家職業(yè)技能標(biāo)準(zhǔn)》模塊化、動(dòng)態(tài)化開發(fā)的幾點(diǎn)啟示08-16

行為財(cái)務(wù)理論的發(fā)展及啟示08-06

基于三種理論對(duì)學(xué)校組織管理的啟示08-25