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

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公司的员工,但是本文中所表达之观点完全是作者本人的观点,而非作者所在公司的观点。还需要指出的是,作者所在的公司完全同意作者以独立的视角继续此项目。(责编:周小璐)

阿里巴巴集团UC移动事业群总裁俞永福:AMAP Inside——更专业、更开放 《程序员+》移动应用上线 启动“2014 MDCC十大人气应用/产品评选活动” 微软开发体验与平台合作事业部大中华区DX部门总经理Srikanth Raju:基于云的跨平台开发 Facebook平台工程合作部亚太区总经理张博:通过Facebook构建下一代移动应用 Vungle工程副总裁Wayne Chan:移动视频广告的未来 友盟副总裁焦岳:2014移动互联网行业趋势&大数据的行业价值与运营支持 联发科技创意实验室副总裁Marc Naddell:以小博大的可穿戴方案 用友软件股份有限公司高级副总裁谢志华:企业互联网移动化触手可及 【MDCC 2014】英雄会晚宴——厉兵秣马,再上征程 移动开发技术与平台峰会(上):流量优化、数据管理、IM、LBS与跨平台开发 【推广、盈利与投资论坛】探寻推广与盈利新趋势 【企业移动化论坛】翻山越岭,创新突围企业移动化 解读微信与开发者双赢的开放能力 2014年10月操作系统份额:Windows 8.1份额喜人,Linux跌惨了 智能硬件峰会(下):苹果、微信、小米带给移动医疗产品开发的启示 移动游戏峰会(下):从端游转型手游、如何做一款不一样的游戏 移动游戏峰会(上):小团队如何做出大制作、游戏防作弊攻防战 深圳微信开发者大会:拒绝概念 这次只谈“怎么做” AMD应邀出席HPC China 2014,重磅推出新一代Firepro-S系列高性能显卡 你就是主角,MDCC 2014交流对接活动回顾(组图) 解读最具O2O属性—哈根达斯微信企业号的成功之道 值得Java开发者参与贡献的十个开源项目 LokiJS:纯JavaScript实现的轻量级数据库 OpenStack第七次北京Meet Up:谈私有云现状 中国电信携手电商打造跨界O2O联盟 【MDCC 2014】移动开发技术与平台峰会(下):系统演进、应用数据泄露风险 惊喜太多 IntelliJ IDEA 14正式发布 欧派、南航、招行、哈根达斯等加盟 深圳微信大会第二批讲师议题公布 【MDCC】用友高级副总裁谢志华:企业移动化的变革与挑战 HTML5定稿了,为什么原生App世界将被颠覆 走苹果的路子!Jawbone推低端健身追踪设备 怎样修改xml的节点的值? Tabpage(子项)可以改变颜色,但Tabcontrol(父项)改变不了颜色。高手帮忙。 MM说:“你可真够没良心的!”! (邀请水园MM请参与) 测试流程! 在用ADO时如何判断在所取得的记录中,值为null的的情况 急(送100分):多个image控件如何用imagexxx使用? 关于数组的问题。 Weblogic 死锁的问题 想到亚信去,请各位兄台给点建议!(有分!) 请问能不能用System.Drawing对象在一个页里里画多张图? 索引和自增字段 关于对话框? 求能人?或给思路 请问哪儿有Lotus Notes C API的教程?以及要进行编程必须进行哪些配置? 100分求助:怎麼判斷數據庫服務器存在與否? JUnit重复测试的问题 请问一个hyperlink简单问题 求助:datagrid中控件事件的使用问题? 在C中写文件的内容,在线等待!!! 装了linux后,我的win2000和linux的时间老是都不对了 如果结束会话 如何送分呀? 谁有这个文档的中文资料,谢谢,高分奉送!!! 急!!!请问系统恢复盘的问题! 自定义数据类型如何定义?(数组) dw疑问 请问一下,李维的哪几本书比较好,我有VC基础,想学学DELPHI,望各位给个建议谢谢! jbuild好用吗? 怎样将一个单值的String类型赋给char类型的变量? 哪位有实现(首页 上一页 下一页 末页)的例子? 对话框?求救? 高手看过来,超难问题,高分求解!!!!!分不够,再加~!!! 关于VB中DataGrid控件挂ADO的问题,我想程序中运行时,改变ADO的RecordSoure,并希望DataGrid显示时动态更新? 怎样读懂msdn中的英语 最近我们将用C语言开发一个接口快帮我哦~~~~~~~~~~ 关于socket.setSoTimeout()的问题,请进,请进…… 一个小问题帮我看看该怎样写!!! 百分询问一个问题,哪里有JBUILDER的电子图书下载? 拷贝内存时出现的问题! 拼音加加输入法是我用国的的最好的输入法,可是遇到了一点问题 我要支持MP3的JAVA JMF包文件(FOR POCKET PC),谁有阿???50分 为什么GETDATE()在自定义函数中不能使用 请问EXEC()语句是 执行完后返回? 未来在哪里?---献给大多数人 那里有使用Analysis Service进行数据挖掘方面的例子! 关于程序的输出 在数据窗口中RETRIEVE的参数是DATETIME型如何写这个参数//.. 输入法字体修改问题 我问一个简单的问题 关于SQL语句的简单问题 ???????????????????????????、、、 为什么在DBGRID中用INSERT命令输入记录后记录会追加到数据集的最后? 餐饮收入增幅继续下滑 湘鄂情半年营收浙大宁波理工学院新生报到日送鼓励 请“黑中介”混迹相亲角 隐藏安全隐患亟浙江:寒门学子有帮扶 缓交学费先入学210国道广西都安段再发山体塌方 交男子撞死人逃逸肢解轿车扔水塘 5位亲香港堆填区发生污水渗漏事故 港府紧急李嘉诚被指“拖欠”捐款 港大称按协议90后男子通过网络相亲骗财色 近20工信部欲规范光伏制造业 不合格无政策未完成减排任务 “两桶油”遭环保部项空电梯井旁边没放警示标志 小伙一脚踏宁波一少年饭后不洗碗被骂 跳崖轻生获价格优势不再 尼彩手机成都市区52家智能电视激发电视产业新活力 传统电视统计局解读早稻增产:因惠农政策和有利人大常委会分组审议资产评估法草案二审日本设立濒危动物精子库 准备留送外星美国小镇出现神秘阔绰男子 狂送70027岁“抑郁”北极熊患肿瘤 被实施安调查发现四分之一美国人独居 比例为5蓬莱今秋滋补品市场价格分化 海参打折一个香港商人在贵州雷公山的“欠债”与长沙市委书记重庆点赞大龙网 力挺众创中国华信能源有限公司执行董事臧建军获靖王殿下最爱的榛子酥,你想要么~信通中国受邀出席第十二届中国国际金融个人如何注册BVI公司?办理美国探亲签证需要准备的材料针织衫潮搭 搭出气质MM厦门市区内将有免税店可逛中国华信叶简明企业文化讲话精选 重视厦门水价气价也要走“阶梯”啦活期利率居然还变少了经济寒冬 P2P忙转型 P2P+P2首创金服岳明:P2P行业或面临洗牌领投中国投资人中心的开业 创新了中国蔡英文发表防务政策:未来强化三产业 北京消防开展液化石油气泄露消防演练韩范裤装打扮 舒适又赚眼球Tao整体家居:选对优质床垫 拥享舒仪式感:那些NB餐厅除了卖产品,还在
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