马楠楠的恶作剧

By , July 31, 2013 8:17 am

众神与战士 -- 爱尔兰神话与传说

马楠楠的恶作剧

马楠楠时常在爱尔兰各地游荡,以恶作剧著名。人们又称他为奥东尼的克恩。

故事的经过是这样的。奥东尼在贝拉哈举行盛宴,客人们对他的房子和乐师赞不绝口。就在他们自吹自擂的时候,外面来了一位丑陋的陌生人。陌生人穿着一身破烂的衣服,鞋上全是污泥,身后拖着一把没有剑鞘的剑。他的头上披着一件破烂不堪的斗篷,耳朵从破洞里露了出来。他的手里拿着三把冬青木制作的长茅,黑如焦炭。

陌生人来到奥东尼的面前,和奥东尼互相问安。奥东尼询问他的来历,陌生人说:“我是一个快乐的流浪汉,居无定所,四海为家。我有时候住在伊勒,有时候住在希昂,有时候住在喇克莱,有时候住在芙娲山上。昨天晚上我还在阿尔班王的领地蒙奈德那里,今天我就来到您这儿了。”奥东尼派人把门卫叫来,责备他未经允许就放了个流浪汉进来。门卫分辨说这个人他根本就没有见过,更别说是放进来了。陌生人说:“放过那可怜的门卫吧。我可以悄无声息地进来,也可以悄无声息地出去。”所有人都大为惊奇,因为没有人能够不经过大门进入房间。

乐师们开始演奏音乐。他们都是全国最好的乐师,演奏的也是非常动听的乐曲。但是陌生人大声说道:“奥东尼,你们的乐师是在打铁吗?再也没有比在这里听这些噪音更糟糕的事情了。”陌生人自己拿过竖琴来,开始弹奏。听了那美妙的声音,哪怕是临产的妇女和受伤的士兵都忍不住恬然入睡。奥东尼对陌生人说:“我早就听说过在山里隐居的西荷人和他们的音乐。但是这还是我第一次听到这么美妙的音乐。您真是个招人喜欢的乐师。”陌生人回答说:“我只是有时候招人喜欢,有时候则招人讨厌。”

奥东尼派人搬来椅子,请陌生人坐在他的身旁。陌生人说:“我可不愿意这样。我宁可做我的小丑,为你们这些高贵的人取乐。”奥东尼又派人给陌生人送来衣服、帽子、衬衫和外套,但是他不愿接受,说:“我可不能让你们这些高贵的人夸口说曾经给我施舍过什么东西。”

人们意识到这个陌生人非同寻常。为了不让他离开,他们派了二十位骑兵和二十位步兵守在屋里,又在屋外派了更多的人把守。陌生人说:“你让这么多人围着我是什么意思呢?”奥东尼回答说:“他们是要把你留在这里的。”陌生人说:“相信我,今天我定然不会在这里和您共进晚餐。我要在德斯幕麦的科诺艾讷和伊耳的儿子希格汗共进晚餐。”奥东尼则、回答说:“如果你在明天天亮之前惹出什么乱子的话,我就把你拍成肉饼。”

陌生人又拿起了竖琴,象刚才那样弹奏起甜美的曲子。就在大家专心倾听的时候,他对外面的卫兵们说:“现在我要走了。好好把我看住吧,不然你们就把我弄丢了。”卫兵们听了这话,抓起斧头就往陌生人身上砍去。但是他们都被自己人的斧头看中,接二连三地倒在地上。陌生人对奥东尼说:“如果你还想救活这些人的话,就给我二十头牛和一百亩土地作为赎金吧。现在把这些草药拿去,揉碎了放在每个人的嘴里,他们就会原封不动地复活。”陌生人得到了奥东尼许诺的二十头牛和一百亩土地,又把卫兵们救活了。

伊耳的儿子希格汗正在自己的圆形房屋前面的草地上举办一次集会。同样,他看见来了一位丑陋的陌生人。陌生人穿着一身破烂的衣服,鞋子还滴滴答答地往下滴水。希格汗向陌生人询问他的来历。陌生人自称杜阿丹,那是一位远近闻名的学者的名字。他说:“我从伊丝卢达来,一路上经过塞克兰、科尔山、达哥达的马格罗尔、海科纳尔、马格艾的克鲁禅,最终走到您这里来。”人们把陌生人带进屋里,给他酒喝,又给他水洗脚。陌生人洗完脚后,倒头就睡,一直睡到第二天的早上。伊耳的儿子希格汗又前来拜访陌生人,说:“您昨天的旅程实在是太长了,难怪您睡了这么长时间。您的学问和琴艺闻名遐迩,今天我非常希望能够当面见识一番。”陌生人说:“是的,我的学问很大,并且善于弹琴。”人们给他拿来一本书,但是他一个字也不认得。人们给他拿来一把琴,但是他一首曲子也不会弹。希格汗抱怨说:“你的学问和琴艺都丢光了吗。你的名字叫做杜阿丹,但是既不认识字又不会弹琴。这不是一件很奇怪的事情吗?”陌生人看到希格汗上了当,就把书拿起来,用甜美圆润的声音从头到尾读了一遍。他又拿起竖琴自弹自唱,就像前一天他在奥东尼家所作的那样。希格汗赞叹地说道:“您真是一位招人喜欢的智者。”但是陌生人回答说:“我只是有时候招人喜欢,有时候则招人讨厌。”

希格汗陪着陌生人一起在科诺艾讷散步。他们正走着的时候,陌生人突然间就不见了。不管希格汗怎么找也找不到他的踪影。

马楠楠继续在爱尔兰各地游荡,来到了康纳特的司理伽。康纳特的女巫被穆恩斯特的女巫抢走了一个魔法花篮。康楚巴带着康纳特的人马前往穆恩斯特进行报复。马楠楠乔装成一个名叫基拉的仆人,加入了康纳特人的队伍。他们骑着牛和马还有羊等等一切可以骑的动物,经由塞安楠来到穆恩斯特。他们从穆恩斯特的女巫家里抢走了一头无角的公牛和两头花母牛,作为对康纳特女巫损失的魔法花篮的赔偿。

