develooper Front page | perl.module-authors | Postings from November 2011

The CPAN Covenant

Neil Bowers
November 17, 2011 10:26
The CPAN Covenant
Message ID:
A week ago I posted a proposal for a voluntary pledge, which CPAN
module authors could sign up to. With Bill Ward's tweak to the wording,
the discussion on per-distribution stating, and generalising the RT point:

   I hereby give permission to grant co-maintainership
   to [% distribution %], if all the following conditions are met:

   (1) I haven't released the module for a year or more
   (2) There are outstanding issues in the module's public bug tracker
   (3) Email to my CPAN email address hasn't been answered after a month
   (4) The requester wants to make worthwhile changes that will benefit CPAN

   In the event of my death, then the time-limits in (1) and (3) do not apply.

In the discussion on module-authors, and talking to people at the London
Perl Workshop (LPW): about 60% thought it was a good idea, 20% a bad idea, and
20% indifferent. Most of the 'bad' being "it works that way already".

Talking to people at LPW, a number commented (paraphrasing):

    Just email the author, wait a month,
    then push for a handover

Which to me doesn't quite match the spirit of the PAUSE "taking over" process
described at

I recently took over a module after 2 months, during which I tried a number
of ways to track down the author, mailed various other people, and posted
to module-authors. That seemed appropriate, because the author had clearly
put a lot of thought and effort into this, and his other modules.

So, I went to Andreas Koenig, since he has more experience of module handovers
than most of us! The group behind have to balance two sides:
respecting individual authors, and helping the continued development of CPAN.
If none of the group know the current author, they have to err on
the author's side, not CPAN:

    "I've heard too many upset developers going berserk because they felt
     [their module was expropriated]"

Asked whether he thought an explicit pledge would be useful, Andreas said:

    "An explicit statement in a distribution like the one in your picture
     would make our lives a lot easier"

As a number of others commented, Andreas feels it should be stated on
a per-distribution basis, and not per-author.

In a side-discussion, it was pointed out that sometimes an author would
be happy for someone else to take over the module.
In this case the covenant would become:

   I hereby give permission to grant lead authorship
   to [% distribution %], if the following conditions are met:

   (1) There are outstanding issues in the module's public bug tracker
   (2) The requester wants to make worthwhile changes that will benefit CPAN

There are at least three ways this could be provided:

    (a) a file included in the distribution. Eg Covenant.txt
    (b) text in the README
    (c) a feature on PAUSE, where you can select the "ownership status"
        or similar

The problem with (c), is that it's not very public; the information needs
to be closely associated with the distribution itself. To make things
easy for all involved, I think (a) is probably the best. The downside with
this is that having lost interest in one of your distributions, you now
have to do a release to let the (Perl) world know. The alternative would
be to email the covenant to that's publicly archived,
so your covenant could be found, especially once a convention
has been established. Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About