August 2011 Archives

Perlbuzz news roundup for 2011-08-29

These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at

Perlbuzz news roundup for 2011-08-22

These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at

Perlbuzz news roundup for 2011-08-15

These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at

Nurturing new open source contributors


In a recent non-public thread on Google Plus about what someone saw as too much low-quality code on CPAN, Brian Cassidy gave some great thoughts (quoted with his permission) about how to handle contributions from newcomers:

New authors should not be "beaten" for not following standard practices, rather coached and mentored into becoming productive members of our culture. Disciplining new authors is counter not only to our culture, but it goes against the release early/release often mantra we often hear in the open source ecosystem.

It's very easy to dismiss someone as ignorant and cast them aside (in retrospect, I'm ashamed to say I've done it too). The hard road is to offer them a hand, show them the ropes.

Not everybody has time for that, and we'll never save people from themselves (no matter how hard we try). But before you rush to dismiss someone's effort (that they've submitted for public scrutiny, no less) think about how you would've like to have been treated when you were new.

A kind word of encouragement can go a long way.

Do you have tales to tell of how you helped guide a newcomer, whether in Perl or elsewhere? Please post your stories.

The future of Perl 5


Jesse Vincent, the pumpking for Perl 5, gave a talk at OSCON called "Perl 5.16 and beyond" where he lays out the future of Perl 5. The slides are up on slideshare, and they're well worth reading. I haven't read perl5-porters, the Perl 5 maintainers' mailing list, in a few years, and Jesse's slides are an eye-opener to the trials and tribulations of keeping Perl 5 usable in legacy situations but moving forward with new innovations.

The pumpking is sort of the project leader for Perl 5, and arbiter of what gets committed into the source tree. The pumpking also used to be the person who created the releases, but as Jesse points out below, this responsibility has been delegated to others. The term "pumpking" comes from the holder of the patch pumpkin.

Key points from the slides:

  • Perl 5 is now on a regular release schedule, where releases are made based on the calendar, not some critical mass of changes.
  • The dual track of odd numbers (5.13.x) for development releases and even numbers (5.14.x) for production releases continues.
  • Although Perl 5.14.1 is current production, 5.12.4 and 5.15.0 have recently been released as well.
  • Releases used to take three weeks for a single pumpking to do. Now it's a documented process that takes only a few hours. Releases are done by rotating volunteer release engineers. Per Larry, the time of hero pumpkings is over.
  • As Perl 5 changes much more quickly, we need to be able to recover from mistakes. Perl should have sane defaults. Perl 5 should run everywhere: Every OS, every browser, every phone.
  • Forward changes should not break older code. Programmers shouldn't have to build defensive code to protect against future changes to Perl 5.
  • The Perl runtime needs to slim down. Old modules are getting yanked from core and moved to CPAN. Not deprecating, but decoupling. We need to release a version of the Perl core that contains all the stuff we've yanked out of the "slim" core distribution.
  • The test suite needs to be split into three types of tests: language, bug-fix and implementation.
  • Jesse wants saner defaults in the future, to make Perl 5 cleaner, simpler and easier to work with:
    • warnings on
    • autodie-esque behavior
    • throwing exceptions rather than returning on failure
    • 1-arg and 2-arg open gone
    • Latin-1 autopromote off
    • utf-8 autopromote on
    • Basic classes and methods
    • No indirect object syntax
  • How to make this happen faster? Donate to the Perl 5 Core Maintenance Fund.

I couldn't attend Jesse's talk because I was speaking about community and project management with Github in the same time slot, so if video exists I'd love to see it. And thanks very much to Jesse and the rest of p5p for keeping Perl 5 so amazing.

« July 2011 | Main Index | Archives | September 2011 »