但是穆恩斯特人在康纳特人回去的路上截击了他们。基拉问康楚巴是想早点把牛赶回家去,还是要给穆恩斯特人一个教训。康楚巴说最好是给穆恩斯特人一个教训。于是基拉独自带着一张弓和二十四支箭留下断后,一直到康楚巴带着人马安全回到康纳特。

有一回,基拉到康楚巴家去作客。康楚巴没有把第一杯酒送给基拉,而是自己把第一杯酒喝了。这可把基拉惹恼了,立即就离开了康纳特。

然后他穿着以前的破衣服烂鞋子到了达达格那里。人们问这个陌生人都会什么本领。他说:“我是个完杂耍的。如果你给我五个马克,我就给你们表演一个杂技。” 达达格说:“我可以给你五个马克。”陌生人收下了五个马克,然后在手上放了三根灯芯草,说:“现在我要把中间那根灯芯草吹走,但是旁边的两根灯芯草完好无损。”陌生人用两个指头夹住旁边两根灯芯草,一口气把中间那根灯芯草吹走。达达格夸奖陌生人说:“这真是个不错的杂技。”但是达达格手下有个人不服,说:“这算什么杂技。你给我一半的钱,我也可以给你表演同样的事情。”陌生人说:“如果你也能够做到的话,我可以把我得到的钱分一半给你。”那个人也在手上放了三根灯芯草,试图把中间那根灯芯草吹走。就在他设法夹住旁边两根灯芯草的时候,他的两根手指头扎穿了他的手掌。陌生人大声说道:“哎唷。我可不是这样表演的。不过你已经输了钱,我可以把你的伤治好。”

陌生人又说:“现在我要给你们表演另一个杂技。我可以让一只耳朵动起来,但是另一只耳朵不动。”达达格说:“好啊。那就让我们见识一下吧。”陌生人抓住自己一只耳朵,上下摇动。达达格说:“嗯。这是个不错的杂技。”陌生人看出了达达格不以为然的表情,又说:“等着。现在我要给你们表演一个真正的杂技。”

陌生人从包里掏出一根丝线往天上扔去,那丝线一下子窜到云上。他从包里掏出一只兔子,那兔子嗖的一声顺着丝线爬了上去。他接着从包里掏出一只小狗,那小狗一边吠叫一边追那兔子。他又从包里掏出一个僮仆,让他顺着丝线去追小狗和兔子。然后他拿出另外一个包来,从里面掏出一个漂亮的姑娘。陌生人让姑娘跟在僮仆和小狗后面,不能让小狗把兔子吃掉。 达达格看到姑娘、僮仆、小狗和兔子在空中追逐嬉戏,不由得开怀大笑。

过了一小会,空中安静了下来。陌生人说:“恐怕是上面发生了点什么事情吧。” 达达格问:“会是什么事情呢?”陌生人说:“我猜小狗正在吃兔子,僮仆正在调戏姑娘。”达达格说:“嗯,很有可能。”陌生人把丝线拉了下来,他们看到僮仆正在跟姑娘做爱,小狗正在啃兔子的骨头。陌生人勃然大怒,拔出剑来砍下了僮仆的头。 达达格不悦地说:“我可不喜欢您在我的面前做这样的事情。”陌生人说:“如果您乐意的话,我还可以把他变回来。”他拿起人头扔向僮仆的尸体,人头自动粘到颈脖上。僮仆站了起来,脸部却是反的。 达达格说:“如果是这样的话,那真是生不如死了。”陌生人抓住僮仆的头把它扭正,就像以前那样完好如初。做了这些事情以后,陌生人突然就消失了,没有人知道他去了哪里。

这就是马楠楠在爱尔兰四处游荡、搞笑逗乐、装神弄鬼的故事。没有人能够把他留在任何地方。即使他将自己陷于危险之中,他总是能够安然无恙地全身而退,并且让那些嘲弄他的人吃尽苦头。但是他的玩笑通常是无害的。那些被他用魔法杀死的人,总会被他包袱中的草药救活。

马楠楠只吃酸奶和海棠果,不吃任何其他食物。世界上没有任何音乐比他所演奏的音乐更加甜美。

马楠楠

By , July 10, 2013 8:01 am

众神与战士 -- 爱尔兰神话与传说

马楠楠

现在我们来讲一讲可敬的马楠楠的故事。马楠满是李尔的儿子。达楠人被盖尔人打败后,马楠楠让达楠人隐居在山林之间,并在居住点周围筑起隐形的墙。安顿好达楠人之后,马楠楠独自离开了爱尔兰。有些人认为他已经死了,并且确信他是在战斗中被犹兰杀死的。他们绘声绘色地说战斗发生在马格崔兰,而马楠楠是被站着埋葬的。马楠楠被埋下之后,一个大湖从他的脚下冒了出来。这个湖以马楠楠的一个外号起名,叫做欧泊辛湖。直到现在,这个地方还是一片红色的沼泽。芭妲在这场战斗中取得了胜利,很多女人在这场战争中失去了丈夫。

但是后人又多次在爱尔兰见到马楠楠的踪迹。国王康奈尔的母亲伊妲藏匿在牧牛人家里时,马楠楠派出信使为伊妲传递信息。德尔德莉的孩子们很小的时候,马楠楠将他们藏在苹果林里抚养成人,人们称那个地方为“暴风骤雨中的一片净土”。马楠楠教会芬族的迪安努德使用武器,也是马楠楠教会库丘林使用标枪盖堡。甚至有人说马楠楠就是德尔德莉的父亲。当尤斯得尔的王康楚巴寻找德尔德莉的时候,马楠楠变成一只兔子跑在尤斯得尔人的猎犬前面,将康楚巴带到德尔德莉藏身的地方。

传说康楚巴将尤斯那的后代包围在玛姹城堡,遭到了他们的英勇反抗,不能取胜。康楚巴请求马楠楠的帮助,但是马楠楠拒绝了。实际上,马楠楠早就警告康楚巴说德尔德莉会使他的王国土崩瓦解,并不顾康楚巴的反对为德尔德莉提供庇护。康楚巴转而恳求马楠楠暂时蒙住尤斯那家族的眼睛,不然他的军队就会全军覆没。马楠楠考虑再三,答应了康楚巴的请求。尤斯那的后代杀出城门,与尤斯得尔的军队作战。但是他们突然双目失明,在黑暗中自相残杀,一个个死在自己人的手下。但是也有人说马楠楠和这件事没有关系,是巫师卡特巴达用魔法将尤斯那的后代淹死在大海里。

