In the past couple of days, I've seen some counterproductive social behaviors that help scare away community members and lead to boring monoculture: Taking a public dump on the projects of others when they do not directly affect you. It's rude, it discourages future risk taking in everyone, it goes against the very nature of open source that has brought us here today, and it leads to monoculture. I'd like people to stop.

Mutation #1: kurila

Gerard Goossen recently released kurila, a fork of Perl 5 that includes some speedups and tweaks that seem to scratch Gerard's itches, as well as bundling extra modules. I'm right now trying to get an interview with him to find out more about his project and the reasons behind it, because there are probably some interesting lessons in there. However, the disapproval on the Perl 5 Ports list was swift and severe.

All forking based on the Perl 5 syntax and code base, throwing away CPAN compatibility, seems to me to be a complete worthless waste of time.

So what? Who is anyone to say how Gerard is to use his time? Is there any harm here? No? Then leave the guy alone, please.

Mutation #2: lambda

Eric Wilhelm released lambda, a distribution that lets you use the Greek character lambda (&#955) as an alias for sub {...}, apparently as a nod to Python's lambda keyword for anonymous functions. Immediately people jumped on him saying that the module should go into the Acme:: namespace, as if the namespaces of CPAN mean anything in 2007. There was also this cluck-cluck from someone I figured would be more encouraging (and later apologized, as it turns out):

Well, if you want to use it in your own code and your work's code, that's fine (because I'm sure you find typing CONTROL-SHIFT-EL so much easier than "sub {}" :) but if it shows up in your CPAN modules, you might get a few complaints since this sugar, while a really nifty hack, adds nothing complex but does screw up older editors and will confuse the heck out of a lot of maintenance programmers.

Personally, I figure that if someone's a smart enough programmer to do a hack like the lambda module, he or she is also smart enough to figure out potential downsides. And so what if he doesn't? What's the harm here?

Mutation #3: perlbuzz

Perlbuzz itself has always come under this umbrella of disapproval. Even before we announced the site, Skud and I have fended off the comments saying "We already have use.perl.org, we don't need Perlbuzz." Maybe not, but why do you care if we start the site? Why does it bother you? And why do you find it necessary to tell us that we're embarking on a waste of time?

I hope that in the past few months, the work that Skud and I have done have shown you, the reader, that Perlbuzz is a worthwhile addition to the Perl community, and a valuable news source that overlaps other news sources while not being a subset. What if Skud and I had listened to the tsk tsk of the doubters? Perl would be right where we it was before, with nothing new.

Evolution requires mutation

Why are we so quick to take a dump on the projects of others? The only way anything interesting happens is that people try weird, new things and see what sticks. What if Larry had listened to those way back when who said "Ah, we've got Awk and shell tools, we don't need Perl?"

I fear our tendency to monoculture. I want crazy new projects to thrive, not get squashed at their very infancy. Next time someone comes out with a project that you think is silly, congratulate the person rather than scoffing at it. Who knows what it might lead to?

(And a big thank you to Jim Brandt for the "Evolution requires mutation" idea.)