I downloaded some module from CPAN and added to it extra functionality. Could I post the newest module on the CPAN? If yes, how should I do this? Is it possible at all? Should I contact the person who wrote the original module? Could someone help about the procedure to update this specific module?
-
6Which module are you interested in? Who is the author? – Joel Berger Mar 09 '12 at 20:43
3 Answers
You won't be able to upload and index a module as the same name unless you are a co-maintainer. Uploading it as a different name isn't very productive for the community as there are now two (or more) slightly different versions.
- Contact the author
- Submit your patches to the RT queue for the module (or the issue tracker it specifies in its docs)
- If it's on Github, fork the project, make the change, and submit a pull request
If the author is unresponsive (which means no response, not a negative response), we have ways to pass on maintainership of abandoned modules. We take this process very slowly because we want to give the original author or current maintainer every chance to respond. Some people might be swamped at work, on holiday, and so on. However, most situations turn out very well.
You can upload anything that you like to PAUSE, but if you are not some sort of maintainer, PAUSE won't index it. It will still show up in your CPAN account and people can still download it through the CPAN website, but the CPAN clients won't see it (since they work according to the index). Some of the search sites will show it as an "Unauthorized release".

- 11,218
- 8
- 50
- 99

- 129,424
- 31
- 207
- 592
-
There was a recent incident where someone uploaded an empty distribution named "Test", that caused a bunch of modules still using Test.pm to begin failing smoke tests. The module can be uploaded even if you're not the registered author, but won't be indexed. By default the CPAN tools (cpan, cpanm, etc.) won't pick up the un-indexed version. But it still exists as an Unauthorized Version, and can be downloaded and installed. And as we saw in that case, creates quite a mess. There's a recent RT (that has now been closed) under the real Test distribution that discusses this. – DavidO Mar 09 '12 at 19:20
-
The "Test" incident was also discussed on cpan-testers-discuss@perl.org. What happened was that some smoke testers installed the "Unauthorized Version" in their smokers, and since it didn't contain a function named "plan()" suddenly anyone uploading a module that included Test.pm in its test suite started failing on the 'use' line. – DavidO Mar 09 '12 at 19:26
-
1The [cpan-testers thread](http://www.nntp.perl.org/group/perl.cpan.testers.discuss/2012/03/msg2683.html) – brian d foy Mar 09 '12 at 20:16
It would be unhelpful to blindly upload a module that you've added functionality to under the same name as the module that it's based on (it happens sometimes and often creates a mess). But you do have options that would be helpful:
First, you could contact the module's author or maintainer, emailing a diff or patch showing what you would like to see added. Be sure to supply relevant documentation as well, and explain your rationale.
It could be that the module author will accept the patch and apply it to an update of the module himself. Or it could be that by way of prevention of creeping featurism, the author/maintainer rejects the upgraded functionality, and that leads you to a second option.
The second option is to get your own PAUSE account, and either subclass or otherwise extend the module. But be sure to give it your own new module name, full documentation, and probably an explanation within the documentation that this is an extension of xyz module with the following additional functionality... If you're extending Math::BigInt, you might call it Math::BigInt::Frobcinate (just an example).
When you do attempt to make contact with the module author, please be patient. Sometimes it takes awhile to let things run their proper course.

- 13,812
- 3
- 38
- 66
-
I would recommend looking for the repository associated with the distribution, before just emailing the author a dist. – Brad Gilbert Mar 16 '12 at 19:58
-
That's a good suggestion. Also, often the module's POD will contain information on how the author prefers to support the module: the RT system, a mailing list, a git repository, individual email, or some combination of the above are all common. – DavidO Mar 16 '12 at 22:39
I recommend that you attempt to contact the author.
Additionally, you can upload your module changes as a patch via rt.cpan.org; there should be a link from the module's website on CPAN. Refer to the CPAN FAQ: How do I report/fix a bug in a module/script? This tracking system is used for requests such as yours, not just for reporting bugs.

- 57,801
- 17
- 75
- 117