说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

OpenStack、OpenNebula、Eucalyptus、CloudStack社区活跃度比较

HTML文档下载 WORD文档下载 PDF文档下载
本文的目的是通过论坛和邮件列表的原始数据对OpenStack、OpenNebula、Eucalyptus和CloudStack项目的社区活跃度进行分析和比较。主要的原始数据是自2009年来这四个项目的官方论坛和邮件列表每个月所产生的数据。



本文的目的是通过论坛和邮件列表的原始数据对OpenStack、OpenNebula、Eucalyptus和CloudStack项目的社区活跃度进行分析和比较。主要的原始数据是自2009年来这四个项目的官方论坛和邮件列表每个月所产生的讨论主题数、帖子数、以及参与讨论的总人数(邮件地址或者用户账号)。为了获取这些数据,我写了一个Java程序自动地从这四个项目的网站下载了所有的论坛和邮件列表信息,并且从这些信息中分析提取出我所需要的数据。程序提取的数据被导入MySQL数据库中以便进 行统计分析,统计分析的结果通过LibreOffice生成分析图表。以下是这些数据来源:

OpenStack

  • https://lists.launchpad.net/openstack/
  • https://answers.launchpad.net/openstack/
  • http://lists.openstack.org/pipermail/*/
  • https://ask.openstack.org/

OpenNebula

  • http://lists.opennebula.org/pipermail/users-opennebula.org/  
  • http://lists.opennebula.org/pipermail/ecosystem-opennebula.org/
  • http://lists.opennebula.org/pipermail/interoperability-opennebula.org/

Eucalyptus

  • https://engage.eucalyptus.com/customer/portal/topics/215645-general-discussions/questions
  • http://lists.eucalyptus.com/pipermail/community/ (Until 2013-01)
  • https://groups.google.com/a/eucalyptus.com/forum/#!forum/euca-users

CloudStack

  • http://mail-archives.apache.org/mod_mbox/incubator-cloudstack-users/
  • http://mail-archives.apache.org/mod_mbox/incubator-cloudstack-dev/
  • http://mail-archives.apache.org/mod_mbox/incubator-cloudstack-users-cn/
  • http://www.cloudstack.org/forum/index.html (Until 2012-09)

从CY13-Q2开始,OpenStack项目启动了一个名为Ask.OpenStack的论坛,我们已经将这个论坛的数据添加到此次分析的数据源当中。值得注意的是,来自Ask.OpenStack的用户和OpenStack其他社区的用户有较大的重合。由于时间有限的关系,在此次分析中我们没有来得及处理同一用户重复计数的问题(这部分的工作我们会在CY13-Q3的分析报告中进行)。

此外,Apache CloudStack项目从孵化器毕业,其邮件列表的名称发生了变化,但是其内容和用户基本不变。值得注意的是,原来在incubator-cloudstack-dev邮件列表中有大量由JIRA自动生成的邮件内容,类似的内容在cloudstack-dev邮件列表中大大减少了。不过我们依然保留了以前的过滤器设置,自动地排除了所有标题中含有”[jira]“标识符的信息。



图1和图2分别是如上所述四个项目每个月所产生的讨论主题数和帖子数。可以看出:

(1) 在过去12个月中,与OpenStack和CloudStack相关的讨论数量在同一水平上,与Eucalyptus和OpenNebula相关的讨论数量在同一水平上;

(2) 在过去12个月中,与OpenStack和CloudStack相关的讨论数量远大于与Eucalyptus和OpenNebula相关的讨论数量。


通常来讲,一个讨论主题得到的回复数越多,表明该主题的讨论越深入。一个论坛或者邮件列表如果只有主帖而没有回复,说明这个社区的参与程度很低。因此,平均意义上的“讨论帖子数/讨论主题数”则反映了一个社区的参与程度,这里我们暂且称之为参与度(Participation Ratio)

由图3可以看出,在过去12个月中CloudStack和Eucalyptus项目的参与度相对较高,接近于4;OpenStack与OpenNebula项目的参与度相对较低,接近于3。

