1.背景
因为最近在搞ospaf也是就是一个开源项目成熟度分析工具,因为项目跟Ohloh有一些共同点,所以对ohloh进行了调研。
简单来说,最初的ohloh是一个代码搜索工具。我们输入一行代码,然后他可以查找到这行代码出现在那些开源软件的哪些类中,还是比较强大的,特别是在进行一些源码追踪的任务的时候。如下图所示,当我输入“python”的时候,它会显示python出现在哪些开源文件里面。
后来ohloh被黑鸭子公司收购,整合完成了openhub这个网站,网址是https://www.openhub.net/(在墙外)
openhub有一个非常有趣的功能,它可以对开源项目进行简单的比较。向下图一样
我们拿ruby和mysql这两个项目作比较,除了罗列出一些比较基础的数值,比如说commits、develper数量等。它提供了一个开源项目活跃的的数值,也就是Project Activity。
2.活跃度指标分析
前面说到,openhub这个网站提供了项目活跃度的指标,我就很好奇它是如何定义这个活跃度,它对于这个指标有一个解释(http://blog.openhub.net/about-project-activity-icons/),它的定义方法还是比较简单的,就是用contributor和commits的数量来衡量一个项目是否活跃,另外加上了时间序列作为判定,也就是一个项目近期它的contributor和commit数量越多,它的活跃度越高。
另外,它的另一个评价项目的关键指标是用户的体验,也就是kqi。user rating其实很好的说明了一个项目的成熟度,他能做到这点应该是基于大量的用户数。
3.启发和思考
首先,研究这个项目可以搞明白,哪些指标是真正影响项目成熟度的主要参数。比如说一个项目的活跃度主要是由能否维持一个恒定的贡献来决定的。
其次,这个网站提供了很多有价值的数据,比如哪些项目比较活跃,哪些贡献者比较活跃水平比较高,这些数据很有价值。
当然,我觉得openhub还是有一些地方可以加强,
1.比如说对于项目的活跃度分类过于简单,可以多加进来一些特征来计算比较。当两个热的很高的项目比较的时候,没办法分辨出活跃度高低,可以改为打分形式。
2.很多特征没有进行充分挖掘,比如说贡献者的水平。既然网站已经列出了一些比较杰出的开源贡献者,完全可以增加一个数值表示杰出贡献者比例。
3.缺乏对于项目的综合评定,比如可以结合项目的活跃度、项目的完善程度等指标综合打分。
4.可以增加用户的diy对比,不同用户对于项目的需求是不同的,有的可能需要活跃度高的,有的可能需要已经比较完善的。如果可与根据用户的需求,调整特征的权重进行比较会更好。
/********************************
* 本文来自博客 “李博Garvin“
* 转载请标明出处:http://blog.csdn.net/buptgshengod
******************************************/