Are you new to Github and wondering where to start? In this tutorial, I’ll show you how to find projects, fork projects, and clone projects–all for free. For a beginner’s guide, we need to begin with the basics. My first question when teaching beginners is always “How do you know what language or technology to learn”? Well, one of the best ways is by looking at open source projects. Open source projects are usually developed by hundreds of contributors over the course of years (or even decades), meaning that they tend to evolve into refined softwares with high-quality documentation. By browsing Github repositories
GitHub is the world’s biggest host of open source projects. There are a lot of benefits to using this awesome site, and if you’re a beginner to using it, your first step should probably be finding some open source projects. This guide will give you the basics on finding and using open source projects on Github!
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.
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.
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.
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.
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.
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.
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.
Opening an issue
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.
Improve existing skills
Whether it’s coding, user interface design, graphic design, writing, or organizing, if you’re looking for practice, there’s a task for you on an open source project.
Build public artifacts that help you grow a reputation (and a career)
By definition, all of your open source work is public, which means you get free examples to take anywhere as a demonstration of what you can do.
Let’s face it, open source projects are all over the place when it comes to Github; its like the New York Subway system. Over the years I’ve been in development, I’ve been able to find my fair share of gems on Github, and even learned a thing or two about programming along the way.