Perlbuzz news roundup for 2010-06-18

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

There’s more than one bug tracker for CPAN

Diversification in bug tracking has come to the CPAN. Module users
cannot assume that the bug tracker for an individual module is at
[]( Before submitting bug reports,
users should check the distribution’s page on
[]( for a link to the bug
tracker, and also check the documentation for the module. When in
doubt, go with the documentation.
It used to be simpler….
Over ten years ago, when CPAN only had a few thousand distributions,
and free project hosting was [Sourceforge]( or nothing, [Jesse Vincent](
stepped up to create It was, and is, a fantastic
service. Module authors now had free, centralized bug reporting
that they didn’t have to maintain themselves.
Jesse’s RT setup also has the advantage of integrating with PAUSE
and the CPAN. CPAN is the Comprehensive Perl Archive Network, and
PAUSE is the Perl Author Upload Server. When a module author has
a distribution for release, she uploads the file to PAUSE. From
there, the servers that make up the network part of CPAN mirror the
file for your use. Jesse set up RT to check the PAUSE for new
distributions, and when one was found, RT would automatically create
a bug queue for that module. It’s still a fantastic system, and we
should all thank Jesse for maintaining it.
For years, the Perl community has been enjoying the fruits of It’s become part of Perl culture. The home page for
each module on []( includes
links to the RT page. When authors create modules with
[Module::Starter](, the
module’s documentation refers the reader to the specific bug queue.
People just knew that it was there. Everyone knew you could email
to `` to have a bug reported.
But RT has never been the the only bug tracker available, and the
alternatives are getting more and more use. SourceForge has had bug
tracking for quite a while, but when Google Code came out with
project hosting and bug tracking, things started changing. Now,
[Github]( has taken the Perl world by storm. For
the first time ever, we module authors had solid alternatives to
RT that we didn’t have to create ourselves.
That leads us to today, where the Perl world is continuing to
diversify. Module authors can choose the bug tracking system that
suits them, and their users, best. That system may no longer be
# Which bug trackers are getting used?
When I checked last week, I found 106 distributions that were using
bug trackers other than RT, spread across 10 different domains.
For example:
I was surprised the number of distributions was only 106. I suspect
that there are many module authors who don’t know how to specify
an alternate bug tracker in their distributions. In my next article,
I’ll explain how to do that.

Artistic License 2.0 makes dual-license boilerplate unnecessary

The dual-licensing in much module boilerplate these days is
unnecessary. You can simplify your licensing by using only the
[Artistic License 2.0](
There are plenty of modules out there that license themselves “under
the same terms as Perl itself”, and
[there are problems with that approach](
For the past year or so I’ve been using the approach of being
explicit about “Artistic or GPL, your choice”, but that’s unnecessary,
According to Allison Randal, one of the architects of Artistic
License 2.0, “Artistic 2 allows for any GPL-like license, not just
[GPL 2](
Specifically, it allows for
[GPL 3](
or later, or a completely non-GPL copyleft license. So, the dual
license is unnecessary.”
There’s a page on the [Perl Foundation website](
about [CPAN licensing guidelines](
that explains more options in more detail.
From here on out, my code is going to say:
=head1 LICENSE
Copyright (C) 2010, Andy Lester,
This module is free software. You can redistribute it and/or
modify it under the terms of the Artistic License 2.0.
This program is distributed in the hope that it will be useful,
but without any warranty; without even the implied warranty of
merchantability or fitness for a particular purpose.