You may go to some GitHub repositories and see that they are constantly being updated. Maybe they have a lot of contributors regularly sending in branches from their own local repositories. An active project could involve thousands of commits - even as recent as five minutes ago.
But how do you manage to keep a project active? The key is to involve your contributors! Contributors want to know that the hard work they have put into fixing an issue on your project is acknowledged and valued.
Manage your pull requests to engage contributors
Let's say you saw an issue on a Java project that you really want to fix. You make your changes, branch it, and send a pull request. You don't hear from them for weeks. It doesn't look like they care, so you go ahead and move on to another project. That is how so many projects lose community interest and fade out. In other words, managing your pull requests is critical.
But if there's a ton of pull requests. How would I keep up with them?
Good question! Here are some ideas that work:
Check your pull requests regularly. Assign them to different team members if that helps.
Use pull request management tools from GitHub Marketplace.
Test the pull requests and merge them when they are approved. This shows the contributors that their contribution has value to the project.
To check your pull requests, start by going to the Pull requests tab under your repository:
Go through the list of pull requests to test and merge them to your repository! It looks like this one has 21 pull requests, so someone's slacking!! 😦
Decide when to merge changes
This is a tricky question! Your open source project will always have designated people that look at pull requests. But once you have them, what do you do with them? I'll tell you what not to do! Do not just merge it into your master branch! Most organizations keep the latest version of the code that is in production in the master branch. Any wrong change to that master branch, your production code is toast! 😧
Here's what you should do with a pull request:
Note who the contributor is. 😇
Pull the new branch into your local repository and test it against the source code for the master branch.
If it is an approved change, push it back to the main repository.
In larger projects, the testing and approval process may involve a team, and additional steps.
If the contribution is a success, the branch will be merged into the master branch to create a new version of the code added by a contributor! ✨
Make your project readable with badges
Remember those badges that we looked at? Take time to label all the issues. Some can be good for beginners, and this will attract new contributors that want to learn and grow. Other can be labeled with specific skill sets in mind so you will get experts who will pop in and find the issues they can fix with ease and efficiency!
Check out the badges in the README file in the Kubernetes repository. The badges are a nice, clean way to add labels to the description
GitHub Marketplace has project management software that provides a GUI interface that can allow you to track the issues. You can order them by priority, those that have contributors working on them, in progress and fixed issues. Since it's done with badges, it's easy for everyone to read and makes the project easy to track.
Don't let your pull requests pile up.
Use labels in your repository to make it more attractive.
Pull requests are critical for keeping public open source projects active.
Do not just merge requests without testing them.
Use GitHub tools and processes to help you organize and delegate pull requests for your project.