Well, I can only speak for myself.
When I first picked up DBMan a couple of years ago, I knew nothing at all about Perl. I had used a couple of small scripts, but I didn't know how the language worked. (I had done programming in other languages before, though, so I understood the basic concepts of programming.)
When I first came to the DBMan forums, there wasn't much traffic here. I asked questions -- "newbie" type questions -- and not one of them were answered with any real information. Either those who read my questions didn't know the answer or they were unwilling to help me.
So I learned the script myself. I went through each of the processes, step by step, following the procedure through the program. I picked up books on Perl so I could understand the syntax. And I figured out how to create things that I needed.
When I started to feel like I had some knowledge to give to others, I started answering questions on the forum. I suppose my main motivation is the basic "do unto others as you would have others do unto you." I would have liked help when I was starting out, so I give help now to others who are starting out.
I am in a relatively unique position. For various reasons, I'm pretty much at home all the time. I did start a business customizing DBMan for other folks, but it became too much of a hassle. One too many bad clients and I'd had enough of that.
I don't think I can really call myself a Perl programmer. I know DBMan. I know some other things that I've picked up along the way dealing with Perl, but not enough to really consider myself a programmer. Frankly, most of what I have written, including the Configurator, has been cut-n-paste from the code already in DBMan.
I will admit, too, there are some ulterior motives for my being here. Instead of vegging out in front of the television all day, I can keep my brain going when I help other people. I learn a lot when I answer people's questions.
I also get to meet a lot of very nice folks here. There are some who I consider friends, even though we have never met. We have a chance to have a little friendly banter along with the dry discussions about programming. That's fun for me.
On top of that, some folks have been very generous. I like reading what a wonderfully intelligent and giving person I am, even though at times it's a little embarrassing. I'm not above having my ego stroked.
And, to be completely frank, I enjoy the times when I get some more tangible rewards, too. As a result of my answering questions on the forums, I have been given a lot of gifts, including CDs, books, gift certificates and two batches of my favorite cookies. I also have just started a working relationship with a web-designer who has me "on retainer" as a programmer for his projects which require database applications.
So that's it. I feel like this is my chance to give something to others, to be part of a community and to get something in return. Pretty good deal all the way around, don't ya think?
------------------
JPD