关琳
摘 要:下载量是衡量开源安全软件质量的重要标志。研究下载量与工程因素间的关系,发现影响下载量的工程因素,对于开源安全软件发展具有重要意义。以世界最大的开源软件项目库为数据源,针对开源安全软件的下载量与团队规模和研发事件数的关系展开定量分析,发现开源安全软件下载量与软件研发团队成员数呈弱相关关系,与软件研发事件数呈中等强度相关关系。该研究结果可为开源安全软件良性发展、提升软件竞争力提供参考。
关键词:开源安全软件;定量分析;工程属性
DOI:10. 11907/rjdk. 192342 开放科学(资源服务)标识码(OSID):
中图分类号:TP301文献标识码: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]。开发者通常在开源社区与兴趣相投者聚在一起,个人决定开发进度和贡献,无需承担任何商业责任。相比于代码不易获得的闭源软件(Closed source software),開源软件具备很多优势,如查询源代码、对源代码进行修改后可依照授权再次发布、对于任何个人和团体一视同仁等[2]。这些优势为用户开展个性化修改,及时发现代码漏洞,根据最新需求修改代码等日常行为提供了宽松的环境。
开源软件在信息安全领域应用倍受关注,开源安全软件(Open Source Security Software)应运而生。中国工程院院士倪光南在接受《经济参考报》采访时指出,在当前云计算、物联网、三网融合等新一代信息技术发展潮流中,开源软件有发展成为主导软件的趋势,指出国内主流安全软件金山卫士的开源计划是符合当今潮流之举。
开源安全软件较之闭源安全软件优势如下:①面对用户不同的安全需求,开源安全软件可以支持用户开展个性化修改,而闭源安全软件只能通过商业手段达此目的;②软件自身漏洞方面,闭源安全软件与其它所有闭源软件一样,只能由研发人员出于商业目的进行维护,通常只局限于若干个人,而开源安全软件允许所有使用者查看源代码,这大大提高了发现漏洞的几率;③面对来自网络日趋多样化的攻击时,闭源安全软件对攻击的甄别和防御功能只是局限于研发团队之中,而开源安全软件则允许所有使用者对软件进行修改,这为开源安全软件提供了灵活发展空间。
1 研究背景
开源软件发展因素研究热点:Midha[3]以开源软件的受欢迎程度、市场占有率和技术成熟度等指标评价开源软件;Daniel,Agarwal& Stewart[4]给出以社会参与度和行业认可指标评价开源软件;Crowston&Annabi[5]针对开源软件研发团队对软件bug的修正速度和研发团队效率间关系开展实证研究;Kris Ven&Peter De Bruyn[6]分析了机构对开源软件的影响以及提升机构影响力路径;Amir Hossein Ghapanchi、Claes Wohlin&Aybüke Aurum[7]通过对开源软件用户需求调查,分析开源软件对用户需求的响应效率对软件项目发展的影响,指出开源软件获得竞争优势的关键因素;华中科技大学吴江[8]分析了开发者与源代码间依存关系对开源软件成功的影响。
安全软件指预警、阻止、保护、响应和恢复系统误用和滥用的一类软件[9]。开源安全软件,顾名思义是开放源代码的安全软件,是按软件功能划分的一类开源软件。目前对于开源安全软件的研究并不多见。Chacon、Jose Francisco Cardenas[10]在其博士论文中通过定量分析发现创新性和软件本身的开发质量是影响开源安全软件成功的两个关键因素;Barta[11]在其博士论文中提出将下载量作为衡量开源安全软件成功的标志,通过统计学方法分析与下载量相关的工程因素,但未分析开源安全软件工程因素对其下载量的影响机理。
2002年之前开源软件多为志愿者独立开发,而多人开发的开源软件更易获得关注和下载[12]。对于研发团队规模软件受关注度之间关系的研究一直没有停止。Beaver通过建模分析影响研发工程师的技术因素和社会因素,评价了研发团队规模对开源软件项目的动态影响。本文以研发团队规模为切入点,分析其对开源安全软件的影响。
适时应变是开源安全软件相对于其它开源软件的一个独有特点。以用户下载开源安全软件主要是为了抵御恶意程序带来的危害为假设前提,相比一般的开源软件,用户对于开源安全软件的关注点更侧重于开源安全软件的适时应变特性。即在恶意程序层出不穷的环境下,某款开源安全软件如果能够应对每一种新出现在网络中的恶意程序,无疑会受到吸引更多用户的关注和下载。
本文将以开源安全软件的研发属性为切入点,探寻影响开源安全软件下载量的工程因素。揭示以较高下载量为标志的成功的开源安全软件研发属性的特征。其中,研发属性主要着眼于开源安全软件研发团队规模和研发工程事件数。
本文研究目的在于调查开源安全软件的研发事件数、团队规模与下载量间的关系。开源安全软件研发团队的规模约定为参与软件研发工作的研发工程师人数;软件工程研发事件数,本文依据数据源统计信息约定为以下事件:开始的开发任务数、完毕的开发任务数、开始解决的bug数、解决完毕的bug数、开始的补丁数、完毕的补丁数、开始的插件数、完毕的插件数,等等。
所涉及的开源安全软件主要包含以下几个领域功能:反病毒软件、安全记录软件,漏洞扫描类软件、入侵检测软件和系统修复类软件。具体描述如下:
反病毒软件:也称为安全纠正软件(Corrective security software),即阻止危害计算机的未知事件重现的安全软件。这类软件可以扫描计算机中存在的恶意软件,并删除或隔离,从而实现计算机系统功能自动修复。
安全记录软件:也称为安全侦测软件(Detective security software)。这类软件只负责侦测计算机发生的异常事件,并不阻止事件发生或作其它处理。如常见的日志工具(logging software)只记录与本机相关的事件。
漏洞扫描软件,也称为安全告警软件(Deterrent security software)。这类软件的功能是提示用户不当使用可能引发的严重后果,常见的如计算机系统中弹出的警告框,警告用户正在发生的风险,或提示用户开启安全监控。
入侵检测软件:也称为预防性安全软件(Preventive security software)。这类软件的功能是用来阻止预期之外的计算机活动,常见功能如防火墙软件,阻止无授权或未经请求的链接连接本地资源。
系统修复类软件,也称为安全复原软件(Recovery security software)。这类软件功能是在异常行为发生后,使用备份资源将系统修复如前,即在系统发生异常时使系统恢复到原来的正常水平。
在收集数据时将从以上类别的开源安全软件中提取数据,确定用于检索的关键字列表如下:malware、malicious、antivirus、A/V、anti-virus、IDS、firewall和intrusion detection等。
2 数据来源与处理
2.1 数据来源
SourceForge.net是世界最大的开源软件项目库,已发布超过430 000项开源软件,注册用户数超过3 700 000个。本文数据来自“SourceForge研究数据档案”(SourceForge Research Data Archive,简称SRDA),全世界有200多位各领域的研究人员通过SRDA开展研究。该数据库每月以镜像的方式更新数据,通过美国圣母大学(University of Notre Dames)SRDA入口与该校e-mail获取。本文通过结构化查询语言从SDRA镜像服务器提取groups和stats_project_all两张表,涵盖SDRA中2018年12月以前总共927 321个开源软件项目,如图1所示。
2.2 数据处理
SDRA中groups所列条目需通过系统过滤和手工筛选,以剔除非安全软件项目。本文采用Microsoft Access对数据进行预处理,将表groups导入该软件,清除重复数据和空数据,并按照标签对表中所有项目属性进行过滤,采用前文确定的关键字,并适当扩充malware、malicious、antivirus、A/V、anti-virus、 IDS、intrusion detection、intrusion detection system、fire wall、firewall和fire-wall等。过滤后的数据子集再进行人工检视以清除错误,确保所列项为安全软件范畴。然后将数据导入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个开源安全软件的统计信息,其中完备数据仅有544条,如表1所示。
3 数据分析
將数据导入SPSS(Statistical Product and Service Solution)进一步分析下载量与团队规模及软件工程事件间的关系。
使用皮尔逊相关系数(Pearson correlation coefficient)分析法作为主要分析手段。皮尔逊相关系数(Pearson correlation coefficient)又称为皮尔逊积矩阵相关系数(Pearson product-moment correlation coefficient),是一种线性相关系数,即定义一个值(-1,1)之间的值r为相关系数,表示两个变量之间关系的紧密程度,r的绝对值越趋向于1则变量间相关性越强。
皮尔逊相关系数(Pearson correlation coefficient)用来评估变量间关系密切程度,常用于评估连续线性相关变量。
3.1 下载量与开发团队成员数间关系分析
导入数据到SPSS进行皮尔逊相关系数分析,得到开源安全软件下载量与团队规模之间的关系如表2所示。
对相关系数r值进行划分,当r≥0.3或r≤-0.3时代表较强的相关性,当r值为0.5,0.3或0.1时依次代表相关程度为较强、中等、较弱。下载量与团队规模间相关系数r为0.273,为一种较弱相关关系。相关系数假设Sig即p=0.000(认为p≤0.01即通过检验)可认为通过检验,用*表示。
采用更直观的散点图表示下载量与团队规模间关系,如图2所示。
通过观察散点图中较为离散的分布情况,可以得出相同结论,即下载量与团队人数之间存在弱相关关系,说明较多的开发者与软件的下载量并无太多联系,这与Sandeep Krishnamurthy在2016年针对开源软件得出的研究结论存在冲突,其认为较多的开发者会为开源软件带来较高的下载量。作为开源软件的一个分支,开源安全软件在2002年的统计结论与2018年的统计结论不同,主要原因在于2000年之后开源软件的发展紧紧围绕开源社区展开,而开源社区的兴起吸引了大量软件公司的关注。开源软件已经从最初的软件爱好者凭兴趣自发研发软件为主,逐渐向产业化过渡。在这种发展趋势下,用户在选择下载开源安全软件产品时,已不再过多地关注研发团队信息,而是转向对于软件本身的研判。
3.2 下载量与软件工程事件数间的关系分析
应用SPSS进一步分析下载量与软件工程事件数间的关系,如表3所示。
同样,对相关系数r值进行划分,当r≥ 0.3或r ≤-0.3时代表较强的相关性,当r值为0.5,0.3或0.1时依次代表相关程度为较强、中等、较弱。从表3可以看出,下载量与软件工程事件数间的皮尔逊相关系数r为0.328,表明在下载量与软件工程事件数间存在中等强度的相关关系。相关系数假设检验Sig即p=0.000(认为p≤0.01即通过检验)可认为通过检验,用*所示。
采用更直观的散点图表示下载量与软件工程事件数间关系,如图3所示。
从图3可以直观看出图2的散点更为集中,结合表3的定量分析可以得出如下结论:下载量与软件工程事件数间存在中等强度的相关关系。
软件工程事件数是软件健壮性、可靠性不断提高和功能不断完善的标志,包含对开发任务、补丁、bug、插件或新增版本等行为的确切统计信息。对于成功的开源安全软件而言不存在最终版本。在应对层出不穷的网络威胁时,不断完善软件功能使之能够防御各种危害用户计算机的行为,必然导致较高的工程事件数。在网络中出现新型安全威胁时,用户选择针对此威胁的最新版本的开源安全软件下载无疑是最佳选择。所以,对于一款生命力旺盛的开源安全软件,随着时间的推移必然不断添加新增功能以抵御不断出现新的安全问题,只有通过这种方式,才能保持用户对它的关注度并维持较高的下载量,这是维持开源安全软件长盛不衰的必然途径。
4 结语
本文通过对来自SDRA的开源安全软件数据的收集、处理和分析,评估了开源软件下载量与研发团队成员数和软件工程事件数之间的关系。得出以下结论:①开源安全软件下载量与研发团队成员数的相关性较弱;②开源安全软件下载量与软件工程事件数之间存在中等强度的相关关系。
在网络信息安全形势日趋严峻的时代背景下,开源安全软件的快速发展无疑为缓解安全形势提供了一条新路径。基于开源软件自身的开放特性,下载量是评估开源软件的重要指标之一。较高的下载量预示着一款开源软件的受欢迎程度,也是开源软件自身竞争力的重要体现。本文聚焦工程属性,通过定量分析发现用户在选择开源安全软件时的关注度变迁,即从对研发团队规模的关注转向对工程事件数的关注。结合开源软件发展历程,将工程事件数作为研判软件质量的指标是理性的选择。作为开源安全软件研发项目管理者,应着眼于软件质量提升,不断完善软件功能,使其能够应对网络中不断出现的危害计算机的各种情况。应更多关注开源安全软件,获得更高的下载量并维持自身生命力,从而获得较强的竞争力。
参考文献:
[1] 张小号,马治国. 由微软诉TomTom案看著作权集体管理对开源软件发展的作用[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] 吴江,胡斌,张金隆. 开源软件开发者和源代码协调性的网络分析[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.
(責任编辑:杜能钢)