How to Contribute to Open Source Project
You can also make money with your open source project.
Hi ๐, I'm Ananya
A passionate Software developer from India
It's never been easy to learn programming. But despite tons of ways to learn how to code, we believe that the best way to improve your skills is by contributing to open source projects.
The open source community provides a great opportunity for aspiring programmers to distinguish themselves; and by contributing to various projects, developers can improve their skills and get inspiration and support from like-minded people. But most importantly, they can prove that they can build fantastic experiences that people love.
In this article, we'll explain why you should contribute to such projects, how to contribute, and what projects to choose. This article is geared towards developers who are just starting their career and would like to get involved with the community (and maybe become a coding genius).
Why contribute to open source projects?
There are a number of reasons to contribute to OSS (open-source software). Let's see what motivates developers to contribute.
First, there are a lot of enthusiasts who simply believe that code should be open. They're idealists who want to make the world a better place, and it drives them to contribute code. The desire to share can be a powerful motivator.
Second, OSS gives you a great start. Beginners might start by fixing minor things, such as a bug in a library, sending a pull request, or even writing a piece of documentation. However, beginner developers can also learn to write so-called "clean code" โ code that is readable and maintainable โ while contributing to open source projects. When developers realize that their code is exposed to the world, it makes them focus on making that code easy to understand and support. Programmers stick to generally accepted rules within a team, which include norms for indents, descriptions of methods and classes, variable names, and following the don't-repeat-yourself rule. In a nutshell, when contributing to free projects you're obliged to conform to the norms of a project.
Third, you get the chance to be part of an active open source community where you can meet like-minded people and supporters. Moreover, if you're a freelancer and actively contribute to open source projects, you increase your chances of being noticed by potential employers.
The main reasons why developers go for free-for-modification projects are to be recognized, to sharpen their programming skills, and to become part of the vibrant community. Now let's look at what you should consider before you start contributing.
What to consider before you go open source
Okay, so you can't wait to start your first OSS project. Let's go through a few tips that might help you choose what to work on.
Programming language
The most fundamental technology behind any application is a programming language. The most popular languages on GitHub (a collaborative code hosting platform) are JavaScript, Python, Java, Ruby, and PHP. There are a multitude of projects that might suit your skills and taste.
Since we at RubyGarage love Ruby and its ecosystem, we'd like to share several live OSS codebases for beginners:
Sinatra, a Ruby-based library that helps create Rails-free apps;
Hanami, a modern web framework built with Ruby;
Chef, a Ruby-based framework used for automating your work with the server;
Goby, a framework that lets you build text role playing games;
JRuby, a second top Ruby interpreter.
Although we mentioned only five active open source projects that need help, you can start your jorney as a Ruby contributor with them.
Type of project
After you've chosen the language you want to work in, you need to choose the type of project you prefer. GitHub projects are categorized into folders called Showcases. Here are some examples of Showcases: "security", "virtual reality", "text editors", and "CSS preprocessors." Just choose a topic that interests you.
However, we do recommend paying extra attention to those projects that would be used by broad spectrum of people so you'll have the chance to test your code on a large real-world audience. For example, the "Emoji" Showcase contains 25 repositories that represent its popularity. Another tip on how to choose an OSS project is to start working on software you already use or software you're interested in using. This will keep you motivated to keep on working.
Project volume
Large software projects like VLC Media Player or Spree โ with thousands lines of code โ aren't the best choice for a beginner. When you contribute to huge projects, you're expected to meet the established requirements within that team. A here's another small tip: pay attention to issue labels. Some issues are labeled as "first-timers-only", "beginner", "easy", and so on. You can also find a list on Github with collections of projects that suit newcomers. Consider these tips when choosing a project to contribute to. And always remember to choose software you're interested in and allocate time in advance.
How to contribute to open source projects
When we speak about free software, we can't avoid talking about GitHub and related tools. Let's see what GitHub is and how it helps you to participate in open source projects.
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.
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. Besides being comfortable with revision control tools, essentials skills include being able to clone a repository and send pull requests. Pull requests inform code maintainers about changes made to the code; they can then review these changes, start a discussion about them, or assign them to a further commit.
Join the community
You can easily join an open source project by subscribing to the mailing list for that project. You can find mailing lists on official websites or on GitHub pages. After being accepted to the list, you can communicate with team members and get support if necessary. Thanks to the vibrant communities present in nearly every OSS project, you are likely to get quick replies to your questions.
All skills are welcomed
Even non-programmers can contribute to open source projects! Documentation is needed for all projects, and sometimes this is poorly written and maintained. Thus, you can help by writing, updating or even translating documentation. Also, your design skills might come in handy: every application needs an interface, after all. Finally, you can contribute by managing a community by replying to questions and guiding newcomers.
Conclusion
Open source projects bring many benefits to those who participate in them, and such experience is great for your CV. By joining a community of like-minded people and polishing up your skills, you can give yourself a step up as an aspiring developer. We've listed common reasons why people contribute to OSS projects, and described various ways to get started. If you would like to read more about contributing to OSS projects, check out our previous articles about how open source projects penetrate the IT market and about the security of free software.
RATE THIS ARTICLE! ๐ Nay ๐ So-so ๐ด Not bad ๐ Good ๐