A Little Bit is A Lot Better


Buddy Burden explanation of taking over maintenance of CPAN distributions is important. It's empowering. If you've ever thought "I should contribute something to Perl", start there.

You can do it.

Sure, it's easy for me to say that. I've written a few things about Perl a few people have read. I have a few patches in a few projects and a couple of modules on the CPAN myself. (You're reading this, aren't you? So I have at least one reader. Thank you for your time!)

Even with all that in mind, two questions still come up far too often, and I think they prevent or delay us from providing code and documentation for other people to use freely:

  • Does anyone care?
  • Is it good enough (yet)?

You can see this attitude in the recurring debate over the responsibilities of authors. While some people say it's irresponsible or childish or unprofessional to upload code without full test coverage or complete documentation or an iron-clad promise to respond to every bug within 24 hours with a fix, an apology, a new release, and a sandwich (and yes, I exaggerate for effect), we're doing each other a disservice setting these demands on ourselves and each other.

Yes, we should do our best.

... but yes, we can start from something small and incomplete and refine it in smaller steps. It doesn't have to pass every test on every platform known to man if you can get feedback on where it fails and release a new version tomorrow. It doesn't have to have every feature you plan to add, if it does something useful that other people might want to use today. It doesn't have to have every option documented if it's usable right now.

I'm not suggesting that we allow ourselves to be irresponsible with what we share, but I am suggesting that we can allow ourselves the freedom to share a little earlier and a little more often. We have the ability to upload new code every day (every hour!) if we want.

So what if it's not perfect? Even if you waited until you thought you'd achieved perfect, you probably would miss, even by a little bit.

Start small. Do your research—work to your best quality—but let yourself hit smaller goals and make things a little bit better a little more often. Share earlier. This is a lot better for everyone.


I wonder how many CPAN dists don't have any tests at all.. not even a standard use_ok or some other variant of compile check tests, or even a simple synopsis of how to use them. One of the reasons I recommend using Dist::Zilla with @TestingMania, you end up with more test coverage for doing nothing than many CPAN dists. Also PodWeaver can write a lot of documentation and boilerplate for you, saving you time to write real documentation.

Setting up Dzil isn't trivial, but it's worth the effort.

I do agree though--at minimum, an upload needs simple does-it-compile tests and at least a SYNOPSIS.

Modern Perl: The Book

cover image for Modern Perl: the book

The best Perl Programmers read Modern Perl: The Book.

affiliated with Modern Perl Whitepapers



About this Entry

This page contains a single entry by chromatic published on January 9, 2012 11:48 AM.

Modern::Perl Updates was the previous entry in this blog.

Modern Perl 2011-2012 Edition Released! is the next entry in this blog.

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

Sponsored by how to make smoothies guide and the Trendshare how to invest guide

Powered by the Perl programming language

what is programming?