歐衛(wèi)++謝贊福
摘要:在計算機軟件產(chǎn)業(yè)的發(fā)展歷程中,開源社區(qū)能夠靈活地根據(jù)環(huán)境變化來調(diào)整自身行為而表現(xiàn)出極強的環(huán)境適應能力和生命力。因此,開源社區(qū)具備復雜自適應系統(tǒng)的典型特征。本文將開源社區(qū)看成一種復雜自適應系統(tǒng),用復雜自適應系統(tǒng)的變異、交互、選擇過程來對開源社區(qū)的基本特征進行解讀。
關鍵詞:開源社區(qū);復雜自適應系統(tǒng);變異;交互;選擇
前言:自人類文明伊始,各國的君主、王候、實業(yè)家們便開始采用復雜性思維來分析社會管理問題,設計組織架構。但早期的樸素復雜性思維深受“自上而下”的機器概念模型所影響。在這種機器概念模型中,所有元素是通過自上而下的分層等級關系組織在一起的,兩個不在同一層級或不在相鄰層級的元素不能直接相互交互。這種模型易于實現(xiàn),且相對便于管理,因此直到今天仍適用于絕大部分組織。
自人類進入信息時代來,各種信息網(wǎng)絡迅猛發(fā)展,社會中各種不同元素之間的聯(lián)系日漸增強。這種現(xiàn)象使傳統(tǒng)的自上而下的組織邏輯關系不再普遍適用,相反,一些具有“自下而上”特性的組織開始出現(xiàn),并對人們的生活產(chǎn)生巨大深刻的影響。
在過去,人們把整個社會看成一臺機器,用制造、維護機器的思維方式來處理社會事務。如今,人們開始把世界看成有無數(shù)個網(wǎng)絡組成的巨型系統(tǒng),用系統(tǒng)的思想和觀點來維系人類社會的存在與進化。在人類社會這一巨型系統(tǒng)中,互聯(lián)網(wǎng),毫無疑問是一個其中的一個非常重要的子系統(tǒng)。
顯而易見地,互聯(lián)網(wǎng)這一子系統(tǒng)的組織邏輯,并沒有遵循“自上而下”的組織模型,相反,它是“自下而上”。在互聯(lián)網(wǎng)中,沒有所謂的控制中心,能對所有信息流進行絕對的控制,人人都可以是信息的傳播者、消費者。在傳統(tǒng)的組織結構中,領導階層通常可以計劃、設計組織的發(fā)展方向,而在互聯(lián)網(wǎng)中,對信息的控制、規(guī)劃并不總是有效的。
互聯(lián)網(wǎng)的發(fā)展催生了各種致力于軟件開發(fā)的開源社區(qū)。作為互聯(lián)網(wǎng)的一個重要方面,開源社區(qū)自然也具有“自下而上”的組織邏輯,且具有高度的復雜性。這種復雜性并不只是體現(xiàn)在技術層面,而且還體現(xiàn)在軟件開發(fā)過程中的社會層面,且同人類社會的其他社區(qū)一樣,具有高度的自適應性。因此,采用復雜自適應系統(tǒng)的思想來剖析開源社區(qū),具有較強的現(xiàn)實意義。
一、開源社區(qū)
開源社區(qū)是指旨在開發(fā)開源軟件的虛擬社區(qū),是由一群具有不同特性的成員所組成的。這些成員有著不同的動機和愛好,相互之間不斷進行交互溝通。根據(jù)成員功能劃分,開源社區(qū)大致包含以下五種角色(主體):
使用者。使用者是指那些使用開源社區(qū)開發(fā)的軟件產(chǎn)品的個人,但由于不具有相關技能、時間或者資源,這些人并不直接參與開源軟件的開發(fā)。使用者在開源社區(qū)中起著基礎作用:因為使用者重復、大量的使用行為,使得軟件產(chǎn)品得以接受全面、徹底的測試,從而為軟件開發(fā)者開發(fā)、改進產(chǎn)品提供反饋。
生產(chǎn)者。生產(chǎn)者是指在開源社區(qū)中從事軟件開發(fā)的個人或者組織,是開源社區(qū)的核心成員。他們的教育、職業(yè)背景往往多種多樣,其貢獻的動機也是各不相同。
領導者。領導者是指開源社區(qū)中少數(shù)精英開發(fā)者,他們除參與開發(fā)工作以外,還被開源社區(qū)賦予一定的權力,以對軟件項目的立項、開發(fā)、發(fā)布、改進進行管理。他們需要協(xié)調(diào)開源社區(qū)中各項開發(fā)工作,整合各個功能模塊,研究外部反饋并在此基礎上進行決策。
公司。公司是指對開源社區(qū)及其項目感興趣的商業(yè)公司。他們使用開源社區(qū)的產(chǎn)品,并對其進行資助,有時參與軟件項目的開發(fā)。
機構。機構是指對開源社區(qū)及其開源軟件感興趣的社會非盈利組織。許多公共機構,為營造發(fā)展開源軟件的文化氛圍發(fā)揮了巨大作用。很多非常重要的開源軟件的誕生,比如Linux操作系統(tǒng),就得益于大學在技術、資金、推廣上的大力協(xié)助。
二、復雜自適應系統(tǒng)
系統(tǒng)是由各種特性各異、相互關聯(lián)的元素構成。這些元素被稱為主體。各個主體在系統(tǒng)中與其他主體以及環(huán)境相互影響。在與其他主體和環(huán)境的交互過程中,每一個主體都遵循相應的規(guī)則。這些規(guī)則是否適當直接關乎一個主體的生存、發(fā)展甚至消亡。因此這些規(guī)則的選擇往往以最大環(huán)境適應度作為指標。一個有效的規(guī)則會同時被多個個體遵循而產(chǎn)生了一個種群。在一個種群中各個主體往往有著類似的行為。一個種族的演化方向是由該種族所選擇的適應規(guī)則決定的。
當一個復雜系統(tǒng)的主體能夠根據(jù)環(huán)境以及其他主體行為的變化來不斷地調(diào)整其自身行為以適應環(huán)境時,該系統(tǒng)被稱為復雜自適應系統(tǒng)。因此,主體與主體之間、主體與環(huán)境之間的信息傳遞通暢程度直接決定一個復雜自適應系統(tǒng)的發(fā)展程度。高度暢通的信息傳遞網(wǎng)絡可以讓復雜自適應系統(tǒng)建立一個健壯有活力的動態(tài)主體網(wǎng)絡。
復雜自適應系統(tǒng)的組織結構是自組織形式。在復雜自適應系統(tǒng)內(nèi),各主體、以及主體所選擇的規(guī)則不斷地進行變異、交互、選擇這三種基本作用。
變異:變異是產(chǎn)生具有新特性的個體或選擇新適應規(guī)則的過程,其產(chǎn)生的新個體可能更為適應環(huán)境而取代、淘汰舊個體。
交互:是指系統(tǒng)內(nèi)各主體、各規(guī)則之間的相互聯(lián)系、相互影響。交互既不是隨機的,也不是完全可以預測的。交互的質(zhì)量和數(shù)量決定系統(tǒng)的動態(tài)程度。
選擇:選擇是指對系統(tǒng)內(nèi)各主體及其適應規(guī)則進行選擇,優(yōu)勝劣汰。因此在選擇中,系統(tǒng)通過選擇適當?shù)囊?guī)則,來判斷哪些主體、規(guī)則應該被淘汰,哪些應該加以保留,它直接影響種群的進化過程。
三、分析
復雜自適應系統(tǒng)理論適用于那些需要頻繁反饋、不斷革新演化、存在時間較長且消亡風險較低的系統(tǒng)。將開源社區(qū)看成一個系統(tǒng),那么這個系統(tǒng)滿足上述條件。
首先,開源社區(qū)由特性各異的不同角色組成,每一個角色遵循其特定的適應規(guī)則。在開源社區(qū)中,每一個成員的角色并不是由其他具有更高權利的角色所指派,相反地,每一個成員都能夠自由選擇其所感興趣的角色以及同其他成員進行交互的方式。因此開源社區(qū)中的所有角色具備復雜自適應系統(tǒng)中主體的特征。
第二,開源社區(qū)的軟件產(chǎn)品往往是操作系統(tǒng)、網(wǎng)絡平臺、web服務器、編程語言。這些產(chǎn)品的規(guī)模龐大,能吸引非常多的人員和組織參與研發(fā)、維護,由此成員間必須進行頻繁、高強度的交互,并催生新的變異產(chǎn)品。這些具有基礎設施意義的軟件產(chǎn)品往往存在時間極長。
第三,軟件行業(yè)作為一種不斷動態(tài)發(fā)展的行業(yè),需要從業(yè)者不斷革新、演化其解決方案,特別對于主要從事互聯(lián)網(wǎng)相關產(chǎn)品開發(fā)的開源社區(qū)尤為如此。開源社區(qū)需要不斷引入新的創(chuàng)意和技術,使其產(chǎn)品保持技術上的領先,由此也激發(fā)整個開源社區(qū)的創(chuàng)造力,推動軟件技術的不斷演化和革新。
第四,為完善其產(chǎn)品,開源社區(qū)各成員需要不斷地接受來自其他成員或主體的產(chǎn)品反饋意見。因為開源程序往往被大量分發(fā),各種角色的成員在一定時間內(nèi)的所收到的反饋是非常頻繁的。正因為這種頻繁的反饋,造就了程序的健壯性和穩(wěn)定性。
第五,因為開源社區(qū)往往采用模塊化開發(fā)方式。如果某一模塊在設計、開發(fā)、完善的過程中出現(xiàn)了問題,這些問題不會影響到其他模塊而導致整個產(chǎn)品生命的終結。且開源社區(qū)具備自組織的結構邏輯,其中沒有絕對的權利控制角色,參與是完全開放的,因此開源產(chǎn)品并不會因為某一個體的退出而消亡,相反,在社區(qū)內(nèi)很快會出現(xiàn)新的替代成員或者方案。
四、解讀
如上所述,開源社區(qū)的參與是開放的,有著“自下而上”的組織結構,具備較快的產(chǎn)品更新速度,且能夠?qū)嵤┢叫虚_發(fā)。這些特征能夠使用復雜自適應系統(tǒng)的變異、交互、選擇三個機制進行解讀。
參與開放:參與開放使得開源社區(qū)的決策靈活多變,產(chǎn)品演化的自由度較高。顯然,這一特性是變異機制的體現(xiàn)。參與開放性使得成員的貢獻積極性不高,成員之間的競爭程度相對較低,這可被解讀為選擇機制和規(guī)則的不成熟,環(huán)境對主體的選擇不能適當?shù)剡M行。為調(diào)動成員的積極性,開源社區(qū)往往會提升軟件新版本的發(fā)布頻率。為實現(xiàn)新版本中的新功能和特性,成員與成員、成員與社區(qū)之間必須進行新的交互與溝通從而提升了主體間的交互頻率。
“自下而上”的組織結構:開源社區(qū)的決策權力是分散化的。權利的分散使得信息的流通更為通暢、自由。如將開源系統(tǒng)看作一個復雜自適應系統(tǒng),那么“自下而上”的組織結構增強了主體之間的交互溝通機制。但該組織結構也導致開源社區(qū)在產(chǎn)品的發(fā)展方向上產(chǎn)生分歧,這種負面效應是開源社區(qū)這一復雜自適應系統(tǒng)的變異過程。為減少這種負面效應所帶來的影響,開源社區(qū)會自發(fā)產(chǎn)生領導團隊。領導團隊負責維系各成員間的聯(lián)系,監(jiān)督、協(xié)調(diào)各小組的開發(fā)、維護工作,決定產(chǎn)品的發(fā)展方向。因此,在開源社區(qū)內(nèi)領導團隊實施了對產(chǎn)品的選擇過程。
相對較快的開發(fā)速度:相對較快的開發(fā)速度使得頻繁發(fā)布產(chǎn)品新版本成為可能。產(chǎn)品不斷地更新是自適應復雜系統(tǒng)的變異過程。但是太過頻繁的新產(chǎn)品發(fā)布,導致新產(chǎn)品得不到用戶的充分測試,意味著使用者與開發(fā)者、開發(fā)者與開發(fā)者之間的、針對同一產(chǎn)品的交互溝通不能充分順暢地進行。為彌補這一缺陷,開源社區(qū)采用雙開發(fā)路徑:一條路徑負責不斷開發(fā)新的產(chǎn)品版本,另一條路徑負責改進舊的版本使其更加穩(wěn)定、健壯。這種開發(fā)路徑是對開源社區(qū)內(nèi)的人力、物力進行選擇的結果:哪些資源適合開發(fā)新的版本,哪些資源適合維護改進舊的版本。
平行開發(fā):平行開發(fā)使得開源社區(qū)能夠針對同一問題同時實施多種不同的解決方案,這一過程是自適應復雜系統(tǒng)變異過程的結果。但是由此也帶來問題:同時實施幾種不同的解決方案使得經(jīng)濟成本、管理成本指數(shù)上升,而且不同方案之間不兼容幾率大大增加。這種負面影響是由主體之間的交互不暢造成的。為減少由此帶來的負面影響,開源社區(qū)會采取模塊化的開發(fā)方式:將一個產(chǎn)品劃分成幾個功能不同、相互耦合程度較低的模塊,各小組針對不同的模塊實施開發(fā)。將開發(fā)過程進行模塊化地劃分,是自適應復雜系統(tǒng)實施選擇功能的過程。
結語:開源社區(qū)具有自組織的結構邏輯,能夠根據(jù)周圍環(huán)境的變化不斷調(diào)整自身行為以最大程度地適應環(huán)境,具有復雜自適應系統(tǒng)的顯著特種。因此,用復雜自適應系統(tǒng)理論來分析開源社區(qū)有著較強的現(xiàn)實意義。本文用復雜自適應系統(tǒng)的變異、選擇、交互理論對開源社區(qū)的基本特點進行了解讀。使用復雜自適應系統(tǒng)理論來優(yōu)化一個開源社區(qū)的組織機制為本文作者的下一個研究方向。
參考文獻:
[1] 許國志.系統(tǒng)科學[M].上??萍冀逃霭嫔?2000.
[2]何大韌.復雜系統(tǒng)與復雜網(wǎng)絡[M].高等教育出版社 ,2009
endprint