An important thing to do is to know how Git, a version control system, works in order to contribute with people (in most cases), and get a GitHub account . Ok, but why GitHub?, well, GitHub has become a staple amongst the open source development community, it’s simple, with a great user interface and it’s where most open source projects are... so yeah.
So you found that cool project you want to work on?, great, an open source project typically involves three stages. Let’s take a quick look at each stage.
You could begin by contacting the organization behind the software itself and asking what opportunities they have going. This will work well for smaller-scale projects, or startups, however, you should be aware that the majority of open source projects will not pay for your work and that it’s done on a voluntary basis. Hey, not everything is about money you know.
But, for larger-scale projects, you can simply start coding and forking your own version of the software. You should be wary though that if lots of people are working on the same project as you, that your hard work may not be included in the final release of the product, so brace yourself for rejection.
If you’re looking for inspiration on a project to start working on, there’s always lots of interesting projects to work on, especially if you look on sites like GitHub, SourceForge, and Google Code, stay curious.
Before you begin actually working on the project, you should familiarize yourself with how the project is being run and how its management is structured so you know who to go to if you require assistance with something. Also, it’s a good idea to check you know exactly what you’re doing before you begin, as you either don’t want to mess things up, or waste your time working on a feature that someone else is already working on, for example.
When you’ve made the changes you want or implemented the feature you had in mind, you commit your changes to the main project and send them to the maintainers of the project for review.
This may be done using GitHub or on a platform like SourceForge. Your changes will usually receive a yes :) or a no :( from the organization or the team in charge of the project, indicating whether or not your changes are going to be included in the project. If they are, then it’s time for the distribution stage. If not, then it’s back to the contribution stage.
Possibly the most complex stage of all is the distribution of an open source project. Here, the final version is committed to the repository where the project has been hosted and live versions for non-developers are updated. At this point, the organization and developers say good bye to their hard work and hand it over to the public for general use, and of course, critique.