Finding projects on Github can be difficult. Some of the best projects will often only be shown if you type a specific command. Many times you might find the same project show up several times under different names, and it is hard to tell which one is the best. As well as several other reasons, that is why I wrote this tutorial. It is an easy way for anyone to show any project on Github.
Whether you’re looking for a small project to get started with, or a huge project where you can make an impact, GitHub is the place you want to be. With this guide, I’ll show you everything I know about finding projects. First up is the all-important search bar.
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.
Finding a Project
On our Twitch stream, we answered them all. One of the coolest things our viewers loved, is where to find projects. It can often be a daunting experience when you first look at Open Source. There are so many projects and so many issues you almost don’t know where to start. Hacktoberfest has made it easy by showcasing projects on their homepage.
But did you also know you can search trending Open Source projects on GitHub? You can even filter by programming language, spoken language, and even date. We ran through an example on how to find a top Ruby project. If you check out our search terms you’ll find the top Ruby projects for today.
You can even search by developers. If you want to find a top developer contributing to the language you want to write, then you can do just that too. We found a Ruby dev with nearly 6,000 contributions just this year!
There’s so many ways to find projects you’re interested in. Taking a look at trending open source repos are just one way of doing this.
Improve software you rely on
Lots of open source contributors start by being users of software they contribute to. When you find a bug in an open source software you use, you may want to look at the source to see if you can patch it yourself. If that’s the case, then contributing the patch back is the best way to ensure that your friends (and yourself when you update to the next release) will be able to benefit from it.
Finding good first issues
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.
Open Source Friday stream
If you missed this epic talk on our Open Source Friday stream, don’t worry. It’s all recorded and you can check it out on YouTube. You can always join us on one of our Open Source Friday sessions. You’ll meet lots of awesome developers, connect with the community, and have the chance to ask questions from both GitHub staff and open source maintainers.https://www.youtube.com/embed/nRZCqe7fyZA
Follow us on our Twitch Channel and join our Meetup Group. We post all our upcoming Open Source Friday streams, as well as meetups for your region. Looking forward to seeing you on the next live stream, and good luck with all your Hacktoberfest Contributions.
Meet people who are interested in similar things
Open source projects with warm, welcoming communities keep people coming back for years. Many people form lifelong friendships through their participation in open source, whether it’s running into each other at conferences or late night online chats about burritos.
Testing a pull request
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.
It’s empowering to be able to make changes, even small ones
You don’t have to become a lifelong contributor to enjoy participating in open source. Have you ever seen a typo on a website, and wished someone would fix it? On an open source project, you can do just that. Open source helps people feel agency over their lives and how they experience the world, and that in itself is gratifying.
Find mentors and teach others
Working with others on a shared project means you’ll have to explain how you do things, as well as ask other people for help. The acts of learning and teaching can be a fulfilling activity for everyone involved.
We are focusing on GitHub Issues here because they are a powerful way for team members to have active discussions about data and code, and therefore ways to participate in analyses even for those that are not involved in the day-to-day coding. I find Issues not only useful to discuss topics as a team, but I also treat it as my external memory: I write notes to myself, link to files and websites; I leave breadcrumbs for myself so that I am more easily able to remember my past thought processes and pick up projects where I left off.
In this way, GitHub Issues help actualize the mindset of Future You and Future Us. This means being deliberate now about communicating decisions and progress so that you or others can work in the future a little more smoothly. Using project management software is a strategy used by every software developer or people working on projects with many moving parts. It streamlines technical discussions with people who are coming/joining a group. It also helps organize and track projects that single or multiple & overlapping users can be a part of.
While there are many options for project management software out there, I like using GitHub because it’s already managing my code and my work, and linked to my collaborators so it offers a streamlined way to communicate. It’s also one less account I need to have, which is a huge bonus in my mind.
One of the reason we talk about Issues in Openscapes is because they are an excellent way to develop habits for using GitHub for your analytical project more broadly.
The purpose of this document is to explain the different types of projects that are found on Github and make it easier for people not familiar with github to find a project that interests them.