马楠楠有很多个化身。有人说铁匠库莱恩就是马楠楠的化身之一。库丘林后来继承了铁匠库莱恩的名号。

在来到尤斯得尔之前,库莱恩曾经到过法咖岛,那里是马楠楠的居住地之一。康楚巴来到尤斯得尔之前,曾向一位巫师请求忠告。巫师让他到法咖岛去请求名叫库莱恩的铁匠为其打造武器。康楚巴来到法咖岛,遇到了铁匠库莱恩。库莱恩答应为他打造宝剑、长矛和盾牌。

库莱恩忙着为康楚巴打造武器。一天早上,康楚巴到海滩上去散步,看到一位海美人在海滩上睡觉。康楚巴对梦中的海美人施了个咒语,使得她无法逃跑。海美人醒来后,发现自己被康楚巴德的咒语困住,便恳求康楚巴恢复她的自由。她说:“我是蒂亚巴哈,海里的女神。你让库莱恩把我的形象和名字刻在你的盾牌上。只要你带着这盾牌,你的敌人就会闻风丧胆,而你的人马则勇气倍增。”

康楚巴将海美人放回大海,让铁匠按照海美人的吩咐打造盾牌。他回到爱尔兰之后,果然是盾牌在手,所向披靡,战无不胜。后来康楚巴将库赖恩请到爱尔兰来,并在暮易赫姆纳平原上划了一块地盘供他居住。不管他是不是马楠楠,康楚巴显然是从他那里受到了很好的教育。

传说马楠楠有一批优秀的猎犬,但是它们全都死在一次狩猎活动中。那时,有一头野猪在爱尔兰各处游荡,所过之处,一片狼藉。马楠楠派出所有的猎犬紧追不舍。野猪跑到一个大湖边上时,湖水突然奔涌而上。所有的猎犬都被卷入湖中,非死即残,但是野猪安全跑到湖心的一个小岛上。这个小岛就被命名为猪岛,而这个湖就被叫做犬湖。

国王康奈尔有一个养女名叫楚娲,美貌出众。康奈尔让楚娲住在妲珐山上,又安排多位酋长家的公主陪伴着她,打算将来把她许配给某位酋长。马楠楠看到楚娲年轻貌美,便指使自己的学生菲蒂亚去诱骗她。菲蒂亚是达楠人,也是一位巫师。他伪装成成康奈尔王室的仕女混入妲珐山,找到了楚娲的住所。他用一首催眠曲将楚娲迷倒,并将她带到格拉斯港口。他把楚娲放在沙滩上,想要找一艘船将她送到永生的国度。但是一阵巨浪袭来,楚娲不幸溺亡海中。马楠楠大怒不已,立即杀死了菲蒂亚。从那时候起,格拉斯港口的海浪也被叫做楚娲巨浪。

有一回,马楠楠的三头奶牛在贝勒的海边出现。其中一头是红色的,一头是白色的,一头是黑色的。人们看见奶牛们站在海滩上,就像是在思考一样。过了一会,它们并排走上岸来。那时候爱尔兰还没有大路。人们惊奇地发现,它们所到之处,就有一条宽阔的大道在它们的面前出现。大概走了一英里左右,三头奶牛就分开了。白色的奶牛走向西北的路易奈特,红色的奶牛沿着蜿蜒的海滩走向西南,黑色奶牛走向东南的里斯莫尔。同样,在它们的面前各出现一条大道。这些道路一直到现在都还能够看到。

传说马楠楠以笛卡尔的身份来见芬尼亚,并把芬族带到海底世界。他经常和芬族一起打猎,并经常给他们各种帮助。

米奇尔和伊妲

By , July 7, 2013 4:37 pm

众神与战士 -- 爱尔兰神话与传说

米奇尔和伊妲

米奇尔带着妻子芙娲和女儿玻莉隐居在山里。那时,达楠人中最著名的美男子是哲差的儿子莱斯。莱斯和玻莉堕入爱河,经常在山下幽会。有一回,玻莉和女伴们来到达珐山附近的一座小山,等待莱斯和其他的小伙子们。但是米奇尔的士兵在路上投掷标枪,挡住了莱斯的去路。漫天飞舞的标枪就像蜂群一样密集。莱斯的仆人柯柯兰被标枪击中,倒地身亡。

玻莉返回米奇尔的山里。她的心已经破碎,不久就死了。莱斯得到音信,说:“尽管我不能和这个姑娘结合,但愿我的名和她同在。”从此,这座山就被称为玻莉莱斯。

后来,米奇尔娶了伊妲为妻。他的前妻芙娲看到米奇尔和伊达恩爱有加,妒火中生。她向巫师布列萨尔寻求帮助。布列萨尔对伊妲施下魔咒,使她变得神志不清,晕头转向地被芙娲轰走了。

达格达的儿子安格斯昂收留了伊妲。米奇尔向其讨还,但是安格斯昂不肯让步。不管去到哪里,安格斯昂都把伊妲带在身边。他们休息的时候,安格斯昂就给伊妲搭起明亮的房子,里面铺满了甜美的鲜花。他又在房子周围搭起隐形的墙,这样别人就看不到他们。

芙娲听说伊妲得到了安格斯昂无微不至的照顾,心里又燃起了妒火。她绞尽脑汁,想要彻底毁掉伊妲。

芙娲假装要调停米奇尔和安格斯昂的争执,劝说米奇尔和安格斯昂当面谈判。趁着安格斯昂不在家,芙娲找到了伊妲居住的地方。芙娲施展巫术,把伊妲变成一只苍蝇,又刮起一阵狂风将她从窗户里刮走了。

米奇尔和安格斯昂没有等到芙娲,心里感到不安。安格斯昂回到家里,发现伊妲已经人去楼空。他又去寻找芙娲,却发现芙娲和巫师布列萨尔在一起。安格斯昂明白了芙娲所施的诡计。他怒不可竭,当场就砍下了芙娲的头。