我们也注意到参与度这个概念引起了一些争议。有些人认为“讨论帖子数/讨论主题数”较低象征着某个社区具有快速解决问题的能力,社区成员所提出的问题能够在很短时间内得到解答,因此不需要多个帖子来解决一个问题。有些人认为“讨论帖子数/讨论主题数”较高可能意味着某个社区可能出现了争论,而这种争论可能已经偏离了某个社区的讨论方向和范围。无论如何,参与度这个名称的确反映了我们的某些主观看法,在一定程度上削弱了本报告的客观性。由于我们暂时没有找到一个更加合适的替代名称,在这个报告里面还是延用原来的名称(欢迎各位读者贡献更好的参数名称)。


图4 所示为这四个项目每个月参与论坛或者邮件列表讨论的总人数。可以看出,CloudStack与OpenStack的活跃用户数量要远大于OpenNebula和Eucalyptus。在过去六个月中,CloudStack、Eucalyptus和OpenStack项目的活跃用户数量都有不同程度的攀升。

值得一提的是,虽然CloudStack的活跃用户数量稍微小于OpenStack,这两个项目的主题和帖子数量是基本相当的。


累计社区人口(简称社区人口)指的是曾经通过论坛或者邮件列表参与过讨论的用户和开发者总数。(不包括在论坛或者邮件列表中注册但是从未公开参与讨论的社区成员。)这些人或多或少地使用过相关产品,但是并不代表他们目前还是活跃用户。图5所示为这四个项目的社区人口增长趋势。可以看出,OpenStack与Eucalyptus项目的社区人口遥遥领先,CloudStack与OpenNebula项目的社区人口相对较低。

问题在于,开源IaaS软件经过这么多年的发展,长期累计社区人口的意义已经越来越弱。一方面,某些早期用户可能已经多次改变了阵营;另一方面,某些早期论坛和邮件列表已经结束了历史使命。从社区活跃度的角度来看,我们认为最近6个月或者最近12个月的累计社区人口可能是有意义的,但是将累计社区人口无限制地延伸到侏罗纪时代,可能会使这个参数失去实用价值。因此,在CY13-Q3的社区活跃度分析报告中,我们倾向于使用最近12个月的累计社区人口进行分析。

图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。

如上所述“社区活跃度指数”的计算中同时使用了当季活跃用户和当月活跃用户两个性质类似的数据。在CY13-Q3的社区活跃度分析报告中,我们倾向于仅使用当季活跃用户进行分析。此外,我们也会使用当季帖子总数和当季参与度来替代当月帖子总数和当月参与度这两个参数。

Git数据源分析

曾经有多位读者建议我们基于Git活动对各个主流的开源IaaS项目的开发情况进行分析。我们注意到CloudStack、Eucalyptus、OpenNebula以及OpenStack项目都使用git进行版本管理。因此,我们基于来自git的日志数据对这几个项目的开发情况进行了一些简单的分析。需要指出的是,对于OpenStack项目来说,其数据源包括了托管在github.com上的Cinder、Glance、Horizon、Keystone、Nova、Quantum和Swift子项目。以下是四个开源IaaS项目的Git数据源:

OpenStack

  • https://github.com/openstack/quantum.git
  • https://github.com/openstack/keystone.git
  • https://github.com/openstack/glance.git
  • https://github.com/openstack/horizon.git
  • https://github.com/openstack/swift.git
  • https://github.com/openstack/cinder.git
  • https://github.com/openstack/nova.git

OpenNebula

  • https://git.opennebula.org/one.git

Eucalyptus

  • https://github.com/eucalyptus/eucalyptus.git

CloudStack

  • https://git-wip-us.apache.org/repos/asf/cloudstack.git

在CY13-Q1报告中,我们使用了git log这个命令获取日志数据。从CY13-Q2起,我们将使用git log –no-merges这个命令获取日志数据。


图10所示分别是本文所述四个项目每个月进行提交(commit)操作的次数。总体来看,OpenStack和CloudStack项目提交代码的频率较高。在过去12个月中,这两个项目每个月进行提交操作的次数维持在600上下。Eucalyptus项目提交代码的频率也不低,但是存在较大的波动情况,具有比较明显的批量更新的特征。OpenNebula项目提交代码的频率较低,平均每个月提交代码200次左右。


