Log in

No account? Create an account
Previous Entry Share Next Entry
contributing to open source
Recently I have been embroiled in debates on several fora on what exactly is contributing to open source and how to go about it. And there guys who are going around rating contribution as 'good' contribution and 'not good' or 'second rate' contribution. In one case the advice runs like this: look around on sourceforge etc for projects you like and go ahead and contribute to them. I feel that all this comes from a fundamental lack of understanding of how open source works. In the closed source world there are two defined roles - creators and users. And a firm line between the roles. In open source, the difference between a contributor and a user is not clearly defined. Every user is in some way also a contributor.

ok, so I want to contribute - how do I do it? Why do you want to contribute? if you contribute for the sake of contributing or for the sake of giving something back to the community or because you feel you should - it is likely that your contribution will be worthless, it will irritate the developers in the project and will certainly not sustain.

From my experience and from observation, the first way to contribute to an app is by using it. You use it because you need it. Then you have problems, so you get on IRC or a mailing list and ask questions. Using is contributing. Asking questions is contributing as it shows that maybe documentation is not good or the layout of the UI is confusing. As you keep using the app, you start interacting with the community. And depending on your level, you may remain at the stage of just asking questions, or maybe suggesting features, or maybe contributing patches and code - or translating strings, improving the documents - and possibly, one fine day you are a full fledged core developer. Or may be not. You write tutorials and blog posts on the way you have solved some problem or the other - you do not need commit rights to do that. You may write plugins or develop ui schemes - you do not need commit rights for that either. Since you have become known in the community as a user, a participant in online fora and adding tutorials, howtos etc, you are not seen as an interloper or busybody - but rather as a member of the community.

Developers are absurdly grateful for this kind of contribution - be it just downloading and using the app (and hence contributing to user statistics), or whatever.

Other ways - joining a LUG, attending LUG meets, going around conducting or helping to conduct workshops, seminars, install fests. Installing foss labs in institutions. Installing linux anywhere. And talking about foss - it is talk that distinguishes us from monkeys. Yes, talk is contribution too.

And which is the best type of contribution? No genuine member of the FOSS community would even dream of asking this question.