|Just another Perl shrine|
Ah, ok, so, if I think I have a better idea on how to implement XYZ::PQR, I should just release a version of XYZ::PQR with a higher version number, just to draw attention that I have a "patched" version?
Um... no. False dichotomy?
When is something a bug fix?
Depends on how many angels are dancing on the head of your pin. How about we skip the "extend the analogy to absurd extremes and then justify our argument from the resulting mess"?
If you want to re-implement the module, feel free. If you upload your re-implementation to masquerade as simply a new version, then you are probably being a jerk.
But we weren't talking about re-implementing. We were talking about a simple bug fix. If it isn't a simple bug fix, then it might be something between those extremes and one might have to exercise judgement.
I'm not so arrogant to think that my little patch to a simple bug deserves its own name and own lifespan outside the other module. Turning "contributing a bug fix and publishing it" into "stealing" is just comical.
If we want to go the "stealing" route with respect to IP, then I find "cut'n'paste somebody else's module, fix one bug, slightly change the name, upload under my name" to be a closer fit.
Modules usually end up having more than one bug. It doesn't take extremes, just two bugs solved by two different people and we've got 3 modules with slightly different names and no obvious ancestry tree. I much prefer bug fixes be handled in the "linear series of version numbers" with perhaps newer version(s) being "unofficial" for a while, when a module author can't manage to jump through the CPAN hoops very fast.
I'd actually like to empower module authors to declare how fast they consider "fast enough". It is my experience that most module authors want to and expect that they will update their modules relatively quickly but most eventually end up in a mode where their speed at support is drastically reduced. I think most would benefit from establishing a time span at which they've declared defeat and others can jump in and produce official versions of the module. Many times that will actually solve the motivation problem for the previous author, but when it doesn't, new author(s) can step in with their fresh motivation.