I had a patch accepted which adds an is_core()
function
to Module::CoreList.
This was my first attempt at modifying a core module.
This post describes the function, why I wanted it, and my experience
adding it to a core module. And then fixing the bug I introduced!
I recently released a new version of my PAUSE::Packages module, which caches information about releases on CPAN and makes it easy to iterate over it. In this post I'll cover the motivation for this module, why I decided to transform the existing PAUSE export file, and how David Golden nudged me to use JSON.
Read more ...When creating a CPAN distribution, all the modules should come under a single
namespace. If your Foo-Bar
distribution has a lead module Foo::Bar
,
then in almost all cases,
all other modules in your distribution should be in the Foo::Bar::*
namespace.
In this post I'll explain why.
As I described in a recent post, I discovered that my Module::Path module has rather more dependent distributions than I thought. Awareness of this has changed my behaviour, for the good.
Read more ...This line, taken from the documentation for Class::Tiny, sums up one facet of CPAN perfectly!
Read more ...This is an idea for encouraging new contributors to CPAN. When someone uploads their first ever module to CPAN, a volunteer buddy would be assigned. This would be a more experienced CPAN author who would email them "hi, saw your just uploaded your first module — awesome! Let me know if you have any questions, in the meantime here are some good resources about modules, CPAN and the perl community". Of course that could be done automatically, but the human connection would make a lot of difference, I believe.
Read more ...While working on my adoption metric I've been looking at the number of distributions dependent on each distribution. Today I built the full dependency graph, so I could count the total number of dependencies. Or as ETHER put it: "how many other distributions will you break if you break yours?" It turns out 70% of CPAN distributions aren't used by any other distribution.
Read more ...Two weeks ago I published a list of CPAN modules that might be candidates for adoption, and described the metric used to score them. I had a lot of comments on that version, which has prompted version 3 of the metric. The key change is the use of gating criteria to decide whether a module should even be considered for the list. The new list contains dists that score at least 5 (out of 14), which is about 4% of the dists on CPAN.
Read more ...PAUSE supports an informal mechanism for flagging that a module is available to be taken over, or to flag that you'd like help. In this article I'll outline the mechanism, and point out some things to be aware of.
Read more ...Last week I described a process for adopting a CPAN module. In this post I describe a metric for identifying candidates for adoption. These are essentially modules that have outstanding bugs, haven't been released for a while, and are used by other modules. I've generated a list of the top 1000 adoption candidates according to my current scoring metric. This is very much a work in progress.
Read more ...