On 10/10/2012 12:30 PM, karan garg wrote:
> Thanks a lot for the feedback. But I am a bit scared as this is going to
> be my first such experience. I have a basic knowledge about these
> languages, and definitely even if I fall short of the required
> standards, I shall learn them on the way, but it sort of is making me
> nervous.
>
> Can you plz explain how the procedure works if i try to enhance a
> software or fix a bug?
> Like will i be provided with a particular task?
> Or if i dont know something then i will be guided through that problem
> by your advices?
> Or I'l just be on my own except for where i get stuck and just be
> provided with the resources?
>
> My apologies for trying your patience.
>
>
> --
> Regards

> Karan
>
Well, I suppose first and foremost, do you have a particular project in
mind to which you would like to contribute?
I understand being worried about potentially not knowing what you're
doing and becoming overwhelmed, but for a situation like this where you
*want* to volunteer to do something, at some point the "want" will
override the fear. You just need to find the correct project and task
that most appeals to you!
As for any guidance you may receive, it really depends on how you go
about getting involved. Many of the larger projects have guidelines that
you can follow to become comfortable with their specific coding style
and the way patches are accepted, etc, etc [1][2] and as long as you
read the pages carefully and try to adhere to their customs the main
devs will probably be more than happy to assist you along the way if you
need some clarification here and there.
If you're more interested in helping a smaller project, then their
process is generally less documented[3][4] and you'll find that you can
form a more close, one-on-one relationship with the devs (as long as
their not too overwhelmed with other things) and they'll also probably
be happy to help you, as needed.
Just be aware, if you want to help with the programming, then that's
awesome! However, just keep in mind that most devs would prefer not to
teach you the language the project is written in, so you most likely
will have a tough time at first while you're trying to understand the
codebase AND learn potentially foreign syntax and such. But if you're
determined to help out and contribute then the community will welcome
you with open arms.
And as a side note, some devs can be grumpy and difficult to work with,
but they are few and far between. On the vast majority of projects, the
devs have a TODO that will take them years to get through so any help is
usually appreciated and any additional features that will make their
project more useful/worthwhile are appreciated, too.
Summary/tl;dr Look for a Getting Started or Get Involved page on the
projects website. If you can't find one, see if there's a HACKING doc in
the project repository. If the project looks like something you want to
work on but you need help, contact the dev and let him/her/them know
your interested but need some help.
HTH
[1] http://www.libreoffice.org/get-involved/
[2] http://www.gnome.org/get-involved/
[3] https://github.com/ioerror/tlsdate/blob/master/HACKING
[4] https://github.com/memcached/memcached/blob/master/HACKING