可怜的伊妲被狂风席卷,在爱尔兰上空飘荡了整整七年。后来她飘到了位于切尔梅港湾的艾达的家。艾达的家里正在举行一场盛大的宴会。伊妲在飘忽之中撞到了屋顶上的柱子,又一头栽进了艾达妻子的金酒杯里。艾达的妻子举起酒杯,把伊妲连同美酒一起喝了下去。九个月后,艾达的妻子生下一个女儿。艾达把女儿起名为伊妲,又请来五十位出身高贵的女孩来和她作伴,将她象公主一样抚养成人。

一天,伊妲和女伴们一起在在海边洗浴。她们看到从海的另一边来了一位相貌高贵的男人。他骑着一匹卷毛小马驹,肩披一件绿色长斗篷,身穿一件金线缝就白衬衫,胸前一对及肩金环佩。他背负一面包金银盾牌,手执一支金柄长标枪。他有一头金色的长发,用一条金带子缠住,这样头发就不会散开。

他来到伊妲和女伴们的旁边,下马坐在海滩上,说:“美哉伊妲,海边嬉戏孩童之间。奇哉伊妲,井边治愈王的眼疾。悲哉伊妲,随酒吞入皇后腹中。国王为你征战,西荷为你倾覆,将士为你丧生。”说完这话,他就消失不见了。没有人知道他去了哪里,更没有人知道他就是来自玻莉莱斯的米奇尔。

伊妲逐渐长成一个清秀的女子。后来她遇到了爱尔兰的国王欧差。这个故事是这样的:

欧差王出巡经过玻莉莱斯,在路边的井旁看到一位姑娘正在那里洗头。她的头上插着一把金银相间的梳子,脚下放着一只银盆,盆沿上镶嵌着珍贵的猫眼石,上面还站着四只金子做的小鸟。她披着一件紫色的披风,上面装饰着精美的银穗,还别着一只金色的胸针。她身上穿着绿色的丝绸裙子,头上戴着金线绣花长帽,胸前和肩膀上的金挂饰闪闪发光。她把头发梳成两条辫子,每条辫子又分成四节,每一节上都扎着一颗珠子。她的头发就像是盛夏里的阳光,又像是刚刚打磨过的金子。落日的余晖洒在她的身上,美丽的姑娘显得更加楚楚动人。

她就站在那里,让秀发柔柔地垂到盆里。她的胳膊从袖筒伸出来,白得就像昨夜刚刚飘落的新雪。她的眼睛蔚蓝深邃,就像是盛开的小雏菊。她的嘴唇鲜红娇嫩,就像是刚刚熟透的花楸果。她的皮肤雪白剔透,就像是浪尖上翻滚的泡沫。她的脸蛋如月光般白皙,脸颊上露出快乐的酒窝,高耸的眉毛透出公主的高贵。她走起路来就像是一位皇后,步伐稳重而坚定。啊,她真是女人中的幸运者,多少男人都为她着迷心碎。

欧差王派人把那姑娘叫过来,询问她的姓名。她回答说她叫伊妲,是西荷酋长艾达的女儿。欧差王向伊妲表达了爱慕之情,给她下了聘礼。他又在妲珐山举行盛大的婚礼,正式迎娶伊妲为妻。

到了丰收节的时候,欧差王在妲珐山举行盛大的宴会。爱尔兰所有的酋长和头人们应邀都来。宴会从丰收节的两周前开始举行,一直延续到丰收节的两周之后。欧差王的弟弟艾雷在宴会上对嫂子伊妲一见钟情。整个宴会期间,只要看不到伊妲的身影,他就闷闷不乐。路克拓的女儿注意到艾雷有点魂不守舍,开玩笑地对他说:“艾雷,你这是在看什么呢?我猜你是爱上哪个姑娘了吧。”艾雷注意到自己的窘态,便刻意不往伊妲那里看。

丰收节过后,酋长和头人们回到各自的属地。但是艾雷心中压抑的欲望与妒忌与日俱增,终于在特非亚病倒。整整一年,他卧床不起,日益消瘦,却始终不肯透露自己得病的原因。年底,欧差王得知弟弟的病讯,也到特非亚来探视。他把手放在艾雷的胸前,艾雷不由得发出一声呻吟。欧差王痛心地问:“你现在怎样了呢?有没有感觉好一点?”艾雷说:“实话说吧,我现在是一天不如一天了。”欧差王问:“这到底是怎么回事呢?”艾雷说:“这个,我真的不能告诉你。”欧差王说:“我会让人找出你的病因来的。”

欧差王派自己的医生珐奈给艾雷看病。珐艾把手放在艾雷的心口上,艾雷又发出了痛苦的呻吟。珐艾说:“艾雷,你死不了的。看得出来,你如果不是因为妒忌而心疼,就是因为爱情而心疼。你是不是爱上一个人却无法说出口呢?”然而艾雷为爱上自己的嫂子而深感耻辱,不肯承认医生的说法。珐奈虽有百般狐疑,也只能无功而返。

欧差王要巡查他在爱尔兰各省的领地。在出巡之前,他交代伊妲要照顾好艾雷。他对伊妲说:“好伊妲,只要艾雷还有一口气在,你就帮我好好照顾他。如果他死了,就给他盖一座坟墓,上面铺上草皮。坟前要立一根碑石,上面用欧甘文刻上他的名字。”

欧差王出巡之后,伊妲遵照欧差王的嘱咐来照料艾雷。艾雷躺在床上,形容枯槁,有气无力地跟伊妲交谈。伊妲为艾雷唱了一首歌。她唱道:“是什么在折磨你,年轻人?日复一日,你一蹶不起。狂风骤雨也奈何不了你,是什么挡住了你的脚步?”

艾雷也用歌声回答伊妲的提问。他唱道:“万事皆有缘。恩怨皆有因。我的琴声不能给我欢乐,我的食物不能使我愉悦。”伊妲接着唱道:“是什么在折磨你,年轻人?告诉我,怎样才能治愈你。告诉我,怎样才能帮助你。”艾雷回答道:“啊,美丽的好姑娘。我的秘密难以说出口,我的秘密可以看得到。”伊妲说道:“说出秘密固然不易,但是还请你敞开心胸,这样我才能够帮助你。”艾雷回答道:“我祝福你,高贵的伊妲。我已经不能继续交谈。我的理智在离开我,我的身体在背叛我。王的妻子啊,整个爱尔兰都知道,我的心和我的身体一样破碎。”伊妲说道:“告诉我,是爱尔兰哪个姑娘在折磨你呢?让我亲自去为你向她求爱吧。”

