Contributing to FOSS
Thursday, June 17, 2010 1:56:57 PM
Most of us use Linux and many other open source softwares. According to me the most popular ones among us are(some of them have already been discussed under various topics on the forum): Ubuntu, OpenOffice.org, PeaZip, IZArc, Google Maps(not the map data), KDE, Firefox, ThunderBird, JDK, Netbeans, MySQL etc.
Definition: Open-source software (OSS) is computer software that is available in source code form for which the source code and certain other rights normally reserved for copyright holders are provided under a software license that permits users to study, change, and improve the software.
How to Contribute to Open Source Software (if you want a certain functionality to a software of your choice):
This is one of the most thought after question when we hear about Open Source Software but most of us are unaware of how to start about.
Well there are certain general steps that can be followed to start with the development:
1) Choose a software that you use most frequently (that's why I have tried to give a list above) as you are more likely to be aware of what you want
2) Visit the website of the software you want to contribute to. Most open Source software have their source codes available for download. Most likely the source code is hosted at the SourceForge(Ex: LKL Linux KeyLogger ), Google Code (Ex: Google Maps Mobile), SVN or Gitorious (Ex: KDE).
3) Search for "How to Contribute or How to become a Developer" on the software's website and go through their requirements such as C++, Java etc.
4) Do subscribe to the Developer's Mailing List of their software and introduce yourself their and ask question. Another way to get live help is through the IRC channel. People at IRC are generally always ready to help you out.
5) Well, existing developers would help you but my experience says that most problematic area to start with the source code is "where to start reading". So, look at the /src folder and search for the main
6) Look at the headers included and also go through the documentation. (included how to build your software)
7) If you already have a task at hand, look for similar implementation in the source or ask the existing developer's for a task or try to find a bug and start working towards it.
8 ) In case of problems, ask at mailing list or at IRC.
I have tried to compile a general procedure that can help you get started with OSS Development. But their are no specific guidelines in general and depends upon your choice.