Git is a distributed version control system that allows you to backup, track changes and helps you collaborate. It’s used for software development and is most commonly used by programmers. The beauty of it is you can use it for many other things. This post will show you how to find interesting projects on github and learn how to assess their quality.
Do you have no idea what to do on github? Have you used git before and just wanted to find cool open source software to jump in and contribute to? This is your guide. We’ll look at several different ways to find projects on github. Also, if you are new to contributing open source maybe you want a way that doesn’t involve diving right into “pull requests.” You’ll find a few great options here.
Get to know GitHub
GitHub is the most popular platform for open source collaboration, so you’ll probably use it when exploring the world of OSS. First, you need to create a GitHub account and read the guide that helps you get started. On GitHub, you can contribute to projects by submitting issues and contributing code. Submitting issues means sending messages about errors in applications and suggesting ways to fix them. Contributing code involves sending pull requests with your corrections and improvements.
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 projects to work on
One way to find projects to work on is to look to open source software you use often and like. Is there a tool, package, framework, or a language that you work with regularly and enjoy using? Find out whether it’s an open source project by checking its license and if it accepts contributions and is active. Working on things you already use gives you an edge when contributing because you’re already pretty familiar with how it works and have experience using it. As a bonus, you can address problems that have been bothering you or suggest features that you want in the software. If you are going to contribute code to the project, be sure you can work in the language it’s written in.
If the above approach may not work for you, try using the Github explore page to find projects that are accepting contributions or actively want help. Github suggests projects you may like based on people and repositories you follow, star, and watch. Another way to find projects is to use Github’s search tool by entering beginner-friendly contribution tags like good-first-issue, good-first-bug, beginner-friendly, easy, low-hanging-fruit, first-timers-only, etc. Filter search results to return issues in open states and in the languages you’d like to work in. There are tons of other tools, platforms, and programs where you could find open source projects that I’ll list at the end of this article to help you with your search.
To have a positive contribution experience, try to avoid communities that are hostile to beginners and generally problematic. If for example, when trying to ask legitimate questions after you’ve done your research, you receive dismissive and combative comments or insults, it’s best to stay away. Another sign to be watchful for is a pattern of unprofessional behavior within a community. Some open source software projects have been infamous for this sort of thing. So do your research before contributing.
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.
Learn the basics
When working with GitHub, you should know how to use Git – one of the most popular version control tools (also known as revision control tools). Because developers constantly make changes to their code, they need a system that can manage those changes in a central repository. In this way, everyone involved in the development process can download a given piece of software, make changes, and submit updates.
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.
Picking issues to work on and making contributions
Projects may list the work that needs to be done in task, bug, and issue trackers. For example, Angular uses Github’s project management feature to outline and assign tasks and track their progress. If a project has one, get access to it.
As a rule of thumb, start with the easiest and smallest contributions first that take the least amount of work to build up your confidence and credibility before trying harder contributions. Writing documentation and fixing typos is a good place to begin. Look for issues that are tagged for beginners with the tags mentioned earlier.
After you pick a task you think you can finish, do your research. Read documentation, code, and discussions related to the task to get a better understanding of what to do. If you’re stuck on something even after you’ve researched it, reach out to the community and ask for help, clarification, or mentorship. However, make sure that you discuss issues related to the task publicly so that the rest of the community can benefit from what you learn. For example, discuss an issue publicly on Github versus in a private direct message on Slack. Once you feel like you have enough context on a task and know how to go about it, write some code and submit a PR. Github has a great checklist about what to check for before you contribute to a project so your effort is not wasted.
A lot of projects are posted on websites like Github. If you are looking for some fun new projects to try out, or just see what cool stuff people are working on, Github is a great place to start. There are tons of interesting and useful projects available for free.