艾雷鼓起勇气,说:“漂亮的姑娘啊,只有你才能治愈我的疾病。我长达一年的渴望,就像是对着旷野倾诉爱情,就像是对着浪花发泄疼苦,就像是对着影子苦苦搏斗。这就是我的爱,我的渴望。”

伊妲终于明白了艾雷得病的原因,心里感到非常烦恼。但是她每天都来到艾雷的住所,为他准备食物,往他的手上洒水,无微不至地照顾他。一想到艾雷因为她而每况日下,她的心里就充满了痛苦。终于有一天,她鼓起勇气说:“起来,艾雷,行为高贵的王子。让我给你治病吧。”

艾雷颤抖着拥抱了伊妲。她吻了艾雷一下,说:“明天凌晨的时候到城堡外面的那座房子去,我会满足你的一切愿望。”

那天晚上,艾雷躺在床上,辗转反侧,彻夜不眠。可是到了去见伊妲的时候,抵挡不住的睡意征服了他。等他一觉醒来,天已经亮了。

但是伊妲如约去了城堡外面的房子。没等多久,她看见一个人朝他走来。那人和艾雷长得很像,病容满面,步伐蹒跚。等他走近了看,却不是艾雷,并且什么话都没有说就离开了。伊妲又等了一会,没有等到艾雷,就回到城堡里面。

艾雷起了床,发现天已大亮,简直比死了还要难受。他烦躁不安,不知所措。伊妲过来探视的时候,他懊恼地说了晚上发生的事情。伊妲说:“明天早上的时候,到同一个地方来吧。”

第二天,同样的事情发生了。第三天也是一样,同样的男人出现在城堡外面的房子里。伊妲对他说:“你为什么到这里来呢?我不是在这里等你的。至于我要等的人,他因为我得了重病,我想要治好他的病。”拿个男人说:“伊妲,没有人比我更应该与你相会了。很久很久以前,我是你的第一任丈夫,我是你的第一个男人。”伊妲大为诧异,说:“你胡说些什么呢?你到底是谁?”那人说:“这个容易。我是来自波莉莱斯的米奇尔。”伊妲又问:“那又是什么使我们分开的呢?”米奇尔说:“我的前妻芙娲妒忌你,让巫师布列萨尔做法把你驱走了。现在你愿意和我一起走吗?”伊妲说:“我可不会为了一个来历不明的人放弃爱尔兰的国王。”米奇尔说:“是我让艾雷爱上了你,也是我阻止他来和你相会,从而保住你的好名声。”

伊妲回到艾雷的住所,发现他的病已经痊愈,对她的欲望也随之而去。伊妲将刚才发生的事情告诉他。艾雷说:“这对我们两个来说都是好事。我的病好了,你的名声也没有受损。”伊妲说:“感谢我们的神。我们很高兴结果是这样的。”

欧差王出巡回来,伊妲和艾雷将事情的经过如实告诉他。欧差王感谢伊妲对艾雷的精心照顾。

过了一段时间,欧差王又在妲珐山举行盛大的宴会。伊妲也在草坪上看人们赛马和游戏。她看到一位骑士向他走来,但是别人都看不到他。骑士走得近了,伊妲人出来他就是在海边跟她和女伴们说话的那人。他径直走到伊妲的面前,向他唱起了歌。但是除了伊妲之外,别人都听不到他的声音。他是这么唱的:

“啊,美丽的姑娘。你是否愿意和我一起,来到我那美丽的国度?那里的人民长相俊美,白璧无瑕,人见人爱。我们的头发像雏菊一样黄,我们的皮肤像雪花一样白,我们的脸颊像铃兰一样红。我们没有忧虑,没有哀伤,永不衰老。那里物产丰富,奇花异草漫山遍野,令人愉悦;美酒佳肴取之不尽,用之不竭。我们看得见别人,但是别人看不见我们。”

“爱尔兰的大地固然美丽,我们的大地会让你乐不思蜀。爱尔兰的美酒固然香醇,我们的美酒更令人陶醉。啊,美丽的姑娘,如果你来到我们伟大的国家,你吃的会是新杀的猪肉,你喝的会是新挤的牛奶,每天都像是过节一样。啊,美丽的姑娘,我还要为你奉上金子做的王冠。”

米奇尔问:“伊妲,你愿意跟我走吗?”但是伊妲说她不愿意离开欧差王。米奇尔又问:“如果欧差王答应让你离开呢?”伊妲说:“那我愿意跟你走。”

后来的一天,欧差王从妲珐山的宫殿里往外眺望。他看见一个陌生人从平原那边过来。他有一头金色的头发,他那蓝色的眼睛像烛光一样闪闪发亮。他披着一件紫色的斗篷,一手握着一把五叉长矛,另一手举着一面金柄盾牌。

他走到欧差王的面前。欧差王向他表示欢迎,问道:“陌生人,请问您如何称呼,到此有何贵干?”陌生人回答说:“虽然您不认识我,但是我认识您很长时间了。”欧差王问:”请问您的贵姓大名?”陌生人说:“鄙人乃是玻莉莱斯的米奇尔。”欧差王问:“您到此有何贵干?”米奇尔说:“我想和您下一盘棋。”欧差王问:“您棋艺如何?”米奇尔说:“一局之后,即见分晓。”欧差王为难地说:“棋盘在皇后屋里,而皇后正在就寝。”米奇尔说:“这不是问题。我自己带了一副棋盘,跟您的棋盘一样精美。”说完这话,米奇尔拿出一副银制棋盘,每个角落都镶嵌着璀璨的宝石。接着他又拿出一只金线绣成的袋子,里面装着金制的棋子。

米奇尔说:“我们开始下棋吧。”国王说:“除非我们赌点什么,不然我不跟你下棋。”米奇尔文:“我们赌点什么好呢?”国王说:“这个下完棋后再说。”

达成一致之后,米奇尔和国王开始下棋。第一局米奇尔被击败了。国王问米奇尔要五十匹马作为赌注。

