Monday, November 21, 2005

Working on a voluntary site .. what an experience

What an experience! almost every programmer should try at least visiting this site if he/she didn't already. However, if you are a programmer, you should really think of working on it! There are plenty of software projects developed there, in almost all categories, so no matter what language u use, what platform u prefer or what framework u work under, you'll find a project fetting your skills.
But what do you gain from working in source forge voluneerly?!!
Well, for starters, if you are a new programmer, a new graduate from some computer related education line or generally new to working in programming teams, Open source development sites generally are your destination! You'll begin to learn the tools most teams use when developing softwares, how they communicate, how they change their software and how they devide the work amongst them. You will also have a great chance to apply what you've learnt so far in your specific programming career. But there is more to it!
I think the main benefit for new and intermediate developers is the chance to actually "live" the code development process. You see, in a real life project, the life cycle of a software product being developed from A to Z. What are the troubles real life projects face, how are they solved, how a team work is different from an individual effort, what are the tricks older programmers use and when they use it. All of these are some of the knowledge you acquire when developing in an open source project along with many other benefits. For the experienced programmers who haven't tried to do open source, there are benefits too.
If you've been a programmer developing applications for a software company, then you certainly faced many situations where you had to do something in a way you don't like (or even, the worng way sometimes)! That's because companies apply policies, business plans, feasability studies, expenses and revenue impact analysis, and the list goes on of these ugly, unwanted things that we mere programmers usually don't understand (or don't want to!). In open source projects, you get a chance to see if these policies are necessry or not. After all, you're the one who puts your plans, you're your own boss! Many programmers I know learnt more about these manegerial stuff in open source software projects instead of their own work. More importantly, they learned to embrace such policies, and even started to develop their own manegerial skills.
Still not convinced? Then you must be thinking what my wife used to think when she knew i was spending a lot of time developing a software that will be available for downloading by anyone on the internet! She used to say: "Well, waste that time on something that will really be useful to you, instead giving something for free. You don't get free things all the time do you?"
Now, my wife is not a mean person. Actually she is a very nice creature. What she really thought was that she didn't like the idea that her husband is spending hours daily on developing a software just for some "thief" - in her opinion as a non programming person - to come and make use of it and may be get all the credit in his/her company, which is probably wht you are thinking if you don't believe in open-source projects. Well here's the good news: Non of this is true most of the time!
First of all, the open source architicture almost always reserves the main author's credits to him. It allaws everyone to take the code, make some customizations or modifications and then simply maybe sell it! However, it does not allow that person to prtend that the software is his/her own altogether. He/she must aknowledge that the parts developed by you are developed by you. In other words, he/she must explicitly say that this software is a modification/customization of an open source software called "---" developed by "----" to his/her clients. This means that in some way, that person will be introducing you to his/her clients. After all, reputation is important in the field of programming! Another crucial thing is, it allows you to do the same! Well, who will be better than you in developing your own software further?! One more thing is, well, it gives a hell of an impression for employers and clients to know that you are developing open source software! You may think of it as both a great line to add in your CV and as a great propaganda!
So no matter what your motives are, and no matter what your level of experience is, open-source software development will be a good place for you.
Finally, here is some places where you may start:
Finally, I hope this helped the newbies, amused the fathers and didn't bore the masters!

No comments: