基于开源软件社区数据的成熟度分析模型研究

《金卡生活》杂志中国银联主管主办理论研究实务探讨我们作者供职于中国银联电子支付研究院随着云计算、大数据和人工智能等技术的快速发展和崛起,开源软件正在引领全球软件创新。开源社区作为一种过程透明的分布式协作开发模式,被越来越多的技术人员和企业所接受。在这个过程中,开源软件生态变得越来越重要,而开源社区的发展情况直接反映了开源软件生态的质量。

数据源。开源社区数据来源主要集中在GitHub和OpenHub,涵盖贡献者、项目使用情况、软件发展、问题解决、社区完整性等多个维度。数据采集。通过爬虫工具从不同数据源中采集原始数据信息,提取关键字段信息,并以“软件拥有者+软件名”为唯一标识符整合数据。数据处理与集成。包括时间序列缺失值处理、普通类型缺失值处理、非数值型字段处理等操作。数据分析。

在该模型下,开源软件的模型评分预测值(表2)与专家评分平均值的误差在4%以内,能够很好的反映实际评分效果,也就是能够较准确的反映开源软件的成熟度。表2模型预测示例

为了更好地解释开源社区数据,分析开源软件的发展趋势,基于Echarts对各类社区数据和指标进行了可视化展现,用丰富的图表展现数据分析的结果。通过数据可视化,将能够更加直观地展示开源软件总体发展趋势,定性分析与定量分析相辅相成(图2)。图2开源软件影响力象限

对于软件的各个属性,如问题提交数、加星数等,社区分析工具展示了其近三年的同比、环比变化情况(图3)。图3开源软件不同时期发展趋势对比

同类型软件的横向对比能够更清晰地反映软件发展情况,可选择多个软件进行社区活跃度、社区参与度、问题反馈与处理时长等情况的对比分析(图4)。图4同类型开源软件之间发展趋势对比

3模型评价通过采集开源软件社区的基本信息、社区活跃度、代码生命周期、贡献者、关注度、问题反馈和解决情况等多维度数据,提炼形成了软件成熟度等指标的关键影响因素,建立了开源软件成熟度分析模型。针对常见的上百个开源软件,模型能够很好地匹配和反映出金融企业对开源软件的评价。金融行业开源软件研究工作组成员单位已将模型用于企业自身的开源软件社区发展成熟度分析,有力支撑了金融企业实际开源软件发展分析和技术选型。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180714A05F7300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券