第二局,米奇尔又被击败了。这一回欧差王给他出了个难题 — 修筑莫兰莱德的街道,清理米德赫的乱石,给整个特拉区铺上草坪,给整个达布列区种上树木。

米奇尔从玻莉莱斯带来人马,不辞劳苦完成了欧差王交待的工程。欧差王注意到西荷人使唤耕牛的时候不是将牛轭套在牛头上,而是将牛轭套在牛脖上。欧差王觉得这个办法很好,就教会爱尔兰人用同样的方法去使唤耕牛。后来欧差王也被称为耕犁王。

工程完成之后,米奇尔又来找欧差王下棋。他的手上满是老茧,形体消瘦,倦容满面。和以前一样,他们同意下完棋后由赢家指定想要的赌注。这一回米奇尔赢了棋,欧差王问他想要些什么。米奇尔说:“我要伊妲,您的妻子。”国王说:“这我可不能答应。”米奇尔说:“那么,我只要拥抱着亲吻她一下。”国王说:“如果你愿意等一个月的话,我可以答应你。”米奇尔表示可以等一个月,然后就离开了。

一个月后,米奇尔如约而至。他站在妲珐山的大厅里,容光焕发。欧差王看到米奇尔,马上调集最好的士兵将大厅团团围住,又把所有的门窗死死锁住,唯恐他会把伊妲劫走。

米奇尔说:“这是做什么呢?我只不过是来索要我应得的赌注。”欧差王恼羞成怒,说:“这个事情我想都没想过。”米奇尔说:“你答应过把你的妻子伊妲给我的。”伊妲听了这话,脸颊羞得发红。米奇尔说:“伊妲,这没有什么羞愧的。整整一年时间,我用所有的财富来向你求爱,但是你说除非你的丈夫答应,你就不能够跟我走。”伊妲说:“的确如此。如果欧差王让我走,我会跟你走的。”

欧差王说:“我不会让你走的。我答应他的只是在这宫殿里拥抱你一下。”米奇尔说:“那我现在就拥抱她一下。”

米奇尔左手执剑,右手将伊妲搂入怀里,深深地吻了一下。欧差王的士兵向他猛冲过去,但是他抱着伊妲穿过屋顶飞了出去。士兵们冲出门外追赶,只看见两只天鹅并肩飞向云天。在两只天鹅之间,连着一条细细的金链子。

欧差王大为震怒。他带着士兵搜遍爱尔兰全境,也找不到米奇尔和伊妲的踪影,因为他们躲在西荷人的隐身屋里。

米奇尔和伊妲先到了安格斯昂的布鲁格。在那里他们稍作停歇,继续前往康纳特。当时伊妲有一位叫做柯鲁阿婵的女仆。柯鲁阿婵问米奇尔:“现在我们是在您的领地了吗?”米奇尔说:“不是的,我的领地在太阳升起的地方。”柯鲁阿婵听了,就不愿在康纳特停留。米奇尔安慰她说:“我们就歇一小会,往后这个地方就以你命名。”从今以后,那个地方就叫做柯鲁阿婵山。

米奇尔和伊妲回到玻莉莱斯。在那里伊妲生下一个女儿,起名叫伊萨。米奇尔陪伴着伊萨整整七年,每天陪她放牛牧羊。

欧差王苦苦追寻米奇尔和伊妲的踪迹。后来,巫师柯达尔用欧甘文在紫杉树枝上写上咒语,终于发现米奇尔和伊妲居住在玻莉莱斯。

欧差王带着人马前去攻打玻莉莱斯。他们将玻莉莱斯包围了整整九年。但是他们的每一次进攻都被米奇尔所击退。欧差王恼羞成怒,让士兵挖空整座山头。他们快要挖到伊妲居住的地方时,米奇尔给欧差王送去六十位美丽的姑娘,每一位都打扮得和伊妲一模一样。米奇尔让欧差王从六十位姑娘中选择一位带走。欧差王选中的第一个人是他自己的女儿伊萨。这时候伊妲朝他喊了一声,他这才认出伊妲来,并把她和伊萨一起带回妲珐山。

欧差王让伊萨自己选址,为她建造了一座宫殿。这个地方就叫做伊萨堡。

米奇尔及其属下居住的山头被欧差王的人马挖得支离破碎,恼怒不已。很久以后,欧差王的孙子康奈尔成为爱尔兰的国王。康奈尔在在达德嘎旅馆受到攻击并被杀死,就是米奇尔为了报复欧差王的一次行动。

CY13-Q2 Community Analysis — OpenStack vs OpenNebula vs Eucalyptus vs CloudStack

By , July 4, 2013 9:03 am

01

This article is an update version of my previous article CY13-Q1 Community Analysis — OpenStack vs OpenNebula vs Eucalyptus vs CloudStack. Readers who are intested in further discussions please contact me via email at the above-mentioned address.

A Chinese version of this article is published at the same time, which can be found at CY13-Q2 OpenStack, OpenNebula, Eucalyptus, CloudStack社区活跃度比较.

It should be noted that this community analysis project was initiated in CY11-Q4, and this particular report is the 7th quarterly report being published since. Although the author became an employee of Eucalyptus Systems Inc in October 2012, the opinion presented in this report belongs strictly to the author rather than the employer of the author. It should also be noted that the employer of the author completely agreed that the author could continue this project with an independent perspective.

01

The objective of this article is to compare the OpenStack, OpenNebula, Eucalytpus and CloudStack user and developer communities, base on the communications between community members in the form of mailing lists or pubic forum discussions. The data being discussed include the total number of topics (threads), messages (posts), and participants (unique email addresses or registered members). To obtain the above-mentioned data, a Java program was written to retrieve all the forum posts and mailing list messages into a MySQL database for further processing. The analysis results were presented in the form of graphs generated by LibreOffice.

Starting from CY13-Q2, the OpenStack project kicked off the Ask.OpenStack, which is now included as a data source for this analysis. It should be noted that there exists significant membership overlap between Ask.OpenStack and other OpenStack mailing lists and forums. Due to time limits we were not able to carry out membership de-duplication for this data source. We will try to deal with that in our CY13-Q3 report.

