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.
You can also make money with your open source project. In this article, you’ll find smart ways of monetizing your OSS.
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.
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.
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.
Ruby on Rails has lots of open source solutions. We’ve gathered six main to boost your online business.
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.
RubyGarage team has come up with a well-structured Git workflow that helps us build high-quality apps as efficiently as possible. Check this step-by-step guide.
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