Introduction
In this article, we are going to see how you can find open-source communities to contribute to
and why you should care about open-source
. Open source not only improves your technical skills but also your communication and networking skills. So you can get jobs, clients and the money that you deserve.
It is also very important if you want to land a very high-paying job then if you mention it in your resume then you will have a much higher chance to get hired.
A very common problem people face is finding the right project to contribute to, but don't worry it happens to most people who want to get started with open-source contributions.
What are open-source projects?
An open-source project is a type of project with source code in which you can inspect, modify and implement some new ideas. It is just like social coding.
Basically, it means, it's free to use and free to access to modify.
In GitHub people can not only comment on your code, and fork your code to share it but they can also contribute back to the project by adding some features to it or by fixing some bugs, Just like StackOverFlow where all the developers provide answers to the various problems posted by another developer. A lot of open-source projects are available on popular hosting sites like GitHub, GitLab or SourceForge.
Why one should contribute to open-source projects?
You should care about open-source because you're probably using a lot of open-source tools and projects, and it's great you're are using these amazing open-source tools but they are only there available because people like you who contribute to them.
It's an inclusive community and you get to know and collaborate with people around the world.
Some more advantages are:
- Improves your problem-solving skills.
- Improves your technical skills.
- Helps to gather information about a specific topic.
- You will get Industry level experience.
What are examples of some open-source projects?
There are many open-source projects out there, and many of them are likely tools you have used before. These are some popular products that you may be surprised to know are open source.
- Android is an open-source operating system in which we can implement our own ideas.
- Linux is an open-source kernel and we see so many servers that run Linux.
- You may be familiar with JQuery, a JavaScript library that provides many front-end capabilities like animation, less code writing, transformation and much more.
- Our popular version control system Git, is fittingly the best example of open-source software.
How this will benefit your career?
Open source is a great way to get real-world software development experience from the comfort of your home. It will enhance your resume very much. You'll get to put on some really big projects that you contributed to. You get the satisfaction that your written code is being used by people around the world.
You get to know networking and making connections from around the world, the internal working of the project, a productive mindset and good communication skills.
You will get good level experience that how actually it works. It will also give a good impression when you discuss your contribution in public.
How to get involved in open source.
The source code for open-source projects is available to anyone -- from the developer just starting out to the developer with decades of experience. So you can contribute at any point in your development career and become a member of the open-source community! Here are a few things to look out for as you search for an open-source project to get involved with.
What to look for in the project?
- An open-source license.
- Easy to read and unambiguous documentation.
- Recent activity.
- Activity community or any medium to discuss.
- Tagged issues and features to implement.
- Piques your interest.
Ideas to contribute to open-source.
- Update documentation
- Post an issue if you find any.
- Fix accessibility issues.
- Make the descriptive clean and inclusive.
- Use the project to build something useful.
Prerequisites
Prerequisites are git, programming
language of your choice and the tech stack of your choice. e.g Web dev, android development, iOS development, blockchain and machine learning etc. You don't need to be an expert, if you have basic to medium knowledge of your tech stack you can definitely contribute.
** Bonus Tip ** You can also learn some new technologies at this stage such as you can learn iOS development using Swift or Objective C and also it is a demanded skill.
Where to find projects/communities to contribute?
You are not alone if you are wondering where to get started. It can be overwhelming to start coding without knowing what to build or what it takes to build a project.
The best way to find a project is by going backwards and forward and searching for the issues rather than searching for a project directly. The project maintainers who are looking for contributors usually add labels to some issues.
If you are just starting out your open-source journey, then I would suggest you go with good first issue
labelled issues. And here is a list of some websites where you can find these good first issues
If you already have a project in mind, then it's best to carefully look at the issues with the label and whether it suits your tech stack or not, And if the answer is yes, then you are good to go.
Hope I have covered your all doubts regarding this topic. If you have any queries, you can directly reach out to me on Twitter or LinkedIn
Thanks for reading this blog.
Top comments (3)
My reasons for contributing to an open source project
I appreciate these sound a little self serving, but it’s hard to really get involved in a project if there isn’t some personal interest or benefit, especially when you are loaded with work from your day job.
I should note that in extreme cases I’ll fork a project, but that comes with its own risks. Usually forking is done because the original project is not getting maintained and there aren’t any good alternative projects to turn to. This should be a large ditch option.
Before contributing to an open source project I’ll check to see when the last change was, how many pending pull-requests and the issue activity. Something that hasn’t been touched in a year is a red flag, suggesting PRs aren’t likely to be addressed.
The other thing I’d suggest is opening or participating in issues or discussions before randomly providing changes. Also get a feel for code structure, coding and testing framework of that project. Nothing worse than a contributor who ignores those details. Turn off your auto-formatter, unless you are sure the format is consistent with the project’s.
Great article
Well said, sir which can project can I contribute to meet hiring managers