The Apache CloudStack graduated from the Apache incubator in CY13-Q2. The names of their mailing lists changed a little bit, but the membership and discussion scope remained the same. It should be noted that before this change there were a significant amount of message in the incubator-cloudstack-dev mailing list that were auto-generated by JIRA. Such messages became a lot less in the  new cloudstack-dev mailing list. However, we still keep our previous filtering settings, which excludes any messages with “[jira]” in their topic.

01

01

Figure 1 and 2 represent the monthly number of topics (threads) and posts (messages). It can be seen that

(1) During the past 12 months, OpenStack-related discussions and CloudStack-related discussions were approximately on the same level, while Eucalyptus-related discussions and OpenNebula-related discussions were approximately on the same level.

(2) During the past 12 months, the volume of OpenStack and CloudStack related discussions were much higher than that of Eucalyptus and OpenNebula; and

01

Generally speaking, the number of replies to a specific topic represents the attention being received, and the depth of discussion for that particular topic. When the number of master posts (the original post that started a particular topic) is more than the number of replies, it is safe to conclude that the participation of the forum or mailing list is very low. Therefore, the ratio between “the number of  posts” and “the number of topics” represents the participation rate of an online community. In this study we call this ratio the Participation Ratio.

As can be seen from Figure 3, during the past 12 months the participation ratios of CloudStack and Eucalyptus were relatively higher, which were close to 4;  the participation ratios of OpenStack and OpenNebula were relatively higher, which were close to 4.

We do notice that the concept of “participation ratio” generated some disagreements. Some people think that a lower “post-to-thread ratio” represents the ability to resolve problems in a very short time, therefore only a very limited number of discussions are needed. Some people think that a higher “post-to-thread ratio” might be an indicator that the community are on flame, and during a flame a large portion of the posts might be off-topic. Anyway, we agree that when we call this parameter “participation ratio” it somewhat represents our own opinion and it undermines the objective of this report. However, because we do not find a better name to represent this parameter, we will just use it for the time being. (Dear readers, you are more than welcome to contribute a better name for this parameter.)

01

Figure 4 shows the number of monthly participants of the four projects being discussed. It can be seen that the active participants of CloudStack and OpenStack are much higher than OpenNebula and Eucalyptus. During the past 6 months, the number of active participants for CloudStack, Eucalyptus and OpenStack are growing at various degrees.

It should be noted that although the number of active participants of the CloudStack project is somewhat smaller than that of the OpenStack project, both projects have approximately the same amount of discussions.

01

Accumulated Community Population refers to the total number of users and developers who have participated in forum or mailing list discussions. (This number does not include those who have registered into discussion forums or mailing lists but have never participated in any open discussions.) These are people who have tested or used a specific product for a while, but not necessary currently an active user.

Figure 5 shows the growth of the accumulated community populations of these 4 projects. Currently OpenStack has the larges accumulated community population, followed by Eucalyptus, CloudStack, and OpenNebule.

The problem is, after years of changes, a long-term (such as 4 to 5 years) accumulated community population might not be a good reference for community activeness. Some of the early members of one community might have switched to other communities (and probably more than once), some of the early community medium (such as mailing lists and forums) might have become EOL’ed. From a community analysis point of view, it might be better to count the accumulated community population of the past 6 to 12 months, while extending the range to the dinosaurs age will make this parameter meaningless. Therefore, starting from CY13-Q3 report we only count the accumulated community population of the past 12 months

01

Figure 6 shows the monthly population growth of the four projects being discussed. During the past 3 months, the populations of OpenStack and CloudStack are growing at about the same pace.

The populations of Eucalyptus and OpenNebula are growing at relatively slow paces, as compared to that of CloudStack and OpenStack.

01

Figure 7 is a combination of Figure 4 and Figure 6. The solid lines represent the monthly participants, while the dash lines represent the monthly new members.

For OpenStack and OpenNebula, around 30% of their monthly participants are new members.  For CloudStack and Eucalyptus, around 50% of their monthly participants are new members. This indicates OpenStack and OpenNebula communities are more “sticky” than CloudStack and Eucalyptus communities.

01

Figure 8 shows the total community population, active participants of the past quarter, and active participants of the past month, of the four projects being discussed. It can be seen that

(1) OpenStack has the largest total population, followed by Eucalyptus, CloudStack, and OpenNebula;

(2) OpenStack has the largest active population during the past quarter, followed by CloudStack, Eucalyptus, and OpenNebula;

(3) OpenStack has the largest active population during the past month, followed by CloudStack, Eucalyptus, and OpenNebula.

01

In our CY12-Q3 report, we invented the concept of “Community Activeness Index”. This magic number should be the combination of the following parameters:

(1) monthly messages, which represents the volume of the discussions;

(2) participation ratio, which represents the average number of answers to a question;

(3) active population of the past quarter, which represents the possibility to get help from community in the long term; and

(4) active population of the past month, which represents the possibility to get help from the community in the short term.

In this analysis, we choose the average values of these parameters as the reference data set, and compare the corresponding parameters of each community with the reference data set. Then we call the sum of the relative values of a community the “community activeness index” of the community. Now we can say the project with the highest “community activeness index” is THE most active project in this area.

As can be seen from Figure 9, OpenStack is currently THE most active project (with obvious advantage), followed by CloudStack, Eucalyptus, and OpenNebula.

The above-mentioned calculation of “Community Activeness Index” uses both the active population of the past quarter and the active population of the past month, which are quite similar in nature. In our CY13-Q3 report, we will use only the active population of the past quarter. Also we will use quarterly messages to replace monthly messages, and use quarterly participation ration (post-to-thread ratio) to replace monthly participation ratio.

01

We are seeing increasing number of suggestions to analyze the git activities of these open source IaaS projects. We also noticed that all of these four projects use git as the SVM for their source code. Starting from our CY13-Q1 report, we tried to do some basic analysis base on the git log data. It should be noted that for the OpenStack project, the data source includes the Cinder, Glance, Horizon, Keystone, Nova, Quantum and Swift sub-projects hosted on github.com.

In our CY13-Q1 report, we used “git log” to obtain log information. Starting from CY13-Q2, we will use “git log –no-merges” to obtain log information.

01

