On Thu, May 27, 2010 at 02:33:53PM +0300, Gabor Szabo wrote:

> When I teach Perl people keep asking me why do all these
> people spend their free time on writing modules and
> uploading them to CPAN?
> 
> ...
>
> This whole thing makes me wonder, why do *you* really contribute to CPAN?

Most of my code I write because it scratches an itch.  It's code I want
to use.  Releasing it means that other people will help me improve it
and hopefully they'll run into the bugs before I do.

Some of my code I write because it helps other people who've written (or
are working on) code that I want to use.  Letting them use it helps them
to help me.

CPANising my code makes it dead easy for me to install everywhere that I
need it, what with automatic dependency resolution and whatnot.

Releasing code is good for my career - it lets potential employers see
that yes, I really do know what I'm doing, and I'm not just one of those
people who can write a good CV and spin a good line of bullshit in an
interview.

Somewhat related, contributing services to the CPAN community, as well
as contributing code, is also good for my career.  It means that my name
stands out from a list of job candidates.  I reckon that's a good return
on the twenty or thirty hours that I've put in to CPANdeps and cpXXXan.
(The paypal begging bowl on the websites just about covers the hosting
costs. But only just about, so donate early, donate often!)  Those two
also, apparently, make me a "CPAN and testing expert" (hah!) which has
led to a coupla little consluting gigs on the side as well as being
useful in getting my current job.

> Is it for the fun of writing code? - You don't need to distribute your
> code for that.

I wouldn't write anywhere near as much code in my spare time if I didn't
enjoy it.  In fact, if I didn't enjoy it, I'd have remained as a nuts n
bolts engineer.  But if you don't need to distribute your work to enjoy
producing it, why do musicians play gigs?  Most of them *don't* make a
living out of it, the fifty quid they get from playing in a pub covers
petrol, parking, baby-sitter, and maybe hiring a rehearsal room some
time in the week before the gig, but unless you play a *lot* of gigs it
won't even pay for your equipment.  They gig because it's fun.

> Is it to participate in the community?

Not really.  I was in the community before I became a somewhat prolific
CPAN author.

> Is it to get a virtual pat on the shoulder (or a beer in the bar) from
> other programmers?

Hmmm, it's hard to be honest when analysing one's motivations.  I
suppose I have to say yes, to a certain extent.

> Is it to make other people happy by letting them do their job easier?

Not really.  That's just a nice side-effect.  I release my code to make
*my* life easier.  That it helps them too is just a bonus.

> Is it because you feel obligated as you are using other peoples code
> free of charge?

Not really.  While I have released (and in turn I use) lots of perl
stuff, I also use free operating systems, other programming languages
and all kinds of free applications without contributing much back at
all.  I rarely even bother contributing bug reports.

-- 
David Cantrell | London Perl Mongers Deputy Chief Heretic

  Irregular English:
    you have anecdotes; they have data; I have proof

Reply via email to