The growth of an open source project is a testament to its value and relevance. But, growth brings its own set of challenges, especially when it comes to managing the influx of contributions, maintaining project health, and communicating with core members of your team. Finding the right approach to manage this growth can be as important as the development of the project.
The Complexity of Open Source Growth
โThe problem facing maintainers today is not how to get more contributors by how to manage a high volume of frequent, low-touch interactions. These developers arenโt building communities; theyโre directing air traffic.โ Nadia Eghbal from Working in Public: the making and maintenance of open source software, p. 13
Open source teams are often working not in one repository, but in multiple or sometimes even organizations with different issues, contributors, and teams. Keeping track of GitHub notifications is hard enough on its own, but add to that building relationships with contributors, reviewing pull requests, updating documentation, and more, sometimes you lose sight of the ultimate goals of the project and forget to think about health and sustainability. On top of that, if youโre working on projects either in tandem or as part of your job, thereโs often an element of needing to justify what youโre working on. The challenge of balancing code-centric and community-centric needs can be overwhelming.
So how do you cut through the noise and make sure that you have a good sense of direction and the value that your project is creating?
Understanding Your Open Source Project with Workspaces
Understanding the direction and value of your project can be challenging. To navigate these challenges effectively, itโs helpful to:
- Understand your project at a high level
- Collaborate and create transparency with your team
- Streamline contributor engagement
- Measure and share success
Letโs take a look at how we do this at OpenSauced with our new Workspaces feature.
High Level Overview of your Open Source Project
Being able to look at all your repositories and understand them at a high level, makes it easier for you to share this information, collaborate with others, and understand where your projects stand in terms of health. This is our team page for our most frequented repositories:
When we look at our OpenSauced repositories together, we all have a clear understanding of where our projects are succeeding and where theyโre stagnating. In the image above, you can see that over the last 30 days, weโve had a high activity level, with close to 20 contributors in the app repo, which is reflective of the new feature weโve launched called Workspaces.
On the other hand, we can see that three of our repositories have had low activity levels, with the AI repo actually showing that thereโs no activity. This repository was primarily contributed to and maintained by our interns last summer, and hasnโt been prioritized among all the other work weโve done.
Collaborating with Your Open Source Team
Understanding the activity for all of our projects has allowed us to make decisions as a team, set goals for our projects, and understand what brings the most value to those using our product.
With our OpenSauced Workspace, all of the team has been added with the ability to add, edit, and delete the repositories weโre tracking. This gives the whole team a sense of whatโs going on. For example, if John creates a new repository for something heโs working on, he can add it to this Workspace so we all can see the activity of his project. More ways we can gauge how weโre doing as a team include:
- Velocity of PRs and Issues. We have a high rate of merged pull requests in the last month, and have been closing more issues than have been opened.
- Star-to-fork ratio. We know that people are contributing and starring the project at a healthy rate, indicating a growing contributor community.
Your workspace doesnโt have to be the repositories in your organization, though. Sometimes itโs important to track other open source projects you depend on, projects that are similar to yours, or projects that your contributors are also involved in. Think of your workspace as a point of communication for your team. Providing them with the information they need to know, equips everyone for success.
Streamline Contributor Engagement
Having a high level understanding of your project is a good step in understanding your projectโs value, but really understanding whatโs happening beneath the surface is the next step in being able to assess project health, growth, and the contributor community.
But what does that mean? I canโt look at my GitHub repository and know if itโs a healthy project. I can see there are contributors, but I donโt know what types of contributions theyโre making, if theyโre repeat or one-time. It starts to become a really complex process that takes more time away from doing what you usually want to do as a maintainer or contributor: create PRs and work on the codebase of the project.
In Episode One of The Business of Open-Source: A Conversation with Heather Meeker, Heather Meeker says, โIf you look at how many contributors there are to a project, how many downloads there are of the project, how engaged the community is. You have amazing intelligence about product market fit.โ
As the number of contributors grows, itโs important to differentiate between high-impact contributions and those that require less immediate attention. Organizing your repositories, and understanding how contributors are contributing, allows for better management of tasks and more efficient triage processes.
GitHub tells you the number of contributors youโve had as a total, but thatโs not a good way to evaluate the health of your project. Understanding your contributors over the recent history of the project is more valuable. For example, it might show that youโve had 3,000 contributors, but if you havenโt had any in the last 30 days, then thereโs probably a major issue with the health and sustainability of the project.
A better indication would be seeing sustained and consistent contributions over the last thirty days. Your graph will likely depend on the size of the project. For example, this is our Repository Insight into our contributors activity, which reflects a Medium Activity Level for our repositories.
This is Godotโs Repository Insight into their contributors activity where they have high level of activity:
Part of dealing with the pain points that comes from growing your project is elevating key contributors to teams to help sort through the challenges of maintaining an open source project. But it can be hard to keep tabs on who your volunteers are, whether theyโre still active, and finding time to adequately recognize their efforts and impact on the project.
Being able to categorize the types of contributors you have and see them at a glance, allows you to make informed decisions about the future of the project. If you find that the members of your triage team arenโt active anymore and thatโs why youโve been feeling extra pressure, then itโs time to recruit new triage members or reach out to the inactive members.
Or if you see that one of your teammates has been doing exceptionally productive work lately, youโre better able to acknowledge and recognize that teammate’s contributions.
Not everyone on your team will need to know all the information about contributors, but giving them access creates opportunities for communication, transparency, and collaboration.
Measure and share success
There are many different reasons you might need to measure the success of your project. Without insight into your project’s activity level, health, and contributor community, it can be a challenge to show the value of your projects. At OpenSauced, we find it helpful to have real-time analytics on our projects so we can highlight our key achievements, recognize the impact of our contributors, and communicate the hard work thatโs been put into our projects. Itโs also helpful to see how your contributors are talking about your project.
Final Thoughts
The path of open source projects has unique challenges, especially as projects scale. Effectively managing the growth of an open source project goes beyond code contribution; it involves a holistic approach to community building, project health monitoring, and clear communication. Adopting strategies for comprehensive understanding and collaboration is key to sustaining project growth and ensuring success. The ultimate goal is to create a thriving environment where both the project and its community can flourish.
If you want to learn more about Workspaces, check out our YouTube walkthrough:
If you don’t have an open source team, but you’re still interested in using workspaces, here’s a list of other ways to use them:
- To track projects you’re working on.
- To identify potential projects to contribute to.
- To network and engage with the community.
- To aid in the job search.
- To better understand the open source ecosystem of a certain language or technology.
What other ways would you use Workspaces?
Lastly, if you want to chat about how you can use workspaces to help with a challenge you’re facing, let me know in the comments!
[fluentform id="8"]