On Thursday 27 May 2010 12:33:53 Gabor Szabo wrote: > This whole thing makes me wonder, why do *you* really contribute to CPAN?
Many reasons: * Easy code reuse between various projects - if I find myself doing something repeatedly which I could package up neatly (and doesn't exist on CPAN already), releasing code to CPAN means I can then use that in any project, whether at $work or personal coding projects easily. * Releasing code publicly, if anyone starts to use it, means more eyes on the code, more people spotting and reporting any odd problems or suggesting helpful features (or, even better, providing patches to add useful features!) I've had approval from my employer to release a few bits I've worked on during work time to CPAN, which is nice. Other stuff I might have worked on in my personal time can make my time at work easier, which is also good. * I make a lot of use of open-source software (both other people's modules from CPAN, and open-source stuff in general) so being able to "give something back to the community" feels good to me. I don't feel obligated to do this, but I like to. * It feels good to know your code is out there helping to make other people's lives easier. (It's kind of a shame that there's no easy way to really know how many people might be using your modules, actually.) * Being on CPAN means your code is automatically tested in a lot of different environments for you, and any problems reported. * Releasing your code publicly is good encouragement to make sure it's not code you'd be ashamed of anyone seeing, and to write tests etc, which you might be too lazy to do if nobody else was going to see the code. * A good set of modules on CPAN is ideal as code samples and demonstration of experience if looking for a job - if asked for code samples, I can pick a couple of preferred bits of code, and casually say "Oh, and any of the stuff on http://search.cpan.org/~bigpresh/ too". If I was hiring a developer, seeing a good "portfolio" of well-written CPAN modules would give me confidence that the person does indeed know how to write code, and arguably as importantly, enjoys doing so and takes pride in doing so. I suppose, the most condensed and succinct summary I could give, though, is "because I want to" :) Cheers Dave P