http://www.perlmonks.org?node_id=640247


in reply to CPAN Author Struggle: Am I a jerk? (unter-jerk)

Interesting post. This is timely for me, since I coded up some additional stuff for WWW::Mechanize (to handle link titles) that I needed for some testing I'm doing. I got onto #perl to ask about the protocol for doing such a thing, and was told to submit a change to RT on CPAN, along with my justification.

I have no idea what the author's reaction is going to be, but I've talked to Andy (once -- it's unlikely he'll remember), and I found him to be a great guy. He's also got his own opinions, and may decide, for a variety of different reasons not to include my changes. Hey, that's the way it goes. There are plenty of workarounds I can use if I want to continue to use my change in the future. It's not the end of the world if my change is rejected.

Always remember, There's More Than One Way To Do It -- when you realize that you're trying to force something to happen in a certain way, maybe that's a sign you should be trying a different approach.

Alex / talexb / Toronto

"Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

Replies are listed 'Best First'.
Re^2: CPAN Author Struggle: Am I a jerk? (unter-jerk)
by UnderMine (Friar) on Sep 24, 2007 at 18:48 UTC

    Create a patch set and backward compatability are the two major things I would advise.

    If your version is radically different from the current version of the module the likely hood of getting a feature included is minimal. If the current fuctionality is just plain wrong thats a bug and can be explained as such.

    If you need behavior that is different from the current module then provide a way of switching it on and off. The default should be off for compatibility but with time this may change.

    Provide a patch set against a specified version of the module. This allows the maintainer to easily evaluate what you have done and how it effects everything else. Including it in a open location, developer mailing list etc will allow other people to evaluate your changes and make suggestions even if the change isn't accepted.

    Take the GP example. This was just a straight bug report not a bug fix. These will often get rejected as being irritations unless they are genuine issues in the majority case.

    My personal opinion is the likely hood of the request being dealt with would have been better if a patch like the below snipet had been included.

    Hope it help

    UnderMine

    On a train in the middle of nowhere

    sub validate { - my ($number) = @_; + my ($number, $param) = @_; my ($i, $sum, $weight); return 0 if $number =~ /[^\d\s]/; $number =~ s/\D//g; return 0 unless length($number) >= 9 && 0+$number; + return 0 unless length($number) >= 13 && !(defined $par am->{ISOs +trict} && $param->{ISOstrict}); for ($i = 0; $i < length($number) - 1; $i++) { $weight = substr($number, -1 * ($i + 2), 1) * (2 - ($i % 2)); $sum += (($weight < 10) ? $weight : ($weight - 9)); } return 1 if substr($number, -1) == (10 - $sum % 10) % 10; return 0; }

    Note: code unchecked