I recently gave a presentation about Travis CI at Øredev. For this preparation, I sat down with our production database and ran a few aggregations. Our schema currently makes some of these not that easy, so most of the following numbers were pretty new to us, too.
Before you take a look at the graphs below, a word of warning: The data is not fully up to date (numbers are as of October 26).
Projects and Activity
As you can see, our number of open source projects has crossed 25k about two months ago and is now steadily growing at about 90 new projects a day.
Interestingly, if you look at the open source vs private project ratio and then compare it with the overall system activity, it is easy to see that private projects are more active on average.
This actually makes sense if you think about it. Most open source projects are developed as side projects and see some commits now and then, whereas private projects often have a team of full time developers behind it.
For instance, by far the most active OSS project on Travis CI is Rails with more than 5500 builds. While Rails has been using Travis CI for nearly 1.5 years now, we saw private projects cross that number in no time.
Push vs. Pull Requests
Here is one thing we didn’t expect. Look at pull requests compared to normal pushes for open source projects:
We expected the ratio to be different for private projects. And it indeed is, but exactly not the way we would have guessed.
I would have thought pull requests would be less common for private projects. Turns out, the vast majority of private projects seem to embrace feature branches and use pull requests for code review. Way to go!
If you look at the distribution of programming languages on Travis CI, you easily see that it’s while Ruby is still the most used language, we now have more projects not using Ruby than we have projects using it.
And for private projects, more than 75% are Ruby. Both is actually to be expected. While Travis CI is general purpose, it came from the Ruby community, where it matured to the de facto standard for open source projects. And most of the companies donating to our crowd funding campaign are working with Ruby.
One last thing I did, and I’m not sure it was a wise thing to do: I looked at whether the last build of each project was failing or passing, and then grouped that by language. That build could have been a pull request or feature branch, it does not necessarily reflect the master branch or project state.
I actually published this graph before the conference and it sparked much debate.
It’s also interesting to see that the open source success rate was always above the rate of private projects.
We really love stats. And, even though these stats are already pretty interesting, they are also somewhat basic.
If you love to see more stats, then we have some really good news for you: We have a group of HTW students currently playing with our data (of course all sensitive data removed and only for open source projects). They’re figuring out what conclusions to draw from it and how to best visualize that at the moment. More in due time.