本文是对《CY12-Q4 OpenStack, OpenNebula,Eucalyptus,CloudStack社区活跃度比较》一文的补充和更新。对本文内容感兴趣的读者,可以通过电子邮件或者新浪微博(@qyjohn_)与我联系。
本文同时发布了一个英文版本,可以参见CY13-Q1 Community Analysis — OpenStack vs OpenNebula vs Eucalyptus vs CloudStack这个帖子。
需要说明的是,这个社区活跃度比较项目起源于CY11-Q4,此篇报告是到目前为止已经发布的第六个季度性的报告。尽管作者于2012年10月成为Eucalyptus公司的员工,但是本文中所表达之观点完全是作者本人的观点,而非作者所在公司的观点。还需要指出的是,作者所在的公司完全同意作者以独立的视角继续此项目。
本文的目的是通过论坛和邮件列表的原始数据对OpenStack、OpenNebula、Eucalyptus和CloudStack项目的社区活跃度进 行分析和比较。主要的原始数据是自2009年来这四个项目的官方论坛和邮件列表每个月所产生的讨论主题数、帖子数、以及参与讨论的总人数(邮件地址或者用 户账号)。为了获取这些数据,我写了一个Java程 序自动地从这四个项目的网站下载了所有的论坛和邮件列表信息,并且从这些信息中分析提取出我所需要的数据。程序提取的数据被导入MySQL数据库中以便进 行统计分析,统计分析的结果通过LibreOffice生成分析图表。
需要说明的是,Eucalyptus项目在今年2 月份将原来的社区邮件列表切换为基于Google group的新的邮件列表。这样的切换通常会给邮件列表的流量带来一定的影响。此外,从CY13-Q1开始,我们将CloudStack项目的users-cn邮件列表添加到我们的数据源当中。这个邮件列表目前占CloudStack相关流量的3~5%左右。未来我们还将会根据需要为此项分析添加新的数据源。
此外,我们发布CY12-Q2分析报告之后,有些读者指出来自incubator-cloudstack-dev邮件列表的数据可能有些问题。这个邮件列表里包含了一些由JIRA自动生成的邮件内容。在CY12-Q3的分析中,我们设置了一个过滤器,自动地排除了所有标题中含有”[jira]“标识符的信息。需要指出的是,我们注意到越来越多的技术讨论发生在JIRA系统当中。但是,我们暂时还是决定将来自JIRA的消息排除在此项分析之外。
图1 和图2分别是如上所述四个项目每个月所产生的讨论主题数和帖子数。可以看出:
(1) 与OpenStack和CloudStack相关的讨论数量远大于与Eucalyptus和OpenNebula相关的讨论数量;
(2) 在过去六个月中,与Eucalyptus相关的讨论数量在逐步攀升。虽然其讨论规模还远远小于与OpenStack和CloudStack相关的讨论规模,但是已经超过Eucalyptus本身的历史最高水平。
通常来讲,一个讨论主题得到的回复数越多,表明该主题的讨论越深入。一个论坛或者邮件列表如果只有主帖而没有回复,说明这个社区的参与程度很低。因此,平 均意义上的“讨论帖子数/讨论主题数”则反映了一个社区的参与程度,这里我们暂且称之为参与度(Participation Ratio)。
长期以来,OpenStack项目的参与度远高于其他三个项目的参与度。但是在过去十二个月中,CloudStack与Eucalyptus项目的参与度正在稳步增长,OpenStack项目的参与度正在逐步下降。目前CloudStack和Eucalyptus项目的参与度最高,接近于4;OpenStack与OpenNebula项目的参与度次之,接近于3。
图4 所示为这四个项目每个月参与论坛或者邮件列表讨论的总人数。可以看出,CloudStack与OpenStack的活跃用户数量要远大于OpenNebula和Eucalyptus。在过去六个月中,CloudStack, Eucalyptus和OpenStack项目的活跃用户数量都有不同程度的攀升。
值得一提的是,虽然CloudStack的活跃用户数量稍微小于OpenStack,这两个项目的主题和帖子数量是基本相当的。换句话说,CloudStack的用户在社区中比OpenStack的用户更加活跃。
累计社区人口(简称社区人口)指的是曾经通过论坛或者邮件列表参与过讨论的用户和开发者总数。(不包括在论坛或者邮件列表中注册但是从未公开参与讨论的社 区成员。)这些人或多或少地使用过相关产品,但是并不代表他们目前还是活跃用户。图5 所示为这四个项目的社区人口增长趋势。可以看出,OpenStack与Eucalyptus项目的社区人口遥遥领先,CloudStack与OpenNebula项目的社区人口相对较低。
在CY12-Q3报告中,我们提出了社区人口数据可能存在重复计数的问题。在CY12-Q4报告中,我们采取了进一步的措施以消除重复计数。可以认为,尽管重复计数的现象依然存在,但是已经降低到对分析结果不产生明显的影响的程度。
图6 所示为这四个项目每个月新增加的社区人口数量。在过去三个月中,CloudStack与OpenStack的社区人口增长速度基本相当。
与CloudStack和OpenStack向比较,Eucalyptus和OpenNebula的社区人口增长较为缓慢。
图7 是图4 与图6的重新组合。其中,实线部分表示的是每个月参与论坛或者邮件列表讨论的人数,虚线部分表示的是每个月新加入论坛或者邮件列表的人数。
OpenStack与OpenNebula项目的新增人口占当月活跃用户的30%左右,CloudStack与Eucalyptus项目大概是50%。如 果不考虑社区人口的规模的话,可以认为OpenStack与OpenNebula项目的粘性大于CloudStack与Eucalyptus项目。
图8 所示分别是本文所述四个项目的社区人口,过去一个季度的活跃用户数量,以及过去一个月的活跃用户数量。可以看出:
(1) OpenStack的社区人口最多,然后是Eucalyptus、CloudStack、OpenNebula;
(2) 在过去一个季度中,OpenStack的活跃人口最多,然后是CloudStack、Eucalyptus、OpenNebula;
(3) 在过去一个月份中,OpenStack的活跃人口最多,然后是CloudStack、Eucalyptus、OpenNebula。
在CY12-Q3分析中,我们首次提出了“社区活跃度指数”这样一个参数。这个参数是如下几个参数的某种组合:
(1) 当月帖子总数,代表相关讨论的规模;
(2) 当月参与度,代表每个问题获得的回帖数量;
(3) 当季活跃用户,代表从社区获得帮助的可能性(长期);
(4) 当月活跃用户,代表从社区获得帮助的可能性(短期)。
在这个分析中,我们选择如上各个社区的平均值作为参考数据,并将每个社区的数据与参考数据进行比较。我们将每个社区各个参数与平均值的比值之和称为“社区活跃度指数”。可以认为,社区活跃度指数最高的项目,是最活跃的项目。
从图9 中可以看出,目前OpenStack项目的“社区活跃度指数”最高(以明显的优势领先),然后是CloudStack、Eucalyptus、 OpenNebula。
如上所述“社区活跃度指数”的概念还非常原始,还有很大的优化空间。它有点在于用量化分析的方法取代了传统的感性分析,例如“我认为”、“我相信”、“我猜测”等等。在未来的报告中,我们将基于这个概念每个季度发布一次OpenStack、OpenNebula、 Eucalyptus、CloudStack项目的“社区活跃度指数”排名。当然,我们也会在必要的时候对相关算法进行调整,例如增加或者删除某些参数,或者是调整某些参数的权重。
曾经有多位读者建议我们基于Git活动对各个主流的开源IaaS项目的开发情况进行分析。我们注意到CloudStack、Eucalyptus、OpenNebula以及OpenStack项目都将代码托管在github.com上。因此,我们基于来自github.com的数据对这几个项目的开发情况进行了一些简单的分析。需要指出的是,对于OpenStack项目来说,其数据源包括了托管在github.com上的Cinder、Glance、Horizon、Keystone、Nova、Quantum和Swift子项目。
图10所示分别是本文所述四个项目每个月向github.com提交代码(commit操作)的次数。总体来看,OpenStack项目提交代码的频率较高,平均每个月提交代码1000次左右,活动最为密集的的一个月达到了2000次之多。OpenNebula项目提交代码的频率较低,平均每个月提交代码200次左右。CloudStack和Eucalyptus两个项目提交代码的频率在同一水平线上,但是Eucalyptus项目存在较大的波动情况,具有比较明显的批量更新的特征。
图11所示分别是OpenStack项目中各个子项目目每个月向github.com提交代码(commit操作)的次数。总体来看,Nova子项目提交代码的频率较高,是其他几个子项目的三倍左右。值得注意的是,尽管各个子项目提交代码的频率各不相同,但是其时程曲线基本上是一致的,波峰和波谷基本上出现在相同的时间。这个现象表明尽管OpenStack项目中各个子项目相对独立,但是具有相同或者相似的开发计划和开发进度。可以认为,OpenStack项目在子项目的管理和协调方面是做得比较好的。
图12所示分别是本文所述四个项目每个月向github.com提交代码(commit操作)的人数。总体来看,OpenStack项目提交代码的人数远远超过其他三个项目,并且一直保持迅猛增长的势头。CloudStack项目提交代码的人数也有所增长,但是其增长速度较为缓慢。Eucalyptus项目和OpenNebula项目提交代码的人数相对较少,并且在过去六个月当中基本上没有增长。
图13所示分别是OpenStack项目中各个子项目每个月向github.com提交代码(commit操作)的人数。总体来看,Nova子项目提交代码的人数较多,是其他几个子项目的三倍左右。
人们通常通过代码贡献者所使用的电子邮件地址来识别其所在的机构。尽管这种方式存在较大的缺陷(例如有一些机构鼓励雇员以个人的名义向开源项目贡献代码),但是还是可以从某种程度上揭示不同机构对某个开源项目的贡献力度。图14所示分别是每个月向本文所述四个项目提交代码(commit操作)的邮件地址所属域名数量。总体来看,OpenStack项目提交代码的域名数量远远超过其他三个项目,并且一直保持迅猛增长的势头。CloudStack项目提交代码的域名数量也有所增长,但是其增长速度较为缓慢。Eucalyptus项目和OpenNebula项目提交代码的域名数量相对较少,并且在过去六个月当中基本上没有增长。
图15所示分别是OpenStack项目中各个子项目每个月向github.com提交代码(commit操作)的域名数量。总体来看,Nova子项目提交代码的域名数量较多,是其他几个子项目的三倍左右。
下面这个表格以电子邮件所属域名的形式列出了在CY13-Q1期间向CloudStack、Eucalyptus、OpenNebula和OpenStack项目贡献代码次数最多的机构(以及贡献代码次数的百分比)。可以看出,Eucalyptus和OpenNebula属于以单一机构为主导的开源项目,而CloudStack和OpenStack属于由多家机构共同合作的开源项目。对于CloudStack项目来说,来自Citrix的影响非常明显,直接来自citrix.com和cloud.com的邮件地址占了45%。对于OpenStack项目来说,由于来自review.openstack.org的贡献是由一个代码评审系统使用一个帐号(jenkins@review.openstack.org)自动发布的,我们无法评估Rackspace对该项目的影响程度。值得注意的是,在FY13-Q1期间来自redhat.com的贡献占了9%,而来自ibm.com(linux.vnet.ibm.com和us.ibm.com)的贡献占了7%,可以认为Rackspace对OpenStack项目的控制程度正在逐步减弱。
CloudStack | Eucalyptus | OpenNebula | OpenStack | ||||
Domain | % | Domain | % | Domain | % | Domain | % |
citrix.com | 39 | eucalyptus.com | 85 | opennebula.org | 99 | review.openstack.org | 48 |
apache.org | 26 | gmail.com | 13 | nostalgeek.com | 0.5 | redhat.com | 9 |
gmail.com | 14 | fedoraproject.org | 2 | gmail.com | 0.15 | gmail.com | 9 |
cloud.com | 6 | djurdjevic.ch | 0.15 | linux.vnet.ibm.com | 4 | ||
bestservers.com | 3 | c12g.com | 0.15 | openstack.org | 3 | ||
schubergphilis.com | 3 | us.ibm.com | 3 | ||||
widodh.nl | 2 | hp.com | 2 | ||||
zonker.net | 1 | nicira.com | 2 | ||||
tcloudcomputing.com | 1 | cloudscaling.com | 1 | ||||
gnsa.us | 1 | intel.com | 1 |
下面这个表格以电子邮件所属域名的形式列出了在CY13-Q1期间向OpenStack项目各个子项目贡献代码最多的机构(以及贡献代码次数的百分比)。
Cinder | Glance | Horizon | Keystone | ||||
Domain | % | Domain | % | Domain | % | Domain | % |
review.openstack.org | 47 | review.openstack.org | 45 | review.openstack.org | 46 | review.openstack.org | 45 |
solidfire.com | 9 | redhat.com | 9 | gmail.com | 15 | gmail.com | 19 |
redhat.com | 7 | linux.vnet.ibm.com | 9 | hp.com | 8 | redhat.com | 14 |
gmail.com | 7 | rackspace.com | 8 | redhat.com | 8 | linux.vnet.ibm.com | 4 |
hp.com | 5 | gmail.com | 8 | strikeawe.com | 7 | openstack.org | 2 |
linux.vnet.ibm.com | 5 | hp.com | 7 | da.jp.nec.com | 3 | suse.cz | 2 |
il.ibm.com | 3 | markwash.net | 7 | 99cloud.net | 2 | hp.com | 2 |
intel.com | 2 | inaugust.com | 3 | nttmcl.com | 1 | ca.ibm.com | 1 |
citrix.com | 2 | us.ibm.com | 1 | metacloud.com | 1 | us.ibm.com | 1 |
emc.com | 1 | intel.com | 1 | ispras.ru | 1 | cern.ch | 1 |
Nova | Quantum | Swift | |||||
Domain | % | Domain | % | Domain | % | ||
review.openstack.org | 50 | review.openstack.org | 40 | review.openstack.org | 44 | ||
redhat.com | 10 | openstack.org | 11 | gmail.com | 16 | ||
gmail.com | 8 | redhat.com | 9 | swiftstack.com | 10 | ||
us.ibm.com | 5 | nicira.com | 7 | enovance.com | 4 | ||
linux.vnet.ibm.com | 5 | gmail.com | 5 | not.mn | 3 | ||
cloudscaling.com | 3 | linux.vnet.ibm.com | 4 | brim.net | 3 | ||
openstack.org | 2 | intel.com | 4 | us.ibm.com | 2 | ||
codestud.com | 2 | da.jp.nec.com | 3 | il.ibm.com | 2 | ||
rackspace.com | 1 | dreamhost.com | 2 | intel.com | 2 | ||
hp.com | 1 | mirantis.com | 2 | weirdlooking.com | 2 | ————————- | — |
与本文相关的PDF版本幻灯片可以从这里下载。如果您需要重新分发本文内容,敬请您保留相关作者信息。
转载请注明:爱开源 » OpenStack, OpenNebula,Eucalyptus,CloudStack社区活跃度比较