What is open source software and how do I find open source projects?

Photo by NeONBRAND on Unsplash

What is open source software and how do I find open source projects?

Aside taking online courses or tutorials, have you always wanted to improve your technical writing skills or programming knowledge by contributing to real life projects? Well, In this article, you will learn about open source, why you should contribute to open source, and how to find open source repositories on GitHub.

What is open source software?

Open source software refers to source codes people can inspect, modify, and share becau se the designs are publicly accessible. A lot of technologies such as Linux, VS Code, and TensorFlow are built on open source. These technologies, also known as open source projects are built on platforms such as Git, and they provide everyday developers opportunity to contribute even without prior experience. In other words, you do not need to be an expert in a particular field before contributing to open source.

Why should I contribute to open source?

Why not? I mean, if you are looking to network with developers around the world and also add meaningful real life projects to your resume, then you should consider open source. It's not must, but a lot tech recruiters often ask for your GitHub profile when you apply for jobs, and when they notice you contribute to open source, you stand a better chance of landing these jobs. Your active contributions also show recruiters your ability to collaborate and communicate with developers from different backgrounds. In addition, contributing your knowledge to open source is a lot of fun, especially when you intend to support people in the tech community.

What you need to know about open source projects and communities

It is also important to understand that you need to have a GitHub account before contributing to open source projects. If you do not have a GitHub account, visit GitHub, create an account with your email address and choose any password you that is unique to you. Open source projects have communities which are managed differently from one another. You will often find different rules depending on the community of the open source project that suits your interest. The rules in the communities help to guide contributors, and also ensure contributions are made in a uniform pattern. An example of a common rule in an open source project would be for you to include your name in the Contributors.md before making a pull request. In an open source projects, you will find different people with certain roles:

Author: The person(s) or organizations that created the open source project

Owner: The person(s) with administrative control over the organization or repositories

Maintainers: They are responsible for managing the organizational aspects of the project. Some of their functions include driving the vision of a project, responding to issues raised on an open source project, and inspecting of codes written by a contributor before merging a pull request.

Contributors: This refers to people that have contributed something back to the open source project.

Community Members: These are people that use the technology or project. Some members play an active role through conversations or by expressing opinions on the project’s direction.

How to find open source repositories on GitHub

There are several ways open source project with issues can be found on GitHub. Take for example you have an interest in JavaScript repositories, one popular way is to use the Explore tab in the navbar and select topics related to JavaScript. Another less common way is the Issues tab in the navbar. The Issues tab shows problems that people have attached to certain repositories, and it also provides a great way to search and filter repositories on GitHub.

To search for JavaScript repositories using Issues, start by clicking on Issues in the navbar. By default, you would have some filter options with a key and value pair in a search input. On my Issues web page, the filter options I have are is:open is:issue author:Ademola409 archived:false. You would have similar filter options in your search input with the author value being different from mine.

issues.JPG

Clear the default filter options except is:open. This is because is:open helps in filtering for issues that are accessible to the public. The second filter option you are using is language: JavaScript. This filter option is help identify the JavaScript repositories. The third filter option label: "good first issue", would help match your skill sets or level of experience. There are also other label values you could use like dependency, bug, documentation, and many more others. However, If you are a beginner making open source contributions, I highly recommend using good first issue as the label value. After filling the search input with the filter options, hit enter on your keyboard and a search result for the JavaScript repositories is displayed. search_input.JPG

The image above shows the result of the JavaScript repositories with a total of 31,898 open issues for beginners. You should pick a repository that interests you, read the necessary documentations and then make your contribution(s) to the project.

Conclusion

Making contributions to open source involves finding the repositories that match your skill sets. Aside writing codes in open source projects, you can also improve the documentations or ReadMe files provided in open source projects. Open source provides you opportunities to work with others and also learn how Git and GitHub works. Go make your first open source contribution and have fun building things with other developers. You could one day use your contributions to impress your prospective employer.