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.)