Imagine you’re trying to find a solution to a problem that you currently have, but you have no clue where to start looking? On top of that, your code skills aren’t the strongest at the moment, so you’re looking for some guidance. This can be quite frustrating, since many of us don’t know what to look for or where to start our research. Even if your problem isn’t strictly related to Open Source development or programming, it doesn’t hurt to look there either. Github and other code repositories could be where you find your solution.
Github is one of the biggest code repositories for open source projects in the world — that’s not to mention it is an integral part of the industry from both a developers and company perspective. However, some people may be hesitant to search for projects on Github. Whether this is because you don’t know how to use Github, or are afraid to look stupid (you would never look stupid), I will go over my top tips on how to search for open source projects and what you can learn about them.
There are several ways to find more information and get started with contributing to open source:
- If there’s a particular topic that interests you, visit
github.com/topics/<topic>. For example, machine learning enthusiasts can visit github.com/topics/machine-learning to find relevant projects and starter issues. You can also browse popular topics by visiting github.com/topics.
- If you already know which project you want to work on, find beginner-friendly issues for that project by visiting
github.com/<owner>/<repository>/contribute. For example, you can find ways to make your first contribution to
- If you’ve been active on GitHub, your past contributions, stars, and other activities are used to offer personalized recommendations for projects you might like. Visit github.com/explore to see your curated list.
Using any of these options, you can see a list of projects and a few beginner-friendly issues we recommend reviewing to help you get started. You can also click More good first issues or visit
github.com/<owner>/<repo>/contribute for the project you’re interested in to see a complete list.
Searching using a visual interface
You can search GitHub using the search page or advanced search page. Alternatively, you can use the interactive search in the GitHub Command Palette to search your current location in the UI, a specific user, repository or organization, and globally across all of GitHub, without leaving the keyboard. For more information, see “GitHub Command Palette.”
The advanced search page provides a visual interface for constructing search queries. You can filter your searches by a variety of factors, such as the number of stars or number of forks a repository has. As you fill in the advanced search fields, your query will automatically be constructed in the top search bar.
If you use GitHub Enterprise Server or GitHub AE and you’re a member of a GitHub.com organization using GitHub Enterprise Cloud, an enterprise owner for your GitHub Enterprise environment can enable GitHub Connect so that you can search across both environments at the same time. For more information, see the following.
- “Enabling unified search between your enterprise account and GitHub.com” in the GitHub Enterprise Server documentation
- “Enabling unified search between your enterprise account and GitHub.com” in the GitHub AE documentation
Discovering relevant projects
If there’s a particular topic that interests you, visit
github.com/topics/<topic>. For example, if you are interested in machine learning, you can find relevant projects and good first issues by visiting https://github.com/topics/machine-learning. You can browse popular topics by visiting Topics. You can also search for repositories that match a topic you’re interested in. For more information, see “Searching for repositories.”
If you’ve been active on GitHub.com, you can find personalized recommendations for projects and good first issues based on your past contributions, stars, and other activities in Explore. You can also sign up for the Explore newsletter to receive emails about opportunities to contribute to GitHub based on your interests. To sign up, see Explore email newsletter.
Keep up with recent activity from repositories you watch and people you follow in the “All activity” section of your personal dashboard. For more information, see “About your personal dashboard.”
You can connect with developers around the world in GitHub Community Support to ask and answer questions, learn, and interact directly with GitHub staff.
If you already know what project you want to work on, you can find beginner-friendly issues in that repository by visiting
github.com/<owner>/<repository>/contribute. For an example, you can find ways to make your first contribution to
electron/electron at https://github.com/electron/electron/contribute.
If you encounter a bug in an open source project, check if the bug has already been reported. If the bug has not been reported, you can open an issue to report the bug according to the project’s contribution guidelines.
There are a variety of ways that you can contribute to open source projects.
You can contribute to an open source project by validating an issue or adding additional context to an existing issue.
You can contribute to an open source project by merging a pull request into your local copy of the project and testing the changes. Add the outcome of your testing in a comment on the pull request.
You can contribute to an open source project by adding additional information to existing issues.
Locating open source projects on Github is quite easy, but with so many available options it can be a nightmare to find exactly what you are looking for. From being able to search and filter within the website or from a terminal, finding open source projects on Github will be a task easily conquered.
If you’re new to the open source community and haven’t spent time on Github, then you might find yourself a little bit confused when searching for open source projects. A lot of people use Github as a resource to search for open source projects and there are lots of great open source projects on Github. You can even search by programming language or license. Both of these are great resources if you’re looking for specific types of open source projects to contribute too.