图11所示分别是OpenStack项目中各个子项目目每个月提交代码的次数。总体来看,Nova子项目提交代码的频率较高,是其他几个子项目的三倍左右。值得注意的是,尽管各个子项目提交代码的频率各不相同,但是其时程曲线基本上是一致的,波峰和波谷基本上出现在相同的时间。这个现象表明尽管OpenStack项目中各个子项目相对独立,但是具有相同或者相似的开发计划和开发进度。可以认为,OpenStack项目在子项目的管理和协调方面是做得比较好的。


图12所示分别是本文所述四个项目每个月提交代码的人数。总体来看,OpenStack项目提交代码的人数远远超过其他三个项目,并且一直保持迅猛增长的势头。CloudStack项目提交代码的人数也有所增长,但是其增长速度较为缓慢。Eucalyptus项目和OpenNebula项目提交代码的人数相对较少,并且在过去12个月当中基本上没有增长。


图13所示分别是OpenStack项目中各个子项目每个月提交代码的人数。总体来看,Nova子项目提交代码的人数较多,是其他几个子项目的三倍左右。


人们通常通过代码贡献者所使用的电子邮件地址来识别其所在的机构。尽管这种方式存在较大的缺陷(例如有一些机构鼓励雇员以个人的名义向开源项目贡献代码),但是还是可以从某种程度上揭示不同机构对某个开源项目的贡献力度。图14所示分别是每个月向本文所述四个项目提交代码(commit操作)的邮件地址所属域名数量。总体来看,OpenStack项目提交代码的域名数量远远超过其他三个项目,并且一直保持迅猛增长的势头。CloudStack项目提交代码的域名数量也有所增长,但是其增长速度较为缓慢。Eucalyptus项目和OpenNebula项目提交代码的域名数量相对较少,并且在过去12个月当中基本上没有增长。


图15所示分别是OpenStack项目中各个子项目每个月提交代码(commit操作)的域名数量。总体来看,Nova子项目提交代码的域名数量较多,是其他几个子项目的三倍左右。

下面这个表格以电子邮件所属域名的形式列出了在CY13-Q2期间向CloudStack、Eucalyptus、OpenNebula和OpenStack项目贡献代码次数最多的机构(以及贡献代码次数的百分比)。可以看出,Eucalyptus和OpenNebula属于以单一机构为主导的开源项目,而CloudStack和OpenStack属于由多家机构共同合作的开源项目。对于CloudStack项目来说,来自Citrix的影响依然非常明显,直接来自citrix.com和cloud.com的邮件地址占了51%。对于OpenStack项目来说,来自IBM的贡献占了14%,来自RedHat的贡献占了12%,来自Mirantis的贡献占了9%,来自HP的贡献占了5%。

CloudStack Eucalyptus OpenNebula OpenStack
Domain % Domain % Domain % Domain %
citrix.com 46 eucalyptus.com 50 opennebula.org 100 gmail 17
apache.org 23 gmail.com 35 ibm.com 14
gmail.com 12 brainfood.com 13 redhat.com 12
cloud.com 5 fedoraproject.org 1 openstack.org 9
schubergphilis.com 2 mac.com 1 mirantis.com 8
leaseweb.com 2 hp.com 5
tcloudcomputing.com 2 nicira.com 2
zonker.net 1 rackspace.com 2
stratosphere.co.jp 1 dmllr.de 2
betterservers.com 1 solidfire.com 2

下面这个表格以电子邮件所属域名的形式列出了在CY13-Q2期间向OpenStack项目各个子项目贡献代码最多的机构(以及贡献代码次数的百分比)。

