功能 #6739

young 更新于 2016-02-25 01:14

之前版本:

这两天我利用GHTorrent最新数据(dump-2016-2-1),分析了Rails生态系统相关内容,得到了一些实验结果,希望可以和老师、师兄们一起讨论:


1. Rails生态系统的构建:

假定认为项目(repo)的name或者description含有“ruby on rails”,说明该repo和Rails相关,通过筛选得到69243个repo,其中9075个项目是从Rails fork出来的。


通过对这些项目的语言统计,如下图(项目数前20的语言),78.5%的项目语言是ruby,前几基本上是网络相关的语言,符合常识。


接下来,我对这些Rails生态系统里的项目进行了学习,发现大致可以分为以下几类:

(1)fork出去的项目,forked from Rails: 9138 (13.2%)

(2)Rails提供的demo,Rails demo(demo_app/first_app/sample_app): 29380(42.4%)

(3)课程学习,Course:1127(1.6%)

(4)为Rails服务的插件等,for Ruby on Rails: 11226 (16.2%)

(5)基于Rails构建的系统等,built with Ruby on Rails: 2184 (3.2%)

(6)其他类型,others:16188 (23.4%)


2、进一步挖掘:

基于上面形成的Rails生态系统,我试图了解,这些衍生出来的项目是否对Rails项目自身产生贡献,这其中的贡献汇聚是怎样的,我目前试图从开发者的角度进行切入,分析其他开发者(非Rails成员)从接触Rails建立Rails相关项目,到真正为Rails项目做贡献过程中蕴含的规律。目前探讨以下三个问题:

(1)其他开发者关注(watch)Rails与自己使用Rails(建立Rails相关项目)的关系?

目前Rails共有31332个关注,除去自己的成员,有6824(21.8%)个关注来自Rails生态系统里的项目owner,其中:


5711(83.7%)个开发者是在watch了Rails之后才建立Rails相关项目,平均时间是21.8个月;

1113(16.3%)个开发者是在watch了Rails之前就建立Rails相关项目,平均时间是11.0个月。


说明,大部分的开发者应该是先关注Rails这个项目,熟悉后才自己尝试建立项目,平均要花近2年的时间,少部分是自己先建立项目,然后再关注Rails(可能自己建的项目有问题,所以很快关注Rails,时间也短许多)。


(2)其他开发者在Rails中评论与自己建立Rails项目的关系?

Rails中comment(这里我先只考虑了issue comment)共有107812个,其中4237(4%)个来自Rails生态系统的项目owner,其中:


1429(34%)个开发者是在Rails评论之后才建立了Rails相关项目,平均时间是11.5个月;

2808(66%)个开发者是在Rails评论之前就建立了Rails相关项目,平均时间是11.6个月;


说明大部分的开发者可能是建立了Rails项目,熟悉之后才开始参与Rails项目中去,平均需要1年。


(3)其他开发者在Rails中提交issue与自己建立Rails项目的关系?

Rails共有24107个issue(包含pull-requests),2734(11.3%)个来自Rails生态系统项目的owner,其中:


852(31%)个开发者是在Rails提交了issue后才建立Rails项目,平均时间是10.5个月;

1891(69%)个开发者是在Rails提交了issue前就建立Rails项目,平均时间是10.0个月。


说明大部分的开发者也是先建立Rails项目进行学习,熟悉后才向Rails做贡献。


总结:

目前分析结果和常识差不多,即大部分的开发者(非Rails成员)应该是先关注Rails这个项目,一段时间后才自己建立Rails相关项目,再过一段时间才向Rails做贡献。


这只是我初步探索的一些实验结果,希望可以和老师、师兄们讨论下,再进行下一步。






Ruby on Rails项目正在形成属于自己的Rails生态系统,它不仅拥有很多子项目,很多其他项目也基于Rails进行开发,例如Basecamp、github。除了github上形成的Rails网络,它在Stackoverflow上也拥有着大量的问答帖子信息。


目前的工作重点是,先尽快以Rails生态系统为研究对象,构造出其基本的生态网络,在此基础上结合已有的工作,争取尽快形成开题的完整思路。

当前版本:

