關(guān)琳
摘 要:下載量是衡量開源安全軟件質(zhì)量的重要標(biāo)志。研究下載量與工程因素間的關(guān)系,發(fā)現(xiàn)影響下載量的工程因素,對于開源安全軟件發(fā)展具有重要意義。以世界最大的開源軟件項目庫為數(shù)據(jù)源,針對開源安全軟件的下載量與團隊規(guī)模和研發(fā)事件數(shù)的關(guān)系展開定量分析,發(fā)現(xiàn)開源安全軟件下載量與軟件研發(fā)團隊成員數(shù)呈弱相關(guān)關(guān)系,與軟件研發(fā)事件數(shù)呈中等強度相關(guān)關(guān)系。該研究結(jié)果可為開源安全軟件良性發(fā)展、提升軟件競爭力提供參考。
關(guān)鍵詞:開源安全軟件;定量分析;工程屬性
DOI:10. 11907/rjdk. 192342 開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
中圖分類號:TP301文獻標(biāo)識碼:A 文章編號:11672-7800(2020)008-0076-04
Abstract:Open-source security software downloads is an important symbol for its success. It is of great significance to analyze relationships between project factors and open source security software downloads, and find out the project factors affecting downloads for the development of open-source security software. Based on the biggest database of open-source security software projects, this paper focuses on the strength of the relationships between the number of open source security software downloads versus the software project development team size and the events. By quantitative analysis, this research identifies a weak relationship between the open source security software development project team size and the number of downloads and a moderate relationship between the open source security development project events and the number of downloads, which provides some advices on health development.
Key Words:open source security software;quantitative analysis;project attributes
0 引言
開源軟件(Open Source Software)是 “開放源代碼軟件”的簡稱[1]。開發(fā)者通常在開源社區(qū)與興趣相投者聚在一起,個人決定開發(fā)進度和貢獻,無需承擔(dān)任何商業(yè)責(zé)任。相比于代碼不易獲得的閉源軟件(Closed source software),開源軟件具備很多優(yōu)勢,如查詢源代碼、對源代碼進行修改后可依照授權(quán)再次發(fā)布、對于任何個人和團體一視同仁等[2]。這些優(yōu)勢為用戶開展個性化修改,及時發(fā)現(xiàn)代碼漏洞,根據(jù)最新需求修改代碼等日常行為提供了寬松的環(huán)境。
開源軟件在信息安全領(lǐng)域應(yīng)用倍受關(guān)注,開源安全軟件(Open Source Security Software)應(yīng)運而生。中國工程院院士倪光南在接受《經(jīng)濟參考報》采訪時指出,在當(dāng)前云計算、物聯(lián)網(wǎng)、三網(wǎng)融合等新一代信息技術(shù)發(fā)展潮流中,開源軟件有發(fā)展成為主導(dǎo)軟件的趨勢,指出國內(nèi)主流安全軟件金山衛(wèi)士的開源計劃是符合當(dāng)今潮流之舉。
開源安全軟件較之閉源安全軟件優(yōu)勢如下:①面對用戶不同的安全需求,開源安全軟件可以支持用戶開展個性化修改,而閉源安全軟件只能通過商業(yè)手段達(dá)此目的;②軟件自身漏洞方面,閉源安全軟件與其它所有閉源軟件一樣,只能由研發(fā)人員出于商業(yè)目的進行維護,通常只局限于若干個人,而開源安全軟件允許所有使用者查看源代碼,這大大提高了發(fā)現(xiàn)漏洞的幾率;③面對來自網(wǎng)絡(luò)日趨多樣化的攻擊時,閉源安全軟件對攻擊的甄別和防御功能只是局限于研發(fā)團隊之中,而開源安全軟件則允許所有使用者對軟件進行修改,這為開源安全軟件提供了靈活發(fā)展空間。
1 研究背景
開源軟件發(fā)展因素研究熱點:Midha[3]以開源軟件的受歡迎程度、市場占有率和技術(shù)成熟度等指標(biāo)評價開源軟件;Daniel,Agarwal& Stewart[4]給出以社會參與度和行業(yè)認(rèn)可指標(biāo)評價開源軟件;Crowston&Annabi[5]針對開源軟件研發(fā)團隊對軟件bug的修正速度和研發(fā)團隊效率間關(guān)系開展實證研究;Kris Ven&Peter De Bruyn[6]分析了機構(gòu)對開源軟件的影響以及提升機構(gòu)影響力路徑;Amir Hossein Ghapanchi、Claes Wohlin&Aybüke Aurum[7]通過對開源軟件用戶需求調(diào)查,分析開源軟件對用戶需求的響應(yīng)效率對軟件項目發(fā)展的影響,指出開源軟件獲得競爭優(yōu)勢的關(guān)鍵因素;華中科技大學(xué)吳江[8]分析了開發(fā)者與源代碼間依存關(guān)系對開源軟件成功的影響。
安全軟件指預(yù)警、阻止、保護、響應(yīng)和恢復(fù)系統(tǒng)誤用和濫用的一類軟件[9]。開源安全軟件,顧名思義是開放源代碼的安全軟件,是按軟件功能劃分的一類開源軟件。目前對于開源安全軟件的研究并不多見。Chacon、Jose Francisco Cardenas[10]在其博士論文中通過定量分析發(fā)現(xiàn)創(chuàng)新性和軟件本身的開發(fā)質(zhì)量是影響開源安全軟件成功的兩個關(guān)鍵因素;Barta[11]在其博士論文中提出將下載量作為衡量開源安全軟件成功的標(biāo)志,通過統(tǒng)計學(xué)方法分析與下載量相關(guān)的工程因素,但未分析開源安全軟件工程因素對其下載量的影響機理。
2002年之前開源軟件多為志愿者獨立開發(fā),而多人開發(fā)的開源軟件更易獲得關(guān)注和下載[12]。對于研發(fā)團隊規(guī)模軟件受關(guān)注度之間關(guān)系的研究一直沒有停止。Beaver通過建模分析影響研發(fā)工程師的技術(shù)因素和社會因素,評價了研發(fā)團隊規(guī)模對開源軟件項目的動態(tài)影響。本文以研發(fā)團隊規(guī)模為切入點,分析其對開源安全軟件的影響。
適時應(yīng)變是開源安全軟件相對于其它開源軟件的一個獨有特點。以用戶下載開源安全軟件主要是為了抵御惡意程序帶來的危害為假設(shè)前提,相比一般的開源軟件,用戶對于開源安全軟件的關(guān)注點更側(cè)重于開源安全軟件的適時應(yīng)變特性。即在惡意程序?qū)映霾桓F的環(huán)境下,某款開源安全軟件如果能夠應(yīng)對每一種新出現(xiàn)在網(wǎng)絡(luò)中的惡意程序,無疑會受到吸引更多用戶的關(guān)注和下載。
本文將以開源安全軟件的研發(fā)屬性為切入點,探尋影響開源安全軟件下載量的工程因素。揭示以較高下載量為標(biāo)志的成功的開源安全軟件研發(fā)屬性的特征。其中,研發(fā)屬性主要著眼于開源安全軟件研發(fā)團隊規(guī)模和研發(fā)工程事件數(shù)。
本文研究目的在于調(diào)查開源安全軟件的研發(fā)事件數(shù)、團隊規(guī)模與下載量間的關(guān)系。開源安全軟件研發(fā)團隊的規(guī)模約定為參與軟件研發(fā)工作的研發(fā)工程師人數(shù);軟件工程研發(fā)事件數(shù),本文依據(jù)數(shù)據(jù)源統(tǒng)計信息約定為以下事件:開始的開發(fā)任務(wù)數(shù)、完畢的開發(fā)任務(wù)數(shù)、開始解決的bug數(shù)、解決完畢的bug數(shù)、開始的補丁數(shù)、完畢的補丁數(shù)、開始的插件數(shù)、完畢的插件數(shù),等等。
所涉及的開源安全軟件主要包含以下幾個領(lǐng)域功能:反病毒軟件、安全記錄軟件,漏洞掃描類軟件、入侵檢測軟件和系統(tǒng)修復(fù)類軟件。具體描述如下:
反病毒軟件:也稱為安全糾正軟件(Corrective security software),即阻止危害計算機的未知事件重現(xiàn)的安全軟件。這類軟件可以掃描計算機中存在的惡意軟件,并刪除或隔離,從而實現(xiàn)計算機系統(tǒng)功能自動修復(fù)。
安全記錄軟件:也稱為安全偵測軟件(Detective security software)。這類軟件只負(fù)責(zé)偵測計算機發(fā)生的異常事件,并不阻止事件發(fā)生或作其它處理。如常見的日志工具(logging software)只記錄與本機相關(guān)的事件。
漏洞掃描軟件,也稱為安全告警軟件(Deterrent security software)。這類軟件的功能是提示用戶不當(dāng)使用可能引發(fā)的嚴(yán)重后果,常見的如計算機系統(tǒng)中彈出的警告框,警告用戶正在發(fā)生的風(fēng)險,或提示用戶開啟安全監(jiān)控。
入侵檢測軟件:也稱為預(yù)防性安全軟件(Preventive security software)。這類軟件的功能是用來阻止預(yù)期之外的計算機活動,常見功能如防火墻軟件,阻止無授權(quán)或未經(jīng)請求的鏈接連接本地資源。
系統(tǒng)修復(fù)類軟件,也稱為安全復(fù)原軟件(Recovery security software)。這類軟件功能是在異常行為發(fā)生后,使用備份資源將系統(tǒng)修復(fù)如前,即在系統(tǒng)發(fā)生異常時使系統(tǒng)恢復(fù)到原來的正常水平。
在收集數(shù)據(jù)時將從以上類別的開源安全軟件中提取數(shù)據(jù),確定用于檢索的關(guān)鍵字列表如下:malware、malicious、antivirus、A/V、anti-virus、IDS、firewall和intrusion detection等。
2 數(shù)據(jù)來源與處理
2.1 數(shù)據(jù)來源
SourceForge.net是世界最大的開源軟件項目庫,已發(fā)布超過430 000項開源軟件,注冊用戶數(shù)超過3 700 000個。本文數(shù)據(jù)來自“SourceForge研究數(shù)據(jù)檔案”(SourceForge Research Data Archive,簡稱SRDA),全世界有200多位各領(lǐng)域的研究人員通過SRDA開展研究。該數(shù)據(jù)庫每月以鏡像的方式更新數(shù)據(jù),通過美國圣母大學(xué)(University of Notre Dames)SRDA入口與該校e-mail獲取。本文通過結(jié)構(gòu)化查詢語言從SDRA鏡像服務(wù)器提取groups和stats_project_all兩張表,涵蓋SDRA中2018年12月以前總共927 321個開源軟件項目,如圖1所示。
2.2 數(shù)據(jù)處理
SDRA中g(shù)roups所列條目需通過系統(tǒng)過濾和手工篩選,以剔除非安全軟件項目。本文采用Microsoft Access對數(shù)據(jù)進行預(yù)處理,將表groups導(dǎo)入該軟件,清除重復(fù)數(shù)據(jù)和空數(shù)據(jù),并按照標(biāo)簽對表中所有項目屬性進行過濾,采用前文確定的關(guān)鍵字,并適當(dāng)擴充malware、malicious、antivirus、A/V、anti-virus、 IDS、intrusion detection、intrusion detection system、fire wall、firewall和fire-wall等。過濾后的數(shù)據(jù)子集再進行人工檢視以清除錯誤,確保所列項為安全軟件范疇。然后將數(shù)據(jù)導(dǎo)入Microsoft visual foxpro 5.0,將表groups和stats_project_all整合在一起。整合之后的新表包含如下字段:number of downloads、 team size、 number of developer tasks closed、number of developer tasks opened、 number of bug fixes closed、 number of bug fixes opened、number of patches closed、 number of patches opened、 number of support tickets closed、number of support tickets opened,最終得到1 189個開源安全軟件的統(tǒng)計信息,其中完備數(shù)據(jù)僅有544條,如表1所示。
3 數(shù)據(jù)分析
將數(shù)據(jù)導(dǎo)入SPSS(Statistical Product and Service Solution)進一步分析下載量與團隊規(guī)模及軟件工程事件間的關(guān)系。
使用皮爾遜相關(guān)系數(shù)(Pearson correlation coefficient)分析法作為主要分析手段。皮爾遜相關(guān)系數(shù)(Pearson correlation coefficient)又稱為皮爾遜積矩陣相關(guān)系數(shù)(Pearson product-moment correlation coefficient),是一種線性相關(guān)系數(shù),即定義一個值(-1,1)之間的值r為相關(guān)系數(shù),表示兩個變量之間關(guān)系的緊密程度,r的絕對值越趨向于1則變量間相關(guān)性越強。
皮爾遜相關(guān)系數(shù)(Pearson correlation coefficient)用來評估變量間關(guān)系密切程度,常用于評估連續(xù)線性相關(guān)變量。
3.1 下載量與開發(fā)團隊成員數(shù)間關(guān)系分析
導(dǎo)入數(shù)據(jù)到SPSS進行皮爾遜相關(guān)系數(shù)分析,得到開源安全軟件下載量與團隊規(guī)模之間的關(guān)系如表2所示。
對相關(guān)系數(shù)r值進行劃分,當(dāng)r≥0.3或r≤-0.3時代表較強的相關(guān)性,當(dāng)r值為0.5,0.3或0.1時依次代表相關(guān)程度為較強、中等、較弱。下載量與團隊規(guī)模間相關(guān)系數(shù)r為0.273,為一種較弱相關(guān)關(guān)系。相關(guān)系數(shù)假設(shè)Sig即p=0.000(認(rèn)為p≤0.01即通過檢驗)可認(rèn)為通過檢驗,用*表示。
采用更直觀的散點圖表示下載量與團隊規(guī)模間關(guān)系,如圖2所示。
通過觀察散點圖中較為離散的分布情況,可以得出相同結(jié)論,即下載量與團隊人數(shù)之間存在弱相關(guān)關(guān)系,說明較多的開發(fā)者與軟件的下載量并無太多聯(lián)系,這與Sandeep Krishnamurthy在2016年針對開源軟件得出的研究結(jié)論存在沖突,其認(rèn)為較多的開發(fā)者會為開源軟件帶來較高的下載量。作為開源軟件的一個分支,開源安全軟件在2002年的統(tǒng)計結(jié)論與2018年的統(tǒng)計結(jié)論不同,主要原因在于2000年之后開源軟件的發(fā)展緊緊圍繞開源社區(qū)展開,而開源社區(qū)的興起吸引了大量軟件公司的關(guān)注。開源軟件已經(jīng)從最初的軟件愛好者憑興趣自發(fā)研發(fā)軟件為主,逐漸向產(chǎn)業(yè)化過渡。在這種發(fā)展趨勢下,用戶在選擇下載開源安全軟件產(chǎn)品時,已不再過多地關(guān)注研發(fā)團隊信息,而是轉(zhuǎn)向?qū)τ谲浖旧淼难信小?/p>
3.2 下載量與軟件工程事件數(shù)間的關(guān)系分析
應(yīng)用SPSS進一步分析下載量與軟件工程事件數(shù)間的關(guān)系,如表3所示。
同樣,對相關(guān)系數(shù)r值進行劃分,當(dāng)r≥ 0.3或r ≤-0.3時代表較強的相關(guān)性,當(dāng)r值為0.5,0.3或0.1時依次代表相關(guān)程度為較強、中等、較弱。從表3可以看出,下載量與軟件工程事件數(shù)間的皮爾遜相關(guān)系數(shù)r為0.328,表明在下載量與軟件工程事件數(shù)間存在中等強度的相關(guān)關(guān)系。相關(guān)系數(shù)假設(shè)檢驗Sig即p=0.000(認(rèn)為p≤0.01即通過檢驗)可認(rèn)為通過檢驗,用*所示。
采用更直觀的散點圖表示下載量與軟件工程事件數(shù)間關(guān)系,如圖3所示。
從圖3可以直觀看出圖2的散點更為集中,結(jié)合表3的定量分析可以得出如下結(jié)論:下載量與軟件工程事件數(shù)間存在中等強度的相關(guān)關(guān)系。
軟件工程事件數(shù)是軟件健壯性、可靠性不斷提高和功能不斷完善的標(biāo)志,包含對開發(fā)任務(wù)、補丁、bug、插件或新增版本等行為的確切統(tǒng)計信息。對于成功的開源安全軟件而言不存在最終版本。在應(yīng)對層出不窮的網(wǎng)絡(luò)威脅時,不斷完善軟件功能使之能夠防御各種危害用戶計算機的行為,必然導(dǎo)致較高的工程事件數(shù)。在網(wǎng)絡(luò)中出現(xiàn)新型安全威脅時,用戶選擇針對此威脅的最新版本的開源安全軟件下載無疑是最佳選擇。所以,對于一款生命力旺盛的開源安全軟件,隨著時間的推移必然不斷添加新增功能以抵御不斷出現(xiàn)新的安全問題,只有通過這種方式,才能保持用戶對它的關(guān)注度并維持較高的下載量,這是維持開源安全軟件長盛不衰的必然途徑。
4 結(jié)語
本文通過對來自SDRA的開源安全軟件數(shù)據(jù)的收集、處理和分析,評估了開源軟件下載量與研發(fā)團隊成員數(shù)和軟件工程事件數(shù)之間的關(guān)系。得出以下結(jié)論:①開源安全軟件下載量與研發(fā)團隊成員數(shù)的相關(guān)性較弱;②開源安全軟件下載量與軟件工程事件數(shù)之間存在中等強度的相關(guān)關(guān)系。
在網(wǎng)絡(luò)信息安全形勢日趨嚴(yán)峻的時代背景下,開源安全軟件的快速發(fā)展無疑為緩解安全形勢提供了一條新路徑?;陂_源軟件自身的開放特性,下載量是評估開源軟件的重要指標(biāo)之一。較高的下載量預(yù)示著一款開源軟件的受歡迎程度,也是開源軟件自身競爭力的重要體現(xiàn)。本文聚焦工程屬性,通過定量分析發(fā)現(xiàn)用戶在選擇開源安全軟件時的關(guān)注度變遷,即從對研發(fā)團隊規(guī)模的關(guān)注轉(zhuǎn)向?qū)こ淌录?shù)的關(guān)注。結(jié)合開源軟件發(fā)展歷程,將工程事件數(shù)作為研判軟件質(zhì)量的指標(biāo)是理性的選擇。作為開源安全軟件研發(fā)項目管理者,應(yīng)著眼于軟件質(zhì)量提升,不斷完善軟件功能,使其能夠應(yīng)對網(wǎng)絡(luò)中不斷出現(xiàn)的危害計算機的各種情況。應(yīng)更多關(guān)注開源安全軟件,獲得更高的下載量并維持自身生命力,從而獲得較強的競爭力。
參考文獻:
[1] 張小號,馬治國. 由微軟訴TomTom案看著作權(quán)集體管理對開源軟件發(fā)展的作用[J]. 情報雜志,2011.08,30(8):191-195.
[2] PAULSON J W,SUCCI G,EBERLEIN A. An empirical study of open-source and closed-source software products[C]. ?IEEE Transactions on Software engineering, 2014,30(4):246-256.
[3] MIDHA V, PALVIA P. Factors affecting the success of open source software[J]. Journal of Systems and Software, 2012,85(4):895-905.
[4] DANIEL S, AGARWAL R, KATHERINE J ?STEWART. The effects of diversity in global, distributed collectives: a study of open source project success[J]. Information Systems Research, 2012,24(2):312-333.
[5] CROWSTON K, ANNABI H, ?HOWISON J. Information systems success in free and open source software development: theory and measures[J]. ?In Software Process:Improvement and Practice, 2006,11(2):123–148.
[6] VEN K, DE BRUYN P. Factors affecting the development of absorptive capacity in the adoption of open source software[J]. ?International Journal of Open Source Software and Processes, 2011,3(1):17-38.
[7] GHAPANCHI A H,WOHLIN C, AURUM A.Resources contributing to gaining competitive advantage for open source software projects: an application of resource-based theory[J]. ?International Journal of Project Management, 2014.1,32(1) :139-152
[8] 吳江,胡斌,張金隆. 開源軟件開發(fā)者和源代碼協(xié)調(diào)性的網(wǎng)絡(luò)分析[J]. 科研管理,2011,32(8):133-141.
[9] MCCOMBS B. Is your computer secure[J]. ?Canadian Journal of Rural Medicine,2011,16(4):137-138.
[10] CARDENAS CHACON J F. A quantitative study of open source information security software success[D]. Minnesota: Capella University,2014.
[11] BARTA B J. An analysis of open source security software products downloads [D]. Minnesota: Capella University,2014.
[12] KRISHNAMURTHY S. Cave or community : an empirical examination of 100 mature open source projects [EB/OL]. http://firstmonday.org/ojs/index.php/fm/article/view/1477/1392.
(責(zé)任編輯:杜能鋼)