Inconsistent permissions on CPAN modules

CPANPAUSEpermissions Fri 24 July 2020

In the past, if multiple people released the same distribution, and each of them added new modules to the distribution, then you'd end up with different people having ownership of modules making up a single distribution. That's a pain if you want to give co-maint to someone. PAUSE has been fixed now, to ensure consistent permissions, but there are historical inconsistencies. I'll describe the problem, and how we're fixing it.

This article assumes you know something about PAUSE Indexing Permissions. If you don't, then you should first read the relevant section of the PAUSE Operating Model.

If you are the first person to release a module to CPAN, you are given the first-come indexing permission on that module. At some later date you give co-maint to someone, we'll call her Mary, and they start doing regular releases. In time they gain confidence, and decide to refactor your code, adding some new modules.

In the past Mary would have been given the first-come indexing permission on the new modules that she released, resulting in a situation where you own some of the modules, and Mary owns the rest. This became a pain if you wanted to give co-maint to a third person, as you'd have to do it for some modules, and Mary for the others.

So now PAUSE handles this scenario differently. When new modules are added to a distribution, PAUSE gives the first-come indexing permission to whoever has first-come on the lead module of the distribution, and gives co-maint to everyone who has co-maint on that same module. This means that distributions should keep a single owner, unless you intentionally break that.

We're left with the problem of the historical cases where a co-maint added one or more modules to a distribution and were granted first-come on them. There are about 550 such distributions, and I plan to gradually work through them. This will take a while, and I'll start off working through the easy cases, but if you'd like me to sort out one or more of your distributions, feel free to email me (neil at bowers dot com).

There are some hairy cases, and for those I'll get in touch with the involved parties, to ensure the right/best person ends up with first-come. And then there are core modules; I'll get to those last :-)

comments powered by Disqus