这两天我利用GHTorrent最新数据(dump-2016-2-1),分析了Rails生态系统相关内容,得到了一些实验结果,希望可以和老师、师兄们一起讨论:


1. Rails生态系统的构建:

假定认为项目(repo)的name或者description含有“ruby on rails”,说明该repo和Rails相关,通过筛选得到69243个repo,其中9075个项目是从Rails fork出来的。


通过对这些项目的语言统计,如下图(项目数前20的语言),78.5%的项目语言是ruby,前几基本上是网络相关的语言,符合常识。


接下来,我对这些Rails生态系统里的项目进行了学习,发现大致可以分为以下几类:

(1)fork出去的项目,forked from Rails: 9075 (13.2%)

(2)Rails提供的demo,Rails demo(demo_app/first_app/sample_app): 29380(42.4%)

(3)课程学习,Course:1127(1.6%)

(4)为Rails服务的插件等,for Ruby on Rails: 11226 (16.2%)

(5)基于Rails构建的系统等,built with Ruby on Rails: 2184 (3.2%)

(6)其他类型,others:16188 (23.4%)


2、进一步挖掘:

基于上面形成的Rails生态系统,我试图了解,这些衍生出来的项目是否对Rails项目自身产生贡献,这其中的贡献汇聚是怎样的,我目前试图从开发者的角度进行切入,分析其他开发者(非Rails成员)从接触Rails建立Rails相关项目,到真正为Rails项目做贡献过程中蕴含的规律。目前探讨以下三个问题:

(1)其他开发者关注(watch)Rails与自己使用Rails(建立Rails相关项目)的关系?

目前Rails共有31332个关注,除去自己的成员,有6824(21.8%)个关注来自Rails生态系统里的项目owner,其中:


5711(83.7%)个开发者是在watch了Rails之后才建立Rails相关项目,平均时间是21.8个月;

1113(16.3%)个开发者是在watch了Rails之前就建立Rails相关项目,平均时间是11.0个月。


说明,大部分的开发者应该是先关注Rails这个项目,熟悉后才自己尝试建立项目,平均要花近2年的时间,少部分是自己先建立项目,然后再关注Rails(可能自己建的项目有问题,所以很快关注Rails,时间也短许多)。


(2)其他开发者在Rails中评论与自己建立Rails项目的关系?

Rails中comment(这里我先只考虑了issue comment)共有107812个,其中4237(4%)个来自Rails生态系统的项目owner,其中:


1429(34%)个开发者是在Rails评论之后才建立了Rails相关项目,平均时间是11.5个月;

2808(66%)个开发者是在Rails评论之前就建立了Rails相关项目,平均时间是11.6个月;


说明大部分的开发者可能是建立了Rails项目,熟悉之后才开始参与Rails项目中去,平均需要1年。


(3)其他开发者在Rails中提交issue与自己建立Rails项目的关系?

Rails共有24107个issue(包含pull-requests),2734(11.3%)个来自Rails生态系统项目的owner,其中:


852(31%)个开发者是在Rails提交了issue后才建立Rails项目,平均时间是10.5个月;

1891(69%)个开发者是在Rails提交了issue前就建立Rails项目,平均时间是10.0个月。


说明大部分的开发者也是先建立Rails项目进行学习,熟悉后才向Rails做贡献。


总结:

目前分析结果和常识差不多,即大部分的开发者(非Rails成员)应该是先关注Rails这个项目,一段时间后才自己建立Rails相关项目,再过一段时间才向Rails做贡献。


这只是我初步探索的一些实验结果,希望可以和老师、师兄们讨论下,再进行下一步。







Ruby on Rails项目正在形成属于自己的Rails生态系统,它不仅拥有很多子项目,很多其他项目也基于Rails进行开发,例如Basecamp、github。除了github上形成的Rails网络,它在Stackoverflow上也拥有着大量的问答帖子信息。


目前的工作重点是,先尽快以Rails生态系统为研究对象,构造出其基本的生态网络,在此基础上结合已有的工作,争取尽快形成开题的完整思路。

返回

© Copyright 2007~2021 国防科技大学Trustie团队 & IntelliDE 湘ICP备 17009477号

问题和建议
还能输入50个字符 提交

加入QQ群

关注微信APP


×