Cinder Glance Horizon Keystone
Domain % Domain % Domain % Domain %
solidfire.com 13 gmail.com 22 redhat.com 28 gmail.com 28
hp.com 10 hp.com 16 gmail.com 23 ibm.com 25
redhat.com 9 redhat.com 13 hp.com 13 redhat.com 18
mirantis.com 8 rackspace.com 12 mirantis.com 10 openstack.org 4
ibm.com 8 openstack.org 5 metacloud.com 4 99cloud.net 3
gmail.com 7 ibm.com 5 dmllr.de 2 inaugust.com 2
openstack.org 7 dmllr.de 3 inaugust.com 2 anarkystic.com 2
dmllr.de 7 markwash.net 3 me.com 2 hp.com 1
canonical.com 2 inktank.com 3 canonical.com 2 stillhq.com 1
unitedstack.com 2 inaugust.com 2 griddynamics.com 1 enovance.com 1

Nova Quantum Swift
Domain % Domain % Domain %
ibm.com 22 openstack.org 27 gmail.com 25
gmail.com 17 mirantis.com 12 swiftstack.com 16
redhat.com 8 gmail.com 12 brim.net 12
mirantis.com 7 redhat.com 10 redhat.com 10
openstack.org 4 nicira.com 9 ibm.com 7
hp.com 4 ibm.com 4 mirantis.com 6
pavlovic.me 3 cisco.com 4 not.mn 3
rackspace.com 3 da.jp.nec.com 2 kotori.zaitcev.us 3
codestud.com 3 bigswitch.com 2 enovance.com 3
stillhq.com 3 dmllr.de 2 hp.com 1 ————————-

值得一提的是,程辉创建的UnitedStack对Cinder项目的贡献和杜玉杰所在的99Cloud对Keystone项目的贡献均榜上有名。

原文链接: CY13-Q2 OpenStack, OpenNebula,Eucalyptus,CloudStack社区活跃度比较
本文是对《 CY13-Q1 OpenStack, OpenNebula,Eucalyptus,CloudStack社区活跃度比较》一文的补充和更新。本文同时发布了一个英文版本,可以参见 CY13-Q2 Community Analysis — OpenStack vs OpenNebula vs Eucalyptus vs CloudStack。

需要说明的是,这个社区活跃度比较项目起源于CY11-Q4,此篇报告是到目前为止已经发布的第七个季度性的报告。尽管作者于2012年10月成为Eucalyptus公司的员工,但是本文中所表达之观点完全是作者本人的观点,而非作者所在公司的观点。还需要指出的是,作者所在的公司完全同意作者以独立的视角继续此项目。(责编:周小璐)

