Hi Gabor (and all), On Thursday 27 May 2010 14:33:53 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? > > I usually tell them because it is fun and that they get the > appreciation of fellow programmers - something IMHO > you rarely get in the corporate environment. > > Then we - the CPAN authors and other contributors - have these > discussions on various mailing lists and blog posts on how much we are > supposed to care about the "user experience": writing docs, not breaking > backward compatibility, fixing bugs... etc. Some people say we have to do > this other say be happy with what we already contributed. It was a gift. > That's not the question now. > > This whole thing makes me wonder, why do *you* really contribute to CPAN? >
Well, before I answer this question, I refer everybody to an explanation I wrote in a mailing list post on why I license most of my code under the MIT/X11 Licence: http://www.mail-archive.com/linux...@cs.huji.ac.il/msg56378.html It gives some history and motivation for that. > Is it for the fun of writing code? - You don't need to distribute your > code for that. Well, you don't need to distribute most other types of creative work (human- readable text, music, video, etc.) if you enjoy creating it either, but still a large percentage of creative people still enjoy distributing it because they want many people to experience it. I can relate to that, out of being an essayist and a writer of creative fiction. So there's also the aspect of making your code available to the public. > Is it to participate in the community? Well, I don't think too much of participating in the community when I do CPAN work. I enjoy that when it happens, but it's not on top of my mind. > Is it to get a virtual pat on the shoulder (or a beer in the bar) from > other programmers? Well, such encouragements are nice but they are not the prime motivation that I have. > Is it to make other people happy by letting them do their job easier? Well, I enjoy hearing from people when my code works for them (or in case they ran into a problem with it, which indicates they tried to use it and found it of use.). But again, I'm not sure if I actively think about it when putting new code on CPAN. > Is it because you feel obligated as you are using other peoples code > free of charge? I should note that some of the modules I've written were written to scratch an itch, and/or because I got paid for writing them. For example, I've written http://search.cpan.org/dist/Test-WWW-Mechanize-Mojo/ (originally span-off from Test-WWW-Mechanize-Catalyst) because I needed it for my work on a Mojolicious project which I had nothing adequate to test with. While I could have kept them for myself, putting them on CPAN will make them of bigger utility, allow for more code reuse, and will allow me to get more input if they do or do not work. So why do I release code to CPAN? Part of the reason I don't put it elsewhere is because I know most clueful people will look in CPAN first, and not in other places for useful Perl code (and from my experience Google often returns CPAN results for not-particularly-Perl-related queries). I also think that releasing code as open-source "shrinkwrap" requires more effort and discipline than just keeping it to yourself or using it in-house, but is worth it, because your code becomes of better quality (both elegance and functionality) as a result, and it proves to be of much higher utility. Maybe I'll think of other reasons in the future. Regards, Shlomi Fish > > I would run a poll asking this question but I am not even sure in the > possible answers and I'd be happy in more descriptive answers. > > So why do *you* contribute to CPAN? > > regards > Gabor -- ----------------------------------------------------------------- Shlomi Fish http://www.shlomifish.org/ What Makes Software Apps High Quality - http://shlom.in/sw-quality God considered inflicting XSLT as the tenth plague of Egypt, but then decided against it because he thought it would be too evil. Please reply to list if it's a mailing list post - http://shlom.in/reply .