• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      開源軟件社區(qū)開發(fā)者合作網(wǎng)絡穩(wěn)定性研究
      ——以AngularJS為例

      2020-09-24 07:44:12盧冬冬盛永祥
      復雜系統(tǒng)與復雜性科學 2020年3期
      關鍵詞:子項目網(wǎng)絡結(jié)構(gòu)開發(fā)者

      盧冬冬,吳 潔,劉 鵬,盛永祥

      (江蘇科技大學經(jīng)濟管理學院,江蘇 鎮(zhèn)江 212003)

      0 引言

      隨著信息技術的發(fā)展,開源軟件逐漸興起,如騰訊、阿里巴巴等公司也大力開展各自的開源軟件項目。與傳統(tǒng)的商業(yè)軟件開發(fā)不同的是,開源軟件項目往往是由眾多開發(fā)者通過開源軟件社區(qū)自發(fā)進行交流和分工合作[1],促進集體智慧的涌現(xiàn)。其中,開源軟件社區(qū)具有開放特性,這使得項目參與者能夠自由進入或退出項目[2]。這種自組織模式下人員的流動性對社區(qū)中開發(fā)者之間交互合作關系具有重要影響[3]。一旦出現(xiàn)人員大規(guī)模流失則會導致項目開發(fā)進程存在巨大風險。因此,探究開發(fā)者合作網(wǎng)絡在面臨人員流失時的穩(wěn)定性具有重要意義,有利于促進這種大規(guī)模、自組織的創(chuàng)新系統(tǒng)中集體智慧的涌現(xiàn)。

      已有的開源軟件社區(qū)相關研究中,學者們多從網(wǎng)絡視角構(gòu)建了開發(fā)者協(xié)作網(wǎng)絡并分析了開發(fā)者之間的合作模式、協(xié)調(diào)機制以及開發(fā)者的角色劃分等。何鵬等[4]研究發(fā)現(xiàn)開源軟件中開發(fā)者的偏好連接模型。劉鵬等[5]研究發(fā)現(xiàn)開發(fā)者協(xié)作關系表現(xiàn)出傾向性連接、同質(zhì)相吸、差異偏好相結(jié)合的特征。廖志芳等[6]研究發(fā)現(xiàn)開源軟件社區(qū)中的關鍵用戶行為。夏昊翔等[7]研究發(fā)現(xiàn)子項目與社區(qū)具有顯著的相關性。Nakakoji等[8]研究發(fā)現(xiàn)角色可以根據(jù)項目類型劃分為8類。汪文娟等[9]研究發(fā)現(xiàn)項目演化過程中存在5種開發(fā)者類型。

      而開源軟件社區(qū)中關于開發(fā)者合作網(wǎng)絡穩(wěn)定性的研究則相對較少,與之相關的合作網(wǎng)絡穩(wěn)定性研究有:Osterloh等[10]研究發(fā)現(xiàn)社區(qū)人員專業(yè)和關注點的多樣化能夠更好地維持網(wǎng)絡穩(wěn)定性。李晨光等[11]研究發(fā)現(xiàn)保護中度節(jié)點能很好地提高產(chǎn)學研創(chuàng)新網(wǎng)絡的穩(wěn)定性。Yu等[12]研究發(fā)現(xiàn)協(xié)同創(chuàng)新網(wǎng)絡的穩(wěn)定性的最優(yōu)化模型。George Wood[13]研究發(fā)現(xiàn)犯罪合作網(wǎng)絡面對攻擊顯得更加脆弱。張曉冬等[14,15]研究發(fā)現(xiàn)不同階段開源產(chǎn)品社區(qū)知識協(xié)作網(wǎng)絡的穩(wěn)定性不同。

      可見,目前關于網(wǎng)絡穩(wěn)定性的研究中多從網(wǎng)絡的結(jié)構(gòu)穩(wěn)定性角度進行衡量,但開源軟件社區(qū)實質(zhì)是以軟件產(chǎn)品為導向的開發(fā)者協(xié)同社區(qū),如果把該系統(tǒng)的某些特性僅僅歸結(jié)于網(wǎng)絡的結(jié)構(gòu)作用往往具有一定的局限性,因此也需要從社區(qū)成員的創(chuàng)新產(chǎn)出即網(wǎng)絡的功能角度考慮網(wǎng)絡穩(wěn)定性。并且已有的研究中對于節(jié)點類型也是同等程度的對待,而社區(qū)中成員屬性不同會導致不同的角色類型。

      由此,本文以當前較為流行的一個開源前端JavaScript框架AngularJS項目為例,收集其在GitHub上托管的項目庫中的提交數(shù)據(jù)。依據(jù)代碼修訂關系構(gòu)建開發(fā)者合作網(wǎng)絡,從結(jié)構(gòu)與功能兩個角度對開發(fā)者節(jié)點進行不同類型的劃分,研究不同類型開發(fā)者流失對開發(fā)者合作網(wǎng)絡結(jié)構(gòu)和功能穩(wěn)定性的影響。從而對已有研究進行補充,為項目管理者提供建議。

      1 AngularJS開發(fā)者合作網(wǎng)絡分析

      1.1 數(shù)據(jù)來源與網(wǎng)絡構(gòu)建

      AngularJS是由Misko Hevery等人創(chuàng)建,后被Google收購的一款優(yōu)秀的開源前端JavaScript框架。該項目和大量開源軟件一樣通過GIT版本控制系統(tǒng)在GitHub托管其項目庫[16],GitHub是一個面向開源及私有軟件項目的托管平臺,開發(fā)者通過GIT命令進行代碼的提交、審核和修改等工作。本文從GitHub克隆了AngularJS的7個主要子項目庫,時間跨度為2010年8月(項目初始期)到2019年1月(本研究數(shù)據(jù)提取截止期)。提取代碼提交記錄共計38 764條,這些記錄包含了開發(fā)者姓名、郵箱、提交日期、修改文件量、修改文件名稱以及代碼增減行數(shù)。在此基礎上,通過Python編程抽取開發(fā)者代碼修訂關系,在同一版本時期內(nèi),針對同一文件進行代碼提交的成員存在合作行為??紤]到開發(fā)者姓名可能會出現(xiàn)重復的問題,以郵箱作為識別開發(fā)者的唯一標識。將開發(fā)者視為節(jié)點,每個版本內(nèi)的合作關系視為連邊,構(gòu)建開發(fā)者合作網(wǎng)絡。運用Gephi軟件對開發(fā)者合作網(wǎng)絡可視化處理,構(gòu)建方法及可視化如圖1所示。

      圖1 開發(fā)者合作網(wǎng)絡構(gòu)建方法及可視化Fig.1 The method and visualization of the developer collaboration network

      1.2 開發(fā)者合作網(wǎng)絡結(jié)構(gòu)分析

      表1給出了所構(gòu)建的開發(fā)者合作網(wǎng)絡的拓撲特征,可見該合作網(wǎng)絡中節(jié)點數(shù)為3 982,說明從項目初始期累積到現(xiàn)在共計3 982名開發(fā)者對該項目貢獻過自己的知識,能夠充分體現(xiàn)開源軟件社區(qū)中的集體智慧。平均聚類系數(shù)為0.66,平均最短路徑長度為4.135,說明該網(wǎng)絡符合小世界特性;模塊度為0.593則說明該合作網(wǎng)絡中存在明顯的社區(qū)結(jié)構(gòu)。圖2為雙對數(shù)坐標下的節(jié)點度分布,基本符合冪律分布,可以看出網(wǎng)絡中存在大量的低度節(jié)點以及少量的高度節(jié)點,說明開源軟件社區(qū)開發(fā)者合作網(wǎng)絡存在核心邊緣結(jié)構(gòu)[17-18],核心成員間的緊密協(xié)作能夠促進社區(qū)創(chuàng)新產(chǎn)出的不斷增長。

      圖2 度分布Fig.2 The degree distribution

      表1 開發(fā)者合作網(wǎng)絡拓撲參數(shù)Tab.1 Topology parameters of developer collaboration network

      1.3 開發(fā)者合作網(wǎng)絡功能分析

      AngularJS包含多個子項目庫,分別存放各自子項目的代碼。開發(fā)者在進行代碼提交時,其修改或提交內(nèi)容都需要被項目維護者進行比較和挑選,最優(yōu)的內(nèi)容才會被加入到原有項目庫中,因此被記錄下來的開發(fā)者在各子項目上的提交行為都是具有價值的。若將各開發(fā)者的提交次數(shù)視為貢獻度,那么該開發(fā)者在各子項目的提交次數(shù)總和則為該開發(fā)者的總貢獻度。如圖3所示,開發(fā)者pete@bacondarwin.com在angular子項目庫中共進行了1 000次貢獻(代碼提交),以此類推在其他子項目庫的貢獻,可以看出該開發(fā)者參與知識貢獻的子項目數(shù)量為5,未參與的子項目數(shù)量為2個。

      圖3 開發(fā)者對子項目貢獻度度量方法示意Fig.3 The measurement method of the developer′s contribution to the subproject

      由此可以使用二維列聯(lián)表表示各開發(fā)者對子項目的知識貢獻度,并在此基礎上計算出各開發(fā)者和各子項目總貢獻度以及各開發(fā)者參與子項目的個數(shù),如表2、表3所示。研究表明大部分開發(fā)者只會參與其中一個子項目,而少數(shù)開發(fā)者對多個子項目進行知識貢獻活動,并且各開發(fā)者都會對自己相對比較關注的子項目貢獻大量的知識。各子項目也因其自身特點和代碼工作量的原因,所需的知識貢獻量存在較大差異。并且各子項目都存在對應的核心開發(fā)者貢獻了大量的知識維持其功能穩(wěn)定性。

      表2 開發(fā)者與子項目二維列聯(lián)表Tab.2 Two-dimensional contingency table for developer and subproject

      表3 參與子項目人數(shù)統(tǒng)計Tab.3 Participation number of subprojects

      2 節(jié)點類型劃分

      2.1 節(jié)點類型結(jié)構(gòu)劃分

      傳統(tǒng)意義上的節(jié)點重要性排序僅僅考慮節(jié)點度的大小,但節(jié)點的重要性往往還和節(jié)點所處的網(wǎng)絡位置有關。該開源軟件社區(qū)開發(fā)者合作網(wǎng)絡模塊度較高,說明網(wǎng)絡中存在明顯的社區(qū)結(jié)構(gòu),因此要考慮到節(jié)點所在模塊內(nèi)部以及節(jié)點與其他模塊之間的聯(lián)系。參照Guimera[19]提出的節(jié)點類型劃分算法,引入模塊內(nèi)參與度Z和參與系數(shù)P,用這兩個指標考慮節(jié)點在網(wǎng)絡結(jié)構(gòu)中的重要性。

      模塊內(nèi)參與度:

      (1)

      參與系數(shù):

      (2)

      式(2)用于度量節(jié)點與其他模塊的連接程度,其中NM表示整個網(wǎng)絡中模塊的個數(shù),kis表示節(jié)點在模塊s中的度,ki表示節(jié)點i在整個網(wǎng)絡中的度。如果一個節(jié)點的連接在所有模塊中均勻分布,那么它的參與系數(shù)接近于1,如果它的所有連接都在自己的模塊中,那么它的參與系數(shù)為0。

      圖4顯示了模塊內(nèi)參與度和參與系數(shù)分布,由圖4可以看出節(jié)點大多位于圖的左半部分。結(jié)合圖5模塊內(nèi)參與度分布圖也可以發(fā)現(xiàn),高Z值節(jié)點數(shù)量少,低Z值節(jié)點數(shù)量多,Z<2節(jié)點分布密集,Z>2節(jié)點分布稀疏,說明網(wǎng)絡中的大部分節(jié)點模塊內(nèi)參與度小于2。因此本文將Z>2視為模塊中心節(jié)點,共計107,占比3.67%。Z<2視為模塊邊緣節(jié)點。

      圖4 模塊內(nèi)參與度和參與系數(shù)分布圖Fig.4 Z and P distribution

      圖5 模塊內(nèi)參與度分布Fig.5 Z distribution

      參與系數(shù)P描述了節(jié)點與其他模塊的連接程度,因此可進一步根據(jù)節(jié)點參與系數(shù)P的大小劃分節(jié)點類型。

      2)協(xié)調(diào)中心節(jié)點:Zi≥2,節(jié)點擁有較大的度,并且節(jié)點和其他各模塊連接較好,能協(xié)調(diào)各模塊之間的工作,因此其參與系數(shù)Pi>0.3節(jié)點劃分為協(xié)調(diào)中心節(jié)點。

      3)局部邊緣節(jié)點:Zi<2,該節(jié)點沒有較大的度且該節(jié)點至少70%的邊都在其模塊內(nèi)部,Pi<0.5,則稱這種節(jié)點為一般節(jié)點。

      4)協(xié)調(diào)邊緣節(jié)點:Zi<2,Pi>0.5,該節(jié)點可能沒有擁有較大的度,但它能和其他模塊之間連接相對較好,則稱這種節(jié)點為一般協(xié)調(diào)節(jié)點。

      另外,網(wǎng)絡中存在很多度為0的節(jié)點,這類節(jié)點不存在模塊內(nèi)參與度和參與系數(shù),因此將這類節(jié)點稱為孤立節(jié)點,共計1 057個節(jié)點。

      2.2 節(jié)點類型功能劃分

      從功能角度出發(fā),上文中表2表3可以發(fā)現(xiàn)大部分的開發(fā)者只會參與1個子項目,少數(shù)的開發(fā)者會積極參與多個子項目。已有研究中發(fā)現(xiàn)參與多個子項目,在子項目之間游走的可能是核心開發(fā)者為了協(xié)調(diào)子項目或為新項目提供支持也可能是其他開發(fā)者(特別是新加入的開發(fā)者)[7,20],因此可將知識貢獻度和參與子項目的個數(shù)兩個指標考慮進來。

      圖6給出了雙對數(shù)下整個項目社區(qū)中的所有開發(fā)者節(jié)點的貢獻度圖,可見開發(fā)者節(jié)點間的知識貢獻分布不均,高貢獻度的開發(fā)者節(jié)點較少。為了方便起見,將100作為區(qū)別核心開發(fā)者和一般開發(fā)者的臨界點。貢獻度高于100共計65人,占比1.6%,視為核心節(jié)點。貢獻度低于100的成員視為一般節(jié)點。然后根據(jù)參與子項目個數(shù)進一步對節(jié)點類型劃分,假設參與子項目不止一個的為多子項目節(jié)點,只參與一個子項目的為單子項目節(jié)點。至此,從功能角度將節(jié)點分為多子項目核心節(jié)點、多子項目一般節(jié)點、單子項目核心節(jié)點和單子項目一般節(jié)點。

      圖6 開發(fā)者的貢獻度Fig.6 Developer′s contribution

      綜上,從結(jié)構(gòu)和功能兩個角度對節(jié)點進行類型劃分,結(jié)果如表4所示。

      表4 節(jié)點類型劃分結(jié)果Tab.4 Division result for types of node

      3 網(wǎng)絡穩(wěn)定性分析

      3.1 穩(wěn)定性指標

      通常被用來衡量網(wǎng)絡性能的指標有網(wǎng)絡聚類系數(shù)、平均最短路徑、最大連通圖、網(wǎng)絡效率等[21]。而網(wǎng)絡拓撲結(jié)構(gòu)中最大連通子圖能夠衡量項目開發(fā)者之間合作關系的緊密性,當最大連通子圖瓦解甚至崩潰,則表明合作網(wǎng)絡中各模塊之間失去聯(lián)系,網(wǎng)絡受到了嚴重的破壞。因此本文擬采用最大連通子圖相對大小S,來衡量網(wǎng)絡的結(jié)構(gòu)穩(wěn)定性。

      最大連通子圖相對大?。?/p>

      (3)

      式(3)中N表示網(wǎng)絡中的節(jié)點總數(shù),N′表示最大連通子圖中的節(jié)點數(shù)。最大連通子圖相對大小表示開發(fā)者合作網(wǎng)絡的人員之間的緊密聯(lián)系,S越大代表各開發(fā)者之間合作程度越高,合作關系越緊密,開發(fā)者之間存在一定的相互替代作用,那么這種合作網(wǎng)絡結(jié)構(gòu)比較穩(wěn)定,人員流失不會對系統(tǒng)內(nèi)開發(fā)者之間的關系造成太大的影響。

      另一方面,通??捎眉夹g能力、知識貢獻等來衡量系統(tǒng)的功能特性[22],開發(fā)者通過代碼提交貢獻自己的知識,促成項目的成功。因此可將項目的貢獻度視為開發(fā)者合作網(wǎng)絡功能穩(wěn)定性指標,倘若某個開發(fā)者離開后,項目的貢獻度驟減,則表明該開發(fā)者的離開會阻礙項目的開發(fā)進程。

      3.2 網(wǎng)絡結(jié)構(gòu)和功能穩(wěn)定性分析

      基于本文從結(jié)構(gòu)和功能兩個角度對開發(fā)者類型的劃分,進而引入一個問題:從網(wǎng)絡結(jié)構(gòu)角度和功能角度考慮開發(fā)者的重要性對網(wǎng)絡結(jié)構(gòu)和功能穩(wěn)定性的影響是否具有一致性?因此,重復移除重要性排序下前50個節(jié)點,模擬開發(fā)者的流失,以探究3個指標重要性排序下節(jié)點對網(wǎng)絡結(jié)構(gòu)穩(wěn)定性和功能穩(wěn)定性的影響。

      由圖7和圖8可知:總體而言,在面臨貢獻度大小和Z大小排序下節(jié)點流失對網(wǎng)絡結(jié)構(gòu)和功能的影響都大于P大小排序下節(jié)點流失的影響。當流失1 000個成員,僅占總?cè)藬?shù)1/3時,網(wǎng)絡中最大連通子圖相對大小和總貢獻度也都逐漸趨向于0。

      圖7 3種指標排序下節(jié)點移除對網(wǎng)絡結(jié)構(gòu)穩(wěn)定性的影響Fig.7 The effect of node removal on the stability of network structure under the ordering of three indicators

      圖8 3種指標排序下節(jié)點移除對網(wǎng)絡功能穩(wěn)定性的影響Fig.8 The effect of node removal on the stability of network functions under the ordering of three indicators

      在結(jié)構(gòu)穩(wěn)定性方面:當移除前250個節(jié)點,按Z大小排序和按貢獻度排序策略下,最大連通子圖相對大小下降幅度基本保持一致。超過250個節(jié)點后,按Z大小排序移除節(jié)點時最大連通子圖相對大小下降速度明顯比按貢獻度大小排序移除節(jié)點時速度快。而按P大小排序移除時,最大連通子圖相對大小雖一開始沒有其他兩種策略下降速度快,但也比按貢獻度大小排序策略先降為0。

      在功能穩(wěn)定性方面:3種策略下移除節(jié)點時,項目總貢獻度下降速度最快的始終是按貢獻度大小排序移除節(jié)點策略。按Z大小排序移除節(jié)點時,項目總貢獻度下降速度先快后慢。而按P大小排序移除節(jié)點時,項目總貢獻度下降速度雖忽快忽慢,但也整體呈現(xiàn)出先快后慢的趨勢。

      由此可見,相較于連接多個社區(qū)模塊,社區(qū)成員與其內(nèi)部模塊成員間的聯(lián)系更緊密時更能維持最大連通子圖的大小,能夠占據(jù)網(wǎng)絡結(jié)構(gòu)中心位置。而從網(wǎng)絡功能的角度即知識貢獻的角度出發(fā),占據(jù)網(wǎng)絡結(jié)構(gòu)中心位置的成員并不一定是知識貢獻最多的成員。說明開源軟件社區(qū)中成員結(jié)構(gòu)屬性與功能屬性具有不對稱性。這導致知識協(xié)作網(wǎng)絡的結(jié)構(gòu)穩(wěn)定性與功能穩(wěn)定性也具有一定程度的不一致性。

      3.3 不同類型節(jié)點對網(wǎng)絡穩(wěn)定性影響

      本文對AngularJS開發(fā)者合作網(wǎng)絡節(jié)點進行角色類型劃分,不同類型開發(fā)者的流失對網(wǎng)絡穩(wěn)定性的影響值得我們進一步探索。因此,重復移除每種類型重要性排序下前10的節(jié)點,模擬不同類型開發(fā)者的流失。并將結(jié)果與傳統(tǒng)的按度大小排序進行對比。

      圖9和圖10可見:按度大小排序的開發(fā)者的流失策略下對網(wǎng)絡結(jié)構(gòu)穩(wěn)定性的影響始終都不是最大的,說明本文對于節(jié)點類型劃分進行穩(wěn)定性分析是有必要的,具有一定的意義。

      圖9 不同類型開發(fā)者對網(wǎng)絡結(jié)構(gòu)穩(wěn)定性影響Fig.9 Impact of different types of developers turnover on network structure stability

      圖10 不同類型開發(fā)者對網(wǎng)絡功能穩(wěn)定性影響Fig.10 Impact of different types of developers turnover on network function stability

      從結(jié)構(gòu)角度劃分的節(jié)點類型來看,協(xié)調(diào)中心節(jié)點流失策略對網(wǎng)絡結(jié)構(gòu)和功能穩(wěn)定性影響最大。局部中心節(jié)點流失策略下對網(wǎng)絡結(jié)構(gòu)穩(wěn)定性的影響較大,但對于網(wǎng)絡功能穩(wěn)定性的影響相對較小。而協(xié)調(diào)邊緣節(jié)點流失策略下,只有排序前十的節(jié)點流失后對網(wǎng)絡結(jié)構(gòu)穩(wěn)定性的影響較大,對功能穩(wěn)定性的影響始終相對較小。說明:網(wǎng)絡中協(xié)調(diào)中心節(jié)點最為重要,這類節(jié)點同時具有較大的Z值和P值,既能夠成為其模塊的中心又能夠和其他模塊間保持較好的聯(lián)系,同時這類開發(fā)者還為項目貢獻了大量的知識;當節(jié)點具有較大的Z值和較小的P值時,這類節(jié)點雖在網(wǎng)絡中占據(jù)著重要的位置,但其知識貢獻量相對較少;當節(jié)點擁有較大P值和較小Z值,這類節(jié)點中存在少部分的節(jié)點占據(jù)網(wǎng)絡中的重要位置,但其知識貢獻量均相對較少;當節(jié)點擁有較小Z值和P值的節(jié)點,這類節(jié)點則對于網(wǎng)絡穩(wěn)定性的影響不大。

      從功能角度劃分的節(jié)點類型來看,除了多子項目核心節(jié)點流失策略對網(wǎng)絡結(jié)構(gòu)和功能穩(wěn)定性的影響較大以外,其余各類型的節(jié)點流失策略對網(wǎng)絡穩(wěn)定性的影響都相對較小。將多子項目核心節(jié)點流失策略與結(jié)構(gòu)角度劃分的節(jié)點類型流失策略進行比較,可以發(fā)現(xiàn):雖然其對網(wǎng)絡功能穩(wěn)定性的影響是所有策略中最大的,但其對網(wǎng)絡結(jié)構(gòu)穩(wěn)定性的影響卻沒有協(xié)調(diào)中心節(jié)點、局部中心節(jié)點和部分協(xié)調(diào)邊緣節(jié)點流失策略的影響大。這說明網(wǎng)絡中參與多個子項目,并且貢獻量也較大的開發(fā)者在項目開發(fā)進程中知識貢獻量是無可替代的,也能夠占據(jù)網(wǎng)絡中較為核心的位置,但對網(wǎng)絡結(jié)構(gòu)影響卻不是最大的。究其原因:該類開發(fā)者完成的大部分的工作往往由多個開發(fā)者共同完成或由其單獨完成,若由多個開發(fā)者共同完成時,該類開發(fā)者離開后剩余開發(fā)者仍能形成相互協(xié)作關系,能保持該協(xié)作網(wǎng)絡的連通性;而當由其單獨完成時,這時就不存在相應的協(xié)作關系,也就不會對該合作網(wǎng)絡結(jié)構(gòu)造成影響。但是這類成員參與多個子項目通常是對各子項目提供技術支持或協(xié)調(diào)各子項目的工作,因此這種類型的開發(fā)者一旦離開,不僅會影響整個項目的協(xié)調(diào)性,甚至可能會造成某些子功能模塊缺乏維護人員,進而造成軟件開發(fā)進程的滯停,影響社區(qū)創(chuàng)新產(chǎn)出,需要重點關注。

      綜上所述,并非如以往研究中認為的度越大的節(jié)點對網(wǎng)絡穩(wěn)定性維持越好,因此有必要對開發(fā)者節(jié)點進行類型劃分。不同類型開發(fā)者對網(wǎng)絡穩(wěn)定性影響不同。當關注網(wǎng)絡結(jié)構(gòu)穩(wěn)定性時,應重點關注協(xié)調(diào)中心成員、局部中心成員和多子項目核心成員;當關注網(wǎng)絡功能穩(wěn)定性時,多子項目的核心成員和協(xié)調(diào)社區(qū)模塊的中心成員會積極貢獻大量知識;而在社區(qū)發(fā)展過程中則應綜合關注網(wǎng)絡結(jié)構(gòu)和功能穩(wěn)定性,重點關注協(xié)調(diào)中心成員和多子項目核心成員。

      4 結(jié)論與展望

      本文以開源軟件項目AngularJS為例,通過收集到代碼修訂關系,抽取版本時間內(nèi)的開發(fā)者合作關系,構(gòu)建了開發(fā)者合作網(wǎng)絡,并從網(wǎng)絡結(jié)構(gòu)和功能兩個角度對節(jié)點類型進行劃分,分析了不同類型開發(fā)者的流失對網(wǎng)絡結(jié)構(gòu)和功能穩(wěn)定性的影響。得到以下幾點結(jié)論:

      1)開源軟件社區(qū)開發(fā)者合作網(wǎng)絡具有核心邊緣結(jié)構(gòu),核心成員間的合作關系對項目的開發(fā)進程具有重要作用。其次,社區(qū)中的大部分開發(fā)者都僅僅是偶爾參與了項目,僅有少數(shù)開發(fā)者會持續(xù)性的參與項目的開發(fā)進程,并且大多數(shù)的開發(fā)者只會參與其中一個子項目,參與多子項目的成員相對較少。

      2)開發(fā)者的結(jié)構(gòu)屬性與功能屬性具有不對稱性,這導致開發(fā)者合作網(wǎng)絡結(jié)構(gòu)穩(wěn)定性與功能穩(wěn)定性具有不一致性。占據(jù)網(wǎng)絡結(jié)構(gòu)中心位置,能很好地維持網(wǎng)絡中節(jié)點間合作關系的開發(fā)者并不一定是知識貢獻最多的開發(fā)者;度大的開發(fā)者也不一定是網(wǎng)絡中最重要的開發(fā)者。

      3)開源軟件社區(qū)存在多種類型的開發(fā)者。不同類型開發(fā)者特點如下:從結(jié)構(gòu)角度來看,高Z值高P值的節(jié)點知識貢獻量相對較多,而高Z值低P值、低Z值高P值、低Z值低P值的節(jié)點知識貢獻量則相對較少;從功能角度來看,多子項目的核心開發(fā)者能夠占據(jù)網(wǎng)絡的中心位置,知識貢獻量也相對較大,其余類型的開發(fā)者則既沒有占據(jù)網(wǎng)絡中心位置,知識貢獻量也相對較少。

      4)不同類型的開發(fā)者對網(wǎng)絡穩(wěn)定性的影響不同。在社區(qū)的發(fā)展的過程中,項目管理者要在網(wǎng)絡的結(jié)構(gòu)穩(wěn)定性和功能穩(wěn)定性雙重視角下重點關注高Z值和高P值的協(xié)調(diào)中心開發(fā)者以及多子項目核心開發(fā)者。

      基于上述對于網(wǎng)絡穩(wěn)定性的影響研究,不難看出社區(qū)中最重要的開發(fā)者類型、各類型開發(fā)者的結(jié)構(gòu)和功能屬性特點。一方面是對于自組織模式下成員間協(xié)作行為研究和穩(wěn)定性研究的豐富,另一方面也能夠?qū)ζ髽I(yè)參與開源活動提供管理建議。但本文存在以下幾點局限:只是以AngularJS為例進行研究,這種結(jié)論是否滿足其他大型開源軟件項目值得進一步探究,另外本文對于穩(wěn)定性的探究僅考慮靜態(tài)影響,不同類型開發(fā)者的流失是否會導致一系列的級聯(lián)失效問題也值得進一步探究。

      猜你喜歡
      子項目網(wǎng)絡結(jié)構(gòu)開發(fā)者
      服務進程中消費者對子項目順序的遵從性研究
      活性炭為中心綜合項目總體布局
      山西化工(2021年4期)2021-01-25 14:15:18
      基于案例的電子技術實踐教學內(nèi)容與教學設備的設計
      16%游戲開發(fā)者看好VR
      CHIP新電腦(2016年3期)2016-03-10 13:06:42
      基于互信息的貝葉斯網(wǎng)絡結(jié)構(gòu)學習
      知識網(wǎng)絡結(jié)構(gòu)維對于創(chuàng)新績效的作用機制——遠程創(chuàng)新搜尋的中介作用
      滬港通下A+ H股票網(wǎng)絡結(jié)構(gòu)演化的實證分析
      復雜網(wǎng)絡結(jié)構(gòu)比對算法研究進展
      iOS開發(fā)者調(diào)查
      電腦迷(2015年8期)2015-05-30 12:27:10
      iOS開發(fā)者調(diào)查
      電腦迷(2015年4期)2015-05-30 05:24:09
      桃园市| 额尔古纳市| 武威市| 台安县| 张家界市| 商丘市| 陆河县| 芒康县| 桃园县| 耿马| 探索| 通渭县| 大方县| 宁南县| 巴中市| 信宜市| 博爱县| 东辽县| 平谷区| 都兰县| 修文县| 阿拉善右旗| 佳木斯市| 台北市| 彭山县| 常宁市| 松原市| 阜平县| 惠水县| 建平县| 会东县| 罗城| 肥城市| 新竹市| 河曲县| 柳江县| 隆尧县| 永城市| 桐梓县| 布拖县| 呼伦贝尔市|