At its core, open source is about collaboration. Whether it’s version control, licenses, or issue trackers—everything exists to support people working with each other. Open source embodies a model for people to work together, building something greater than they can create on their own.
Open source projects on GitHub come in all shapes and sizes, many are single-contributor ‘solo’ projects but others like Homebrew have upwards of 5000 contributors. What does open source look like at these different scales? Let’s look at the last 30 days of public activity on GitHub broken down by some key activity types:
For projects with just one contributor, pushes (in red) represent the vast majority of all activity. Some issues are being reported but overall it’s very much a solo endeavor. As the number of contributors increases however, the fraction of activity in conversational mediums increases rapidly. In fact, while the fraction of activity represented by people creating new pull requests and opening new issues remains relatively constant above ~100 total contributors, the level of activity in response to these events (issue comments, pull request review comments) continues to grow.
By grouping projects by their contributor counts1, the first plot shows us how the shape of projects varies as the contributor pool grows. Rather than looking in aggregate, how does the shape of a single project vary over time, especially if it makes the transition from closed to open source?
A perfect example here is GitHub’s own Atom, which saw its first commit by @defunkt in August 2011, but wasn’t made open source until May 2014.
An even more dramatic example of this can be seen in the activity around Roslyn, the .NET Compiler Platform which was made open source by Microsoft in 2014. You can see a steep uptick2 in activity as the project moved from closed to open source.
Clearly, open source is more than just code. Successful open source projects include code and documentation contributions together with conversations about these changes. Offering a place for people to report problems, ask questions, and suggest fixes or improvements are also a core part of any project’s success.
Interested in joining the community? Check out our guide ‘Contributing to Open Source’ to learn more about how to find a good project. If open source is more than just code, what will your next contribution be?
1. A contributor is defined here as someone who has produced one of the listed content types (pushes, pull requests etc.)
2. So dramatic that even d3 can’t keep the data within the chart 🙂