Chef community cookbooks site has been around for quite some time (since 2009). While working with Chef and the community cookbooks I always wondered if we can have some metrics to indicate the growth, health and development impetus around these cookbooks. Some of these informations (like growth, activity) are easy to capture, while metrics like health, compatibility with other cookbooks, dependecies are rather difficult to capture. But last year we have seen a tremendous emphasis and effort in cookbook testing, best practices, reusability etc. As a result of these efforts certain preferred practices(or best practices) and tools (unit testing tools, lint tools, functional testing tools) have emerged (or matured in some cases). I think these tools together with a cross platform continuous integration system will lay down the future of portable, pick and drop chef cookbooks (almost like ruby gems). Assuming Chef cookbooks will be experiencing even more adoption in this year, I have managed to churn out few global metrics around the number of cookbooks, their distrubution, the rate at which they are updating etc, which I'll be able to use for benchmarking and tracking
Chef community cookbook website provides a minimalistic api for metadata. All these metrics are generated from this api.
Next two plots capture the number of new cookbooks uploaded or existing cookbooks updated (i.e. version bumps) over time. Note the recent bump in updated cookbooks which is due to chef 11 release, that has introduced some breaking changes, and quite a few cookbooks needed changes.
Community cookbook site categorize individual cookbooks. Following is the distribution of cookbooks across all the categories.
There are total cookbook maintainers. A large amount of the existing cookbooks (almost 1/6th) are maintained by opscode. Following is the chart for top 10 community cookbook maintainers.
Among total cookbooks, of them have end user ratings Though they are not conclusive, they provide a data point. Following is the distribution of how users have rather the cookbooks (from 0 to 5 with 5 being best).
Chef has two mailing lists, an user mailing list and a developer mailing list, following is the trend in number of emails over the years in these two mailing lists on month by month basic
Chef has two multiple IRC channel aimed for different type of discussions. #chef is used for generic discussion, while #chef-hacking is used for development related discussions and #learnchef for introductory level discussions.
This data is generated at . I am planning to write a follow up post on how I have automated this entire post. Let me know if you have any suggestions. :-)