Evolution requires mutation


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


Right on, Andy! Perlbuzz rocks, don't give in to the bozos! (And likewise to you crazy people with way too much hacking time on your hands. I am green with envy :)

I felt like when perlbuzz started there was a sudden jump in use.perl.org posts... here is my rough estimate:

Month      posts on
January          23
February         22
March            21
April            18
May              12
June             21
July             24
August           60 (perlbuzz begins)
September        57

... I'd say the numbers are in and something new is good for everyone.

Numbers are front-paged use.perl.org entries, minus the daily CPAN release list. I do not claim complete accuracy in my wicked wget+perl+vim skillz!

I think PerlBuzz is great! :-)

I totally second all of your thoughts that people should be encouraged to work on things, not discouraged. :-)

I think the better attitude we have toward people, the more people will want to be a part of the Perl community. Anybody who's tried to ask a question in #perl on FreeNode knows how unpleasant it is when the community is critical instead of helpful. Just as a comparison, try asking a question in #ruby or #python. Usually it's a more pleasant experience, and I'd like being a part of the Perl community to be an experience just as pleasant or more pleasant than that.


I for one find perlbuzz.com much more interesting than use.perl. Way too many of the "user journal" postings are just not interesting (to me) and the site or RSS feed doesn't have filters that makes it easy for me to get just the (to me) Good Stuff.

So far perlbuzz.com is All Good Stuff. :-)

- ask


What Is Stop Energy.

For what it's worth, my initial reaction to Perl Buzz was to think "hey, we've already got use.perl.org". This lasted about three microseconds until the more sensible part of my head said "yeah, right, because monopolies on news reporting are always good for society and culture". (Plus, then I read a few stories and realised it was really interesting, and added it to my RSS reader.)

@Brock - the sudden jump in the number of use.perl posts is because brian started front-paging them like crazy around the time of the perlbuzz announcement.

I was one of the people who suggested that lambda should go under Acme::*. And I stand by that. Acme is for stuff that is clever (which lambda is), cute (yep) and generally not very useful (which, again, lambda matches). All it does is rename sub {} to use a funny symbol.

And yes, namespaces *are* still important. They help you search for stuff more effectively using search.cpan.org. That's why I choose names like Data::Transactional and not DavesFunkyMagic.

That's fine, put stuff in Acme::. If someone wants to put something in something other than Acme::, it doesn't hurt anything. It's just different.

The only way anything interesting happens is that people try weird, new things and see what sticks.

At the same time, though, people who post their weird, new ideas into public forums should be prepared for rough feedback -- that's the 'natural selection' part of evolution. As long as criticism focuses on the ideas, not the individual, then I think we can still avoid mono-culture or shrinking the community. It's OK to praise the hacker, but condemn the hack.

It may be OK to condemn the hack if it's something harmful, but if it's just something different than you would do, and isn't actively negative, why do it?

"It's OK to praise the hacker, but condemn the hack."

Which, I think is okay as well depending on how you go about condemning the hack. : )

Touching on the 'counterproductive social behaviors', schwern gave a talk at PPW this afternoon about this very thing. Maybe he'll release some slides, it was an interesting talk. At one point someone was asking about what to do on a mailing list when you've got a group of flamers turning people off, and he defered to this talk from the SVN developers about that very thing.

Andy: I completely agree with most of this post, but I have some issues with the no-negativity tone of things. One of the things that I love about this community, and something that you nicely outlined, is that there are many in this community that critique your work and your ideas. This is one of the reasons that I love this community, it is diverse and open enough that you are given the freedom to say what you want to. Like everything, it comes with consequences though, it's a two way street.

Take this post for instance, you are being very negative, though you are doing a very good job of outlining your reasons, it's a proper critique. The biggest thing that I gained from art school was that the critique is very important but comments like 'it sucks' are a completely useless as you do not explain why something sucks. So in the lambda example, for instance, I think that the complaint is valid, and justifiable. So to say, in the form of a critique, that others are critiquing to harshly seems to be a bit odd.

Personally I do not see the negative critique as the thing that will kill this community. Andy, if I can try and read between the lines, I feel what your saying is that the lack of positive encouragement along side the negative critique, is the think that could kill this community. That I could agree with. Thanks for this post and shining a light on the issue.

I just discovered Perlbuzz not long ago and enjoy reading it to try to catch up with the perl, well..., "buzz" in the little time I don't have to do that.

I can't understand why anyone can find it negative to have such a site - each one to themselves and if they don't like Perlbuzz then they are welcome to ignore it.

Now that I write this I'm beginning to suspect that such detractors are out of touch with the way open source and the web works these days.

I think the usual signs of spirit (rather than just life) are

  • persistence
  • prolificity
  • beauty

One needs to wait and see whether these things survive (and thrive) before commenting on the wisdom of their conception.

I like PerlBuzz. I hope it not only survives but thrives.

Leave a comment

Job hunting for programmers

Land the Tech Job You Love, Andy Lester's guide to job hunting for programmers and other technical professionals, is available in PDF, ePub and .mobi formats, all DRM-free, as well as good old-fashioned paper.