I’ve been looking at open source projects for a while as a part of my job as an open source advocate at IBM. In that time, I’ve learned how to look at projects using multiple viewpoints to get a holistic picture of their vitality and potential for growth. I have captured what I’ve learned in a process guidance framework I call an OSSGuide. In this post, I’ll summarize the analysis framework and invite you to explore and use the guide for your own open source project analysis.
There are three viewpoints that I use when analyzing an open source project: Project, Community, and Market. Using multiple viewpoints produces a well-rounded analysis that allows for better executive decision-making. It’s analogous to looking at an engineering drawing with a top view, side view and diagonal view — it’s a more complete picture for the reader or consumer.
The project viewpoint is focused on the project information such as GitHub statistics, code quality, architecture and testing. It’s important to look into these details to get a good picture of the project in terms of activity in the number of commits, committers, and forks. An active project usually indicates a dynamic project that has gathered interest from project consumers and contributors. The activity level should also be considered relative to the maturity of the project. New projects tend to show a high level of commits in the beginning. The important data point is how the commit level is sustained after the initial commits. Mature projects tend to level off in the commit count. An important data point for mature projects is the number of committers for the project. Architecture and code quality usually go hand in hand. A well-architected project tends to hang together well and the number of issues for bugs tends to be lower relative to projects of the same scale and size.
Looking at the community around the project is extremely important because the community can make or break the project. A growing community of watchers, followers, and committers is a sign that the project is gaining attention and has an increased potential for success. A static set of watchers, followers, and committers on the other hand, could be a sign that the project has not gained traction and may not grow to fulfill its potential.
The market viewpoint is made up of the social buzz, competitive landscape, and market penetration or adoption. Searching social channels such as Twitter, Facebook, Stack Overflow and other newsfeeds using tokens that relate to the project will provide some data points for the project’s traction. Looking for similar and competing projects and doing a competitive analysis will provide a picture of the project’s relative market position. And lastly, searching for the project’s adoption by groups, corporations and other entities is an indicator of potential success. Searching press releases and analysts reports will usually reveal information about the adoption of open source project.
Take the guide for a spin
I invite you to check out the OSSGuide for yourself, browse through the different sections, and pick out a few open source projects that you could use for a quick analysis using the guidance. I”m interested in hearing about your experience — let me know any suggestions for improvement and bug reports by posting comments in this blog post, or tweet at @clydei.