亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        衡量開源軟件用戶的同伴支持的有效性

        2008-12-31 00:00:00葉青青
        計(jì)算機(jī)教育 2008年18期

        文章編號(hào):1672-5913(2008)18-0079-03

        摘要:本文以兩個(gè)開源軟件用戶社區(qū)為例,闡述對(duì)開源軟件社區(qū)的同伴支持現(xiàn)象進(jìn)行系統(tǒng)分析的方法,并提出衡量同伴支持有效性的一系列度量標(biāo)準(zhǔn)和計(jì)算方式。

        關(guān)鍵詞:同伴支持;開源軟件;度量標(biāo)準(zhǔn)

        中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B

        大多數(shù)開源軟件都伴有由用戶構(gòu)成的社區(qū),這些用戶社區(qū)為用戶提供知識(shí)共享的平臺(tái),用戶通過(guò)這些社區(qū)獲得同伴用戶的支持。但是對(duì)于基于這些用戶社區(qū)的同伴支持的有效性并沒(méi)有系統(tǒng)的研究。本文以兩個(gè)開源軟件用戶社區(qū)為例,闡述對(duì)開源軟件社區(qū)的同伴支持現(xiàn)象進(jìn)行系統(tǒng)分析的方法,并提出衡量同伴支持有效性的一系列度量標(biāo)準(zhǔn)和計(jì)算方式。這些度量標(biāo)準(zhǔn)可提供應(yīng)選擇使用開源軟件時(shí)的參考指標(biāo)。

        1樣本社區(qū)

        為了便于說(shuō)明,我們選擇apache軟件基金會(huì)開發(fā)的ant和lucene-java兩個(gè)開源軟件作為說(shuō)明本文提出的分析方法和度量指標(biāo)的分析樣本。Ant是一個(gè)支持軟件編譯、測(cè)試、部署等過(guò)程的自動(dòng)化工具,和unix系統(tǒng)的make具有類似的功能,但對(duì)java開發(fā)提供了特定的支持,已成為java開發(fā)者不可或缺的開發(fā)工具。Lucene提供了一套生成全文索引和全文檢索的軟件庫(kù),其中最主要的是其java類庫(kù),通稱lucene-

        java。包括Eclipse在內(nèi)的很多java軟件都使用了lucene-java作為其后臺(tái)的全文檢索引擎。這兩個(gè)開源軟件都是比較成熟的軟件,有大量的用戶和穩(wěn)定的社區(qū),可為我們對(duì)開源軟件的同伴支持現(xiàn)象的分析提供代表性的數(shù)據(jù)。這兩個(gè)開源軟件的用戶主要利用面向用戶的郵件討論組(user@ant.apache.org和java-user@lucene.apache.org)交換知識(shí),獲得同伴用戶的支持。我們從http://ant.apache.org和http://lucene.apache.org/收集了這兩個(gè)郵件討論組的1995年至1997年的3年間的全部郵件存檔,對(duì)其中的用戶支持現(xiàn)象進(jìn)行分析。

        2數(shù)據(jù)庫(kù)生成

        為了自動(dòng)生成下節(jié)引入的各種度量標(biāo)準(zhǔn),對(duì)同伴支持做定量、系統(tǒng)化的分析,首先要從郵件存檔生成一個(gè)數(shù)據(jù)庫(kù),圖1是該數(shù)據(jù)庫(kù)的模式。生成該數(shù)據(jù)庫(kù)時(shí)面臨的技術(shù)問(wèn)題主要有兩個(gè):同一用戶的確定和討論主題線(thread)的再現(xiàn)。

        2.1同一用戶的確定

        一般而言,一個(gè)電子郵件地址代表一個(gè)用戶,但是很多用戶常常同時(shí)使用多個(gè)電子郵件地址,或因?yàn)楣ぷ鞲鼡Q等原因更換電子郵件地址,比如說(shuō)ant用戶xavier hanin同時(shí)使用了xh@javasoft.fr,xavier.hanin@gmail.com和xavier@apache.

        org三個(gè)不同的地址。為了保證分析的準(zhǔn)確性,我們采用了下列的啟發(fā)式算法確定用戶的身份。

        Step 1: 對(duì)每個(gè)郵件的from域進(jìn)行解析,抽出其中的用戶名字和用戶的電子郵件地址,構(gòu)成當(dāng)前用戶(current_user)的對(duì)。如果from域沒(méi)有用戶名字,那么name為空字符串。

        Step 2: 把current_user的對(duì)插入已確認(rèn)的用戶序列(list_of_users)。在插入時(shí),要把current_user的name和email_address與已經(jīng)在list_of_users中的用戶名字和用戶的郵件地址進(jìn)行逐一比較,如果current_user的name或email_address與其中的一個(gè)相同,就對(duì)用戶身份進(jìn)行合并,僅插入新的name或email_address。經(jīng)過(guò)如此處理得到的list_of_users的各個(gè)元素是一個(gè)用戶名字序列和用戶電子郵件序列,即<(name1, name2, …), (email_address1, email_

        address2, …)>。但由于有重名現(xiàn)象,因此在因?yàn)橛脩裘窒嗤鸷喜r(shí),分析程序會(huì)請(qǐng)求分析人員的確認(rèn)以避免錯(cuò)誤的合并。

        反復(fù)地進(jìn)行上述處理直到?jīng)]有新的身份合并為止。這樣具有多個(gè)郵件地址的用戶都可以被歸并成同一用戶身份,并被賦予一個(gè)唯一的用戶標(biāo)識(shí)代碼user-id,然后在數(shù)據(jù)庫(kù)中為每個(gè)用戶建立一個(gè)數(shù)據(jù)項(xiàng),以u(píng)ser-id為其主要關(guān)鍵字。

        2.2討論主題線的再現(xiàn)

        郵件存檔按郵件討論組服務(wù)器的收發(fā)順序排列郵件,并不直接保存各個(gè)郵件之間的回信關(guān)系,因此生成數(shù)據(jù)庫(kù)的第二個(gè)主要任務(wù)是重構(gòu)電子郵件的主題線,理出各個(gè)郵件之間的回信關(guān)系。每個(gè)郵件都一個(gè)唯一確定的msg-id,用于數(shù)據(jù)庫(kù)中郵件數(shù)據(jù)項(xiàng)的主要關(guān)鍵字。如果郵件含有In-reply-to域,那么根據(jù)該域中的msg-id,很容易知道它是對(duì)那一個(gè)郵件回的信,依次遞歸處理,可以推算出屬于同一個(gè)主題線的所有郵件。

        但是因?yàn)楦鞣N原因,比如說(shuō)有些用戶的郵件處理系統(tǒng)濾掉了In-reply-to域,很多郵件并沒(méi)有In-reply-to域。對(duì)這些郵件,我們采用主題匹配的方式找出其所屬的主題線。首先抽出郵件的主題(Subject)域,刪除如(“Re:”, “Fwd:”, “Aw:”)等由各種語(yǔ)言的郵件處理系統(tǒng)軟件自動(dòng)添加的回信前綴以后,再和已經(jīng)分類的主題線的各個(gè)郵件的主題(Subject)域作比較,如果有相同的主題,則把該郵件歸入到那個(gè)主題線。如果該主題是第一次出現(xiàn),則在數(shù)據(jù)庫(kù)中新建一個(gè)主題線。

        一條主題線算作對(duì)一個(gè)問(wèn)題地討論,因此數(shù)據(jù)庫(kù)中的主題線數(shù)據(jù)項(xiàng)有兩個(gè)基本關(guān)系:提問(wèn)和回復(fù)(圖1)。每個(gè)主題線的第一個(gè)郵件是該線的提問(wèn)郵件,而其他的所有郵件都是回復(fù)郵件。提問(wèn)郵件的發(fā)信人是提問(wèn)者,回復(fù)郵件的發(fā)信人是回復(fù)者。

        3同伴支持分析方法和度量

        有了郵件數(shù)據(jù)庫(kù),我們就可編制簡(jiǎn)單的程序從數(shù)據(jù)庫(kù)中抽出相關(guān)數(shù)據(jù),對(duì)同伴支持作定量的分析。本文提議用回復(fù)率、回復(fù)時(shí)間、支持程度以及社會(huì)網(wǎng)絡(luò)密度等度量來(lái)衡量同伴支持的有效性。

        3.1回復(fù)率

        衡量一個(gè)郵件討論組的有效性的第一個(gè)數(shù)據(jù)是該討論組的回復(fù)率,即用戶提問(wèn)獲得其他用戶回信的百分比。很顯然如果一條主題線只有一個(gè)郵件那么該線的提問(wèn)就沒(méi)有回復(fù)。如果一條主題線的所有郵件都來(lái)自同一個(gè)用戶,那么這一提問(wèn)也沒(méi)有獲得同伴的支持。如表1所示,這兩個(gè)郵件討論組三年來(lái)分別有15557和19305個(gè)郵件,共有4000左右的主題線,大致相當(dāng)于每天有17個(gè)左右的郵件,4條左右的主題線,其中近80%的主題線得到了回復(fù)。而且從表1關(guān)于各個(gè)季度的回復(fù)率分布情況來(lái)看,這一高回復(fù)率相當(dāng)穩(wěn)定,進(jìn)一步表明了開源軟件社區(qū)中同伴支持現(xiàn)象的有效性。

        3.2回復(fù)時(shí)間

        對(duì)每一個(gè)主題線的時(shí)間分析可以得到兩個(gè)重要的度量指標(biāo):第一反應(yīng)時(shí)間和討論長(zhǎng)度。第一反應(yīng)時(shí)間是第一個(gè)回復(fù)郵件和提問(wèn)郵件之間的時(shí)間差,這一度量指標(biāo)揭示一個(gè)問(wèn)題大概在多長(zhǎng)時(shí)間內(nèi)可以得到用戶社區(qū)的幫助。討論長(zhǎng)度是最后一個(gè)回復(fù)郵件和提問(wèn)郵件之間的時(shí)間差,揭示大概要用多長(zhǎng)時(shí)間才能從用戶社區(qū)得到比較完整的幫助。在一般情況下當(dāng)用戶獲得足夠的幫助信息以后一個(gè)討論主題線就結(jié)束了。

        圖2顯示了三年來(lái)兩個(gè)社區(qū)的第一反應(yīng)時(shí)間分布圖。圖中縱軸的百分比是累計(jì)百分比,表示到該時(shí)間內(nèi),提問(wèn)郵件已經(jīng)得到第一個(gè)回復(fù)的百分比(圖中沒(méi)有包括沒(méi)有回復(fù)的主題線)。從圖中可以看出,在24小時(shí)之內(nèi),有90%以上的問(wèn)題已經(jīng)得到了第一個(gè)回復(fù),其中有7.8%(ant-user)和 2.9%(lucene-user)的問(wèn)題在5分鐘內(nèi)就得到了第一個(gè)回復(fù)。圖3顯示了各個(gè)主題線討論的時(shí)間長(zhǎng)度,可以看出90%以上的問(wèn)題在5天之內(nèi)結(jié)束,50%以上的問(wèn)題在12個(gè)小時(shí)之內(nèi)就結(jié)束了。這些度量進(jìn)一步表明兩個(gè)社區(qū)的同伴支持是很活躍的。這兩組數(shù)據(jù)進(jìn)一步表明這兩個(gè)開源軟件社區(qū)的同伴支持活動(dòng)的活躍和有效程度。

        3.3支持強(qiáng)度

        兩個(gè)指標(biāo)可以提供重要的線索衡量用戶在社區(qū)里得到什么程度的支持:每個(gè)主題線的郵件個(gè)數(shù)和每個(gè)主題線的回復(fù)者的個(gè)數(shù)。表2給出了這兩個(gè)度量的最小數(shù),最大數(shù)和各個(gè)四分位數(shù)。從表2可以看出,50%以上的問(wèn)題只涉及2名回復(fù)者,2~3個(gè)回復(fù)郵件。這說(shuō)明用戶的問(wèn)題大多數(shù)是比較簡(jiǎn)單的,只需要極少數(shù)的同伴就可以解決。

        3.4社會(huì)網(wǎng)絡(luò)密度

        對(duì)開源軟件開發(fā)狀況的研究調(diào)查表明,大多數(shù)的軟件源代碼是由極少數(shù)的開發(fā)人員提供的,比如說(shuō)只有少于1%的apche httpd服務(wù)器的用戶曾提供源代碼,可以說(shuō)開源軟件事實(shí)上存在一個(gè)開發(fā)中心。另一方面,去中心化的長(zhǎng)尾(Long tail)也是網(wǎng)絡(luò)時(shí)代的一個(gè)重要特征,長(zhǎng)尾現(xiàn)象指出,在網(wǎng)絡(luò)時(shí)代用戶的需求和貢獻(xiàn)會(huì)進(jìn)一步的分散,形成一個(gè)細(xì)長(zhǎng)的尾巴,而這細(xì)長(zhǎng)尾巴部分的總和往往可以匹敵需求集中部分。比如說(shuō),網(wǎng)絡(luò)書店amazon超過(guò)25%的銷售量來(lái)自于排行榜上13萬(wàn)名以外的圖書,而北美最大的傳統(tǒng)書店BarnesNoble每年上架的書目的總數(shù)也僅為了13萬(wàn)種。

        分析開源軟件中同伴支持的分散程度可以借用社會(huì)網(wǎng)絡(luò)的概念??梢园淹橹С株P(guān)系描述成一個(gè)有向的社會(huì)網(wǎng)絡(luò),其中每一個(gè)結(jié)點(diǎn)是用戶,從結(jié)點(diǎn)A到結(jié)點(diǎn)B的有向弧則表示用戶A回復(fù)了用戶B提出的問(wèn)題。圖4分別顯示了ant-user和lucene-user在2006年4月份的基于互相支持的社會(huì)網(wǎng)絡(luò)(為了圖的可讀性,我們只選用了一個(gè)月的數(shù)據(jù))。從圖中可以看出用戶之間的互助還是比較分散的。

        圖4 社會(huì)網(wǎng)絡(luò)

        對(duì)分散程度還可以用網(wǎng)絡(luò)密度(nd)來(lái)定量描述。nd=(2*L)/(N*(N-1)),其中L是弧的條數(shù),N是結(jié)點(diǎn)的個(gè)數(shù)。表3顯示了2006年各個(gè)月的兩個(gè)社區(qū)同伴支持的網(wǎng)絡(luò)密度,表3的最后一列顯示了根據(jù)三年的同伴支持情況形成的社會(huì)網(wǎng)絡(luò)的密度。從單個(gè)月的互助情況看,同伴支持有良好的分散性,說(shuō)明很多用戶參與了幫助其他用戶,但是三年的累計(jì)數(shù)字卻顯示了很低的分散度。根據(jù)對(duì)數(shù)據(jù)的進(jìn)一步分析,我們發(fā)現(xiàn)大多數(shù)用戶只在某一個(gè)時(shí)間段參與了社區(qū),而一些特別活躍的用戶則參加了很長(zhǎng)的一段時(shí)間,他們每個(gè)月都會(huì)參與幫忙,累計(jì)下來(lái)的幫助數(shù)很大,成為社區(qū)的中心任務(wù)。因此,可以說(shuō)開源社區(qū)既有中心也有中心的長(zhǎng)尾效應(yīng),中心現(xiàn)象指的是其長(zhǎng)期趨勢(shì),而長(zhǎng)尾效應(yīng)則反應(yīng)在其短期現(xiàn)象里。

        4結(jié)束語(yǔ)

        本文提出了一組度量衡量軟件開源社區(qū)的同伴支持現(xiàn)象的有效性,通過(guò)計(jì)算這些度量,軟件公司或用戶可以估算使用開源軟件的技術(shù)支持成本或?qū)ζ淙粘J褂玫挠绊?,從而作出正確的用或者不用的決定,也可用這些度量比較相同功能的軟件,選擇符合自己要求的軟件。

        中文无码精品一区二区三区| 中文字幕一区二区中文| 麻豆网神马久久人鬼片| 国产乱人伦在线播放| 久久久久久久妓女精品免费影院| 手机在线观看亚洲av| 国产自拍视频免费在线| 国产在线精品一区在线观看| 91av国产视频| 黑人免费一区二区三区| 国产自产二区三区精品| 久久久精品一区aaa片| 国产日韩网站| 日本一区二区三区的免费视频观看 | 人妻精品久久中文字幕| 日本人妻高清免费v片| 久久精品国产99国产精品亚洲 | 九九99久久精品在免费线18| 中文字幕av人妻一区二区| av在线免费观看网站免费| 毛片a级毛片免费观看| 无码人妻少妇久久中文字幕蜜桃| 69精品人妻一区二区| 午夜久久久久久禁播电影| 男受被做哭激烈娇喘gv视频| 亚洲天堂av免费在线看| 日本亚洲视频免费在线看| 久9re热视频这里只有精品| 色一情一乱一伦一区二区三欧美| 亚洲又黄又大又爽毛片| 国产情侣自拍在线视频 | 区二区欧美性插b在线视频网站 | 91av国产视频| 日本人妻系列一区二区| 亚洲精品无码精品mv在线观看| 亚洲国产精品成人无码区| 亚洲欧洲日韩另类自拍| 国产一级黄色片在线播放| 欧美video性欧美熟妇| 国产区福利| 一级a免费高清免在线|