Gisle Aas's CPAN distributions are available for adoption

Gisle Aas (GAAS on CPAN) is a well-known CPAN author, who made his first releases back in 1995. Over the years he has developed and maintained a number of keystone modules that most of us have relied on, whether we realised it or not. Gisle has informed the PAUSE admins that he will no longer be maintaining his CPAN distributions, and is open to responsible adoption. In this blog post we'll summarise what distributions are available, and our interpretation of responsible adoption.

If you're interested, please read this post, and if you still would like to adopt a distribution, contact the PAUSE admins (modules at perl dot org) and not Gisle.

Gisle's distributions

If you look at Gisle's author page on MetaCPAN, you'll see 34 distributions (at the time of writing). This means that he was the last person to release those distributions, but in a few cases he doesn't have the first-come permission (see the next section).

The distributions that aren't available for adoption are:

  • Digest-SHA1
  • HTTP-Negotiate
  • MD5
  • MIME-Base64

When you look at his author page on MetaCPAN, notice the leftmost column, with the blue bars:

Some of Gisle's distributions

The bars are an indication of the distribution's position on the CPAN River — a measure of how many other CPAN distributions use that distribution. The more bars, the more dependent distributions. If you hover your mouse pointer over the bars, you'll see the number of dependents.

As you can see, many of Gisle's distributions are relied on by hundreds, and in some cases thousands, of other CPAN distributions. As a result, the PAUSE admins will consider adoption requests carefully, and try to ensure that such distributions are passed into safe hands.

How does adoption work?

When you release a new module, PAUSE assigns you the first-come indexing permission for the module. This means that your releases of the module will be considered for inclusion in the CPAN Index, and also that you can give other people the co-maint indexing permission. People with co-maint can do releases, but they can't grant co-maint to others. For more on indexing permissions, see the relevant section in the PAUSE Operating Model.

If you want to contribute to someone else's distribution, and do releases of it, then the usual model is that you talk to the person who has the first-come indexing permission, and they'll give you co-maint. You haven't adopted the distribution, you became a contributor.

Adoption of a distribution is the process of being given the first-come indexing permission on all modules in the distribution. Most of the time it is the current maintainer (the person with first-come) who transfers the indexing permissions, but in special circumstances, the PAUSE admins can do this.

In this case, Gisle is happy for his distributions to be adopted, but wants the process to be managed by the PAUSE admins.

If you want to adopt one of Gisle's distributions

If you want to adopt a distribution, please email the PAUSE admins (modules at perl dor org), and make your case.

If it's a distribution that doesn't have any dependents, then you just need to explain your interest, and demonstrate that you have experience as a CPAN author.

The further up the CPAN River the distribution is, though, the stronger your case will need to be: you should have experience maintaining similar modules, both in terms of dependencies, and the type of module. If your existing distributions are tier 0 or tier 1 (either no blue bars or 1), then you'd have to make a strong case for anything above tier 3.

Here are the sorts of things we'd expect from a tier 3+ author:

  • A good test suite, with attention paid to coverage.
  • Pays attention to CPAN Testers, and has a suitably green matrix.
  • Does developer releases to check relevant changes across versions of Perl and different operating systems.
  • Pays attention to the dependency graph of their distributions (not only the modules that you use directly, but the modules that they use, and so on).
  • Adheres to CPAN conventions for a well-formed release.
  • Considers the minimum version of Perl that the distribution should support, and doesn't radically change this overnight.
  • Pays attention to copyright and licensing.
  • Thorough documentation, with a SEE ALSO referencing other relevant modules.
  • Is respectful of contributors, users, competing modules and their authors, and the general Perl community.

A more thorough discussion of this topic can be found in Tux's release checklist.

This is not meant to discourage you from adopting a distribution, rather to encourage you to step up, but to not overreach. If the prospect of adopting a distribution terrifies you with the prospect of breaking half of CPAN, it's probably not the right one for you. For now.

And Finally

Thank you to Gisle for everything he has done for Perl, CPAN, and our community.

Leave a comment

About Neil Bowers

user-pic Perl hacker since 1992.