加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

盘点:开源社区的大数据分析

发布时间:2021-08-20 17:11:56 所属栏目:大数据 来源:互联网
导读:2014年7月13日,由北京大学信息化与信息管理研究中心、北京大学CIO班教务办公室和中国新一代IT产业推进联盟主办,北达软协办,CIO时代网承办的第三届中国大数据
副标题[/!--empirenews.page--]

    2014年7月13日,由北京大学信息化与信息管理研究中心、北京大学CIO班教务办公室和中国新一代IT产业推进联盟主办,北达软协办,CIO时代网承办的“第三届中国大数据应用论坛”在北京大学隆重举行,来自业界的相关专家学者、CIO、媒体朋友等150多人参与了此次的大数据盛会。

 

 

    北京大学软件研究所周明辉教授为大家带来了题为《开源社区的大数据分析》的主题演讲,周教授首先为大家分析了开源与闭源的区别,在开源软件的操作过程中会产生大规模的软件操作数据,因此可以利用软件操作数据进行分析和预测,在演讲中还与大家分享了几个开源实例,讲到了长期贡献者对开源社区的生存至关重要。大数据时代,中国面临创新机遇,企业数据,使得数据收集变得容易,逐渐实现从data.org到info.org 及knowledge.org的转变。周明辉女士的演讲深深的吸引了现场嘉宾们的注意力,特别是关注开源技术的嘉宾朋友。以下为演讲实录:

 

 

    北京大学软件研究所 周明辉教授

 

    我希望我的报告能够从不同的视角让大家理解当前大数据时代有怎样的机会和挑战。我的报告是“开源社区的大数据分析”。

 

 

    首先我的研究工作有60%是基于开源数据的,国内大部分同学、企业家对开源是非常不熟悉的,我想先介绍一下。开源或多或少大家接触过,我们简单看一下,目前在世界上最有名的一些开源软件有哪些,对于浏览器市场Chrome都知道,其它的像数据库,像服务器,只要是市场上有一个成功的商业软件,为了抵抗他们知识产权对市场的霸占,基本在开源社区有人建立开源软件。比如浏览器,2014年6月份,IE市场份额58.38,从数据来看对于开源软件其实对商业软件是非常大冲击,比如说web服务器阿帕奇,基本每一个网站全世界有60%的网站都是用的这个开源软件。

 

 

    接下来一个问题,这么多在市场上占据如此大份额的开源软件都是谁在开发?这是一张图,大家看到有字的这些是GNOME的,全球目前资源共享达到几千人,在经度纬度是这么一个分布,南美多,中国寥寥无几,我经常听到一个批评,我们中国人是只知道从开源去拉的,我们贡献非常少。从广度看,对于一个大型开源软件,志愿者分布在全球各个地方。

 

 

    我们是讲数据,对于这些开源软件来讲,数据怎么产生的?有许多开发者,刚才讲到分布在全世界各个地方,他们使用这些工具,包括版本控制,大家如果是在企业做信息处理工作,知道做任何一件事情在软件开发时候,这些轨迹会记录在这些软件开发支持工具里面,所以从古到今,所有开源项目的开发意识全部都被记录在这些工具中,并且基本上全部都是公共可访问的,这就给我们提供了一个理解开源世界,进而使整个软件开发非常好的契机。

 

 

    我们看一下目前在开源世界这个数据规模什么样子,Gnome目前超过70万个问题处理数据,并且每天有上百个新的产生,阿帕奇可以超过60万封邮件,每天有1千多封新邮件产生。Mozilla每天有2万多条新提交,目前最流行Github.com网站有超过1.2千万的项目。我们软件工程学科有一个分支做这个事情,我们希望基于这些存在的数据并来研究软件开发效率和质量。我们称为软件数字考古学。

 

 

    这是一个基本方法,这是我讲到的在英特尔上所有开源项目留下的数据,所有开发历史每个代码提交,每个问题处理,每个评论都留下来,我们拿到这些数据后进行清洗处理,我们就可以对软件开发我们所关心的问题来预测未来实施推荐,提供决策支持。

 

 

    这是我们非常重要的四部分,第一必须获取必须清洗数据,这个不像在企业,对于提供方有专业接口,拿到数据要得到有效结果要去理解数据产生的场景,需要理解相应数据法则建立回答你所要回答的问题。

 

 

    举例,对于软件开发来讲,我们会对一些什么问题关心呢?重点是效率和质量,比如风险评估到底做怎么样一个项目需要多少人多少时间,质量预测,对于现在这个软件来讲,每一篇代码最有可能出错,第二是全球分布开发效率,比如一个项目我是大公司,团队全球各地,到底按什么方式组建团队?这是我们在IBM做调研时候他们某一个项目的经验。比如美国人负责和客户打交道,中国人设计,印度人实现,这是他们认为非常好实践方法。开源生态系统是我们研究焦点,APP等等这些,重点问题这些开源生态系统是包括用户,包括生产者,包括各种开发者,这个生态系统怎么建立?怎么可以持续不断发展下去?接下来我会讲两个例子,在我们这个领域基于这些数据,为了回答这些问题我们怎么做怎么回答怎么做预测。

 

 

    第一个例子对开源社区长期贡献者非常关键,新人缺乏经验,但如果这些在社区待过足够长时间他们留下来,对于开源社区无论是发展以及健康生态都重要,所以有一个重要问题对开源社区比较关心,我怎么去吸引长期贡献者。这是问题的回答,大家看这张图,这是两个社区,一个是Gnome,一个是Mozilla,每年有新支援者参与开源社区,但是参与进来到能够在社区里面待三年,三年以上是长期贡献者,这是每个月比例,从曲线看,这条曲线在不断下降的,这给我们带来一个问题,到底这些长期贡献者为什么在逐年降低?使得我们对这个问题更加感兴趣。

 

 

    我们研究一个焦点是什么?我们研究这个问题是想对社区提供支持,新来者进入社区时候告诉你说谁更有可能在这个社区待下去,对于社区里面的长期贡献者,对于社区里面贡献人员可以有限的注意力放在这些未来最有可能成为长期贡献者的新来者身上面。这些有一些技术细节不想深入,但是我希望给大家一个基本认识,我们这些数据来自版本控制问题追踪,这些全部记录在案,我们建立基础是基于这样的数据观察每一个人进入到项目第一个月所有的活动,然后来判断到底和谁交互,当时意愿怎么样,环境怎样有效交互,或者环境有负面影响。这是两个社区上一个数据规模。

 

 

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读