Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

I made a small but useful improvement to a module … now what?

by LittleJack (Beadle)
on Jun 29, 2021 at 06:59 UTC ( [id://11134422]=perlquestion: print w/replies, xml ) Need Help??

LittleJack has asked for the wisdom of the Perl Monks concerning the following question:

There was fairly large module with one small utility subroutine left blank, marked as 'to do'.

I have done that 'to do' and tested it and it works. I emailed the maintainer at the address on the MetaCPAN page and got no reply. It's been two weeks.

What exactly should I do? I have never contributed to CPAN before. There's no Pull Request system like with a Git repo?

Replies are listed 'Best First'.
Re: I made a small but useful improvement to a module … now what?
by hippo (Bishop) on Jun 29, 2021 at 07:54 UTC

    Firstly, good for you! Code contributions such as this are what keeps the whole open-source ecosystem running.

    I have done that 'to do' and tested it and it works.

    Also very good. When you say you "tested it" do you mean you wrote a test script? That would be ideal - module authors love code contributions which come along with their own test script too.

    There's no Pull Request system like with a Git repo?

    No, there is not. What there is is https://rt.cpan.org/ where you can submit your patch and test script so that not only does the module author get to see it but all the co-maintainers (if there are any) will also be alerted to it. If the author (or principal maintainer if different) is indisposed it means that your contribution will still receive attention. It also means that anyone else who spots the "to do" section could find your contribution there even if it has not yet been merged into the distribution.

    Some modules are additionally on other distributed code platforms such as GitHub, GitLab, BitBucket, etc. and if the module is one of those you could also go that route with your contribution.

    If you would care to say which module you are talking about then we would be better placed to provide specific advice.


    🦛

      Thanks. I would have written a test script but the sub I fixed only works when you're logged in to a certain website. I'll check out the other tests in the folder and see how they do things.

Re: I made a small but useful improvement to a module … now what?
by marto (Cardinal) on Jun 29, 2021 at 07:52 UTC

    Think of CPAN as being essentially dumb storage for files, it's not a source code control system. If the modules metacpan page has 'Repository' link on the left hand menu, there should be a link to a working version control system (github/lab etc). Failing that I'd suggest creating a patch (The Ten Minute Guide to diff and patch if you aren't familiar with this) and attaching it to an 'issue' (click the link on the metacpan page, this may take you to rt.cpan.org or some other issue tracker).

Re: I made a small but useful improvement to a module … now what?
by stevieb (Canon) on Jun 29, 2021 at 12:15 UTC

    You need to state which distribution it is.

    If the author is non responsive and the distribution hasn't been updated in a while, we can explain the process where you become a co-maintainer, so you can upload your own version of the software in place of the original author.

      THIS ^^^. Basically, if the module can be show to have been "orphaned", you can adopt it by becoming a "co-maintainer" as stevieb mentioned. There is a github repo that that has archived all CPAN modules, but I can't seem to find it atm. Let us know what the module is, and we can probably steer you in the precise direction. Finding it on GH might also mean that you can get in touch with the actual maintainer and send him a PR. (update) - I was thinking of GitPAN.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://11134422]
Approved by marto
Front-paged by marto
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (4)
As of 2024-03-28 20:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found