Is Ruby on Rails® the Best Run Open Source Project on GitHub?

Ruby on Rails

tenXer is releasing a series of public dashboards for open source projects to help expose metrics that give insight into the performance of open source projects. Today, we are launching the dashboard for Ruby on Rails®.

Ruby on Rails®

Ruby on Rails® is one of the most actively used open source projects. There are now over 200,000 web sites running Ruby on Rails®! Not only is Ruby on Rails® widely used, but it also has a large number of people contributing to the project, now exceeding 3,000 total. For setting up Ruby on Rails®’s dashboard, we pulled and consolidated data from the following repos on GitHub: rails, rails.github.com, conductor, pjax_rails, rails-observers, sass-rails, actionpack-page_caching, docrails. Check out the results on Ruby on Rails®’s tenXer open source dashboard or read on for some analysis.

Commits

Saying there are a lot of commits for Ruby on Rails® is an understatement. There are a ton.

Quantity:  For the past 12 months, Ruby on Rails® averaged 1,062 commits per month! Even if you drop out the month of December 2012, an outlier, the average only drops to 980 commits per month. The actual number of commits for the year is a whopping 12,887 across 683 contributors. That equates to almost 19 commits per contributor. Pretty astounding figures.

Rails-Commits-Weekly

Consistency:  The activity for Ruby on Rails® was pretty consistent month to month. The week to week average number of commits was 253.  Most weeks were in the 150 to 350 range.  Dropping the outliers, the standard deviation in the number of commits per month was only 243.  Compared to the other open source projects we looked at, Ruby on Rails® was very consistent.

Contributors: As mentioned earlier, Ruby on Rails® has a lot of contributors. But would Ruby on Rails® be like the other open source projects we have looked at where the commits were dominated by the top 2-4 contributors? Surprisingly, no. The top 4 contributors for Ruby on Rails® contributed just over 40% of the commits as opposed to most other open source projects being over 80%. Shockingly, you have to group the top 50 contributors before you cross 80%! Very impressive. This shows that Ruby on Rails® is truly an open project for everyone to contribute to.

Rails-Commit-Leaderboard

Time of Commits: Since Ruby on Rails® has such a large contributor base spread across the globe, we thought it would be fun to look at when pull requests and commits are happening.  Peak pull requests occur at 3pm UTC (7 am PST) on Wednesdays. Actually pretty much everyday at 3pm UTC is a peak time. For commits, the peak time is Wednesday at 10pm UTC or 2pm PST. In general however, 6pm UTC is when most commits happen day to day. We actually thought the numbers would be more evenly distributed across days and times than they were given the global contributor base.

Rails-Heatmap

Keeping the Code Base Clean

We were very curious about how Ruby on Rails® would perform in this category. How well does the project do in keeping its code base clean given the large number of commits and contributors?

Net Lines: For the year Ruby on Rails® has an increase of only 3,756 net lines added.  Think about that for a moment, there were over 12,887 commits for the year across 683 contributors yet the net lines increase was only 3,756. For almost every line of code added to Ruby on Rails®, one line is deleted. Not only are lots of people contributing, but they are doing so in such a way that it makes it easy for other people to contribute and make changes to the project.

Rails-Distribution-Lines Rails-Net-Lines

 

Commit Size: In addition to keeping the code base stable and clean, the contributors to Ruby on Rails® are keeping their commit sizes small. This makes reviewing pull requests easier and faster. For the year, Ruby on Rails® averaged just over 60 lines of code per commit.  What is even more impressive about this figure is that how consistent the contributors to Ruby on Rails® were. There were only 8 commits with more than 100 lines of code. 8! Incredible!

Rails-Lines-Per-Commit

 Responsiveness to Contributors

So far Ruby on Rails® has displayed that is its one exceptionally well run open source project. The last thing to look at is how well does the project do in responding to pull requests by contributors.

Pull Requests Opened and Merged: Ruby on Rails® gets around 300 requests per month. On average Ruby on Rails® merges 123 pull requests per month. So doing some quick math we see that Ruby on Rails® is merging just over 40% of pull requests. This is really good given the huge number of contributors making those pull requests.

Rails-Pull-Requests-Opened Rails-Merges

Average Hours Pull Requests are Open: So how fast is Ruby on Rails® in actually responding to a pull request? It takes an average of 345 hours or 14 days to respond. Again, really impressive given the number of pull requests the core team has to deal with.

How do you think Ruby on Rails® has done?

So is Ruby on Rails® the best run open source project? We have given you some of the metrics, now it’s your turn to chime in. Visit Ruby on Rails®’s tenXer open source dashboard and look at more of the data and then come back and let us know what you think.

tenXer Open Source

Check out other open source projects we support including AngularJS, Bootstrap, CakePHP, Ember.js, Foundation and Zend Framework. We will be adding more to the list on a regular basis so bookmark our page and come back often to see what new projects we have added. And don’t forget, you can get a dashboard and metrics like these for your team at tenXer! How do you think your team stacks up? Find out at tenXer!

Be-a-Better-Team1