VB用API函数改进ListView 控件的显示效果 用VB6.0中文版进行DHTML程序开发 用VB编写标准CGI程序 用VB编写留言板 用VB播放FLASH动画 用VB开发进程管理软件 VB用WinSock设计Chat程序 运用MSChart,生成统计图形-VB资料 向文本框等等控件的系统右键菜单里追加自己定义的菜单-VB资料 在VB中用定时控件实现长定时操作 在Visual Basic中,在GotFocus事件中快速选定文本 在程序中注册和注销 OCX 控件 -VB资料 在运行时维护DBGRID的栏位宽度-VB资料 VB怎样使用VB开发基于Sybase的C/S软件 VB怎样在运行时动态生成多个相同的控件 直接编辑VB中网格控制项的两种方法 自制控件方面的有关知识-VB资料 Unicode vs Ansi -VB资料 VB 中调用 Word 拼写检查 VB4.0安装程序的汉化 VB中对字符串的处理及其扩展 把符串中的一子串替换为另一子串 -VB资料 把数字转成英文字-VB资料 翻转一个字符串-VB资料 混合字符串的长度 -VB资料 将阿拉伯数字转成中文字的程式 -VB资料 将包含有Null结尾的字符串转换为VB字符串 切分字符串-VB资料 清除字符串中指定的字符 -VB资料 VB如何取得计算机的所有字型? VB如何取得中英混合字符串的长度? 请问这个检索的SQL语句怎么写? 这样是否就一定安全了,高手进 为什么直接删除不行 asp.net问题,马上给分 在线请教各位一个简单的问题--请问oracle8哪里有的下栽,急!!!!!!! 谁给我Beyond 2003演唱会下载地址! 为什么同一存储文件的程序在win2000个人版下出现:"存储文件时的共享违例"但是在win2000 server下没有,请教各位大师 用什么程序,把用户的安全性调到最低(可以出现警告对话框)??? 在线等待,马上揭贴 谁知到哪里有下载Jbuilder啊。。 如何在Win2000下注册服务程序呢?分不够再加 请问:如何解决“JDBC 服务器”配置不受支持的问题。 万分火急!请大侠指教(100分立即给) 如何在窗体上动态加载图标? MM明天生日放分庆祝(一) 如何进入Java的门? APS.NET下Excel调用:如何让服务器端只运行一个Excel实例?如何结束Excel进程? 快来快来!出事儿啦! 3d效果的正方形!! 惭愧啊!这么简单的数据库问题我都不会,你会吗? 谁告诉我这个马甲“ FrameShare (大城市里的帅哥) ”是谁的,千分不在话下! 在线等待,马上揭贴 再發貼(grid中定位問題) 怎么把长度为8且首位为0的string类型的数据转换成对应的长整型,用什么函数?载线等!!!! 在panel上没有OnKeyPress事件,怎么样实现按键盘某键触发该Panel上的button事件 急急急!高分求解(在线等待) 我有个棘手的问题,不知道高手能否给我解决,关于vc安装的问题 几十万条查循纪录纪录,在WEB页面中分页显示问题?大虾帮忙!!!!! 如何连接SQL数据库 在线等待,马上揭贴 MM明天生日放分庆祝(二)来者有分 Dephi的浏览器控件比VB慢,占用资源也大些! 100分,请大家帮我把下面的文字译成英文,很简单的 parser.parse是什么意思:请看代码(在线等) 菜鸟提问,快请高手解答!谢谢了! 非常值得探讨的问题 VB中的有无现成反三角函数用?函数名是什么? 菜鸟提问,快请高手解答!谢谢了! 上传文件出错误,请问该如何解决 报道 花了两个多月写了一套购物程序,请大家测试测试 ADO操作大字段地问题,急!! 有关C++I/O流库write()和read()函数的问题. 关于线程的简单问题,在线急等 请问一个C#的基本问题! ADO错误,怎么回事? java绘图 我用commondialog1打开了个文件,如何用text1得到这个文件的路径? 〓〓>===→ 怎样屏蔽datagrid的提示信息?up也给分。 对文件进行处理的问题 跪求解决方案(身份验证问题)! 这是个什么错误?? hippo怎么读 i在hippo中的发音怎么读?i在hippo中的音标是什么?i 在这里怎么读?i 在hippo中的音标是什么?是/i/么? i get the tinglies in a silly place silly place 概括“我素不知道天下有着许多新鲜事”的成语是什么? 对酒当歌,人生几何!譬如朝露,去日苦多! start pxe over ipv4什么意思 none和neither的区别是啥?意思好像一样,是不是none用在3或3各以上? 英语翻译机械制图,机械原理,机械设计,电工技术,电子技术,机械工程材料,金工实习,电子、电工实习,液压传动,测试技术 beast 12时30分mv什么意思 腾云驾雾的腾和驾是什么意思 腾云驾雾的腾是什们意思 美建议叙问题会议11月举行 仍在做反外交学院举办第十二届全国大学生外交外美政府因关门欠薪成被告埃及前总统穆尔西受审近三成美国人视中国为头号经济强国随笔:阿富汗的冬天“光秃秃”天下飞机,唯快不破:美国将推极音速间美媒曝“棱镜门”内部文件 中日为重点美国新泽西一商场发生枪击事件 暂无人阿富汗的冬天“光秃秃”美媒曝“棱镜门”内部文件 中日为重点华龙网摄友老怪作品:夜拍海棠花华龙网摄友云中ぱ飘雾作品:三月桃花360齐向东:没有安全保障 工业互联全国两会即将召开 六大经济话题值得关咱们吃的紫菜是废旧塑料袋做的?是时候何友获烟台市科学技术最高奖,玲珑轮胎早春瑞雪降临蒙山,好一幅千里雪山锦绣网络直播首次参与2017鸡年网络大过台当局欲造战机 国台办:以武拒统将致王健林:两个目标,我与天津定下了约国台办:对电信诈骗台湾嫌犯处理获国际
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