Figure 10 shows the monthly number of commit operations for these four projects. Generally speaking, the commit frequencies of the OpenStack and CloudStack are relatively higher. During the past 12 months, both projects maintained a commit frequency of about 600 commits per month. Eucalyptus was also committing frequently, with significant fluctuations from month to month, which seems to be a typical batch-commit behavior. The commit frequency of the OpenNebula project is relatively small, with an average of 200 commits per month.

01

Figure 11 shows the monthly number of commit operations for the sub-projects of OpenStack. Generally speaking, the commit frequency of the Nova sub-project is about 3 times as high as the other sub-projects. It should be noted that although the commit frequency of these sub-projects are different, but they exhibit similar time-series curves, and their highs and lows occur at the same period of time. This indicates that although these sub-projects are relatively independent, but they work around the same development plan and the same release schedule. This is an indicator that the OpenStack project is well organized in terms of sub-project management.

01

Figure 12 shows the monthly number of contributors (identified by unique github.com accounts) for these projects. Generally speaking, the number of OpenStack contributors is much higher than the other three projects, and is growing rapidly. The number of CloudStack contributors also exhibits some growth, but the growth is relatively slow. The number of Eucalyptus and OpenNebula contributors is relatively small, and does not exhibit significant growth during the past 12 months.

01

Figure 13 shows the monthly number of contributors (identified by unique github.com accounts) for the sub-projects of OpenStack. It can be seen that the number of Nova contributors is about 3 times as big as the other sub-projects.

01

People usually try to identify the institute to which a contributor belongs to by his/her email address. It is true that such method is defect in nature (different institutes have different policies regarding contributing to open source projects, some institutes even encourage their employees to contribute to open source projects with their personal account), but still this parameter can be used to show the contributions of certain institutes to certain open source projects. Figure 14 shows the monthly number of unique institutes (identified by the domain name of the contributor’s email address) contributing to these projects. We can see that the number of contributing institutes for OpenStack is much larger than the other three projects, and is growing rapidly. The number of contributing institutes for CloudStack is also growing, but at a relatively slow pace. The number of contributing institutes to Eucalyptus and OpenStack is relatively small, and does not exhibit any growth during the past 12 months.

01

Figure 15 shows the monthly number of contributing institutes to the sub-projects of OpenStack. It can be seen that the number of contributing institutes for Nova is about 3 times as big as the other sub-projects.

The following table lists those institutes that make the most contributions to these projects during CY13-Q2, according to the number of commit operations, along with the percentage of their commit operations. It can be seen that both Eucalyptus and OpenNebula are open source projects dominated by single institutes, while CloudStack and OpenStack are open source projects contributed by multiple institutes. For the CloudStack projects, influence from Citrix is quite obvious, over 51% of the commits come from accounts belonging to citrix.com and cloud.com. For the OpenStack project, ivm.com contributed 14 of the commits, redhat.com contributed 12% of the commits, mirantis.com contributed 9% of the commits, and hp.com contributed 5% of the commits.

 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

The following table lists those institutes that make the most contributions to the sub-projects of OpenStack during CY13-Q2, along with the percentage of their commit operations.

 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  ————————-

For your convenience, a PDF version of this presentation can be downloaded from here. Please kindly keep the author information if you want to redistribute the content.

 

CY13-Q2 OpenStack, OpenNebula,Eucalyptus,CloudStack社区活跃度比较

By , July 3, 2013 10:13 pm

01

本文是对《CY13-Q1 OpenStack, OpenNebula,Eucalyptus,CloudStack社区活跃度比较》一文的补充和更新。对本文内容感兴趣的读者,可以通过电子邮件或者新浪微博(@qyjohn_)与我联系。

本文同时发布了一个英文版本,可以参见CY13-Q2 Community Analysis — OpenStack vs OpenNebula vs Eucalyptus vs CloudStack这个帖子。

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

01

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

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

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

01

01

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

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

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

01

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

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

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

01

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

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

01

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

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

01

图6 所示为这四个项目每个月新增加的社区人口数量。在过去三个月中,CloudStack与OpenStack的社区人口增长速度基本相当。

与CloudStack和OpenStack向比较,Eucalyptus和OpenNebula的社区人口增长较为缓慢。

01

图7 是图4 与图6的重新组合。其中,实线部分表示的是每个月参与论坛或者邮件列表讨论的人数,虚线部分表示的是每个月新加入论坛或者邮件列表的人数。

OpenStack与OpenNebula项目的新增人口占当月活跃用户的30%左右,CloudStack与Eucalyptus项目大概是50%。如 果不考虑社区人口的规模的话,可以认为OpenStack与OpenNebula项目的粘性大于CloudStack与Eucalyptus项目。

01

图8 所示分别是本文所述四个项目的社区人口,过去一个季度的活跃用户数量,以及过去一个月的活跃用户数量。可以看出:

(1) OpenStack的社区人口最多,然后是Eucalyptus、CloudStack、OpenNebula;

(2) 在过去一个季度中,OpenStack的活跃人口最多,然后是CloudStack、Eucalyptus、OpenNebula;

(3) 在过去一个月份中,OpenStack的活跃人口最多,然后是CloudStack、Eucalyptus、OpenNebula。

01

在CY12-Q3分析中,我们首次提出了“社区活跃度指数”这样一个参数。这个参数是如下几个参数的某种组合:

(1) 当月帖子总数,代表相关讨论的规模;

(2) 当月参与度,代表每个问题获得的回帖数量;

(3) 当季活跃用户,代表从社区获得帮助的可能性(长期);

(4) 当月活跃用户,代表从社区获得帮助的可能性(短期)。

在这个分析中,我们选择如上各个社区的平均值作为参考数据,并将每个社区的数据与参考数据进行比较。我们将每个社区各个参数与平均值的比值之和称为“社区活跃度指数”。可以认为,社区活跃度指数最高的项目,是最活跃的项目。

从图9 中可以看出,目前OpenStack项目的“社区活跃度指数”最高(以明显的优势领先),然后是CloudStack、Eucalyptus、 OpenNebula。

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

01

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

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

01

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

01

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

01

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

01

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

01

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

01

图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项目的贡献均榜上有名。

与本文相关的PDF版本幻灯片可以从这里下载。如果您需要重新分发本文内容,敬请您保留相关作者信息。

Panorama Theme by Themocracy