Why Perl 5.11.0 Matters

Jesse Vincent announced the Perl 5.11.0 release.

Perl 5.11.0 is the first release in the development track of Perl 5. Perl 5.11.x will become Perl 5.12.0 at some point in the future. 5.11.0 represents years of development -- patches, branches, backports, changes, bugfixes, cleanups, rephrasings, and lots of work behind the scenes to improve the Perl 5 language.

The most important part of the release announcement is the schedule for subsequent releases in the Perl 5.11.x family: a new development release every month on the 20th. Jesse's announcement explains that the intent of the new development model is to avoid burning out the brilliant, dedicated, and valuable people who've been pumpkings before. That's important.

There are other valuable results of this change, though. The most important is that Perl 5.11.x reduces risks associated with developing and releasing Perl 5.12.0:

  • The release process itself has changed (and will continue to change) to make monthly releases possible. The release process won't scale if it takes a week's worth of effort on the part of any individual. Yet monthly development releases are much less risky than supported releases; a bit of confusion or a delay is less dramatic.
  • The development process will (likely) fall into a cadence around the monthly releases. Even though development releases can have less polish than a supported release, no one wants to release an uninstallable tarball which fails important tests. This provides a pressure to keep the trunk stable and to merge destabilizing changes just after a release.
  • Multiple potential release managers remove the bottleneck on one individual, require a well-understood, documented, and automated release process, and allow anyone trustworthy to step in at the last moment.
  • Writing release notes which represent a month's worth of work is easier than writing release notes (and changelogs and...) that represent a year's worth of work. The release notes and deltas for Perl 5.12 should be a concatenation of the release notes and deltas for all releases in the Perl 5.11.x family.
  • Regular releases improve the testability of software by providing a convenient point for mutual debugging. Bisecting a month's worth of changes to find a bug is easier than bisecting a year's worth of changes to find a bug.
  • Experimental features can reach a wider audience of testers and developers without p5p committing to supporting those features as-is (or at all) in stable releases. Faster feedback is always useful.

I suspect -- but cannot prove yet -- that regular releases will improve the velocity of Perl 5 development as well as improving the long-term planning of Perl 5. That'll be easier to measure by early 2010.

Congratulations to Jesse and all of the other Perl 5 committers.

Modern Perl: The Book

cover image for Modern Perl: the book

The best Perl Programmers read Modern Perl: The Book.

sponsored by the How to Make a Smoothie guide



About this Entry

This page contains a single entry by chromatic published on October 2, 2009 3:09 PM.

Where are the Novice Mentoring Opportunities? was the previous entry in this blog.

Putting a Date on Modern::Perl is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Powered by the Perl programming language

what is programming?