chromatic wrote:
On Tuesday 04 April 2006 21:57, Adam Kennedy wrote:

Seeing as the worst support cases are about 10 years in a variety of
countries and situations, I think that is what we should be aiming for
for highly used CPAN modules.

Which last time I checked is now 5.005.something

So I aim there.

"Should" is nice and all, but until you start paying my invoices for the special $40 an hour for free software support (and not a one-time fee, 'cuz maintenance costs, but it's a much better deal than my usual consulting rate), it's just an opinion out there in the luminous aether somewhere and I'll go on quite happily giving people useful software because I enjoy it until I stop enjoying it. You're totally welcome to file bugs based on your dependency graph about what I should and shouldn't do.

I'll cheerfully file them under "Not fun. Don't care. You get both pieces if it breaks." I get paid directly for approximately exactly zero of my CPAN coding. Thus if it's not fun, I don't do it.

Supporting ancient software from the last millennium and coding with both hands tied behind my back to support Perl 5.005 and to work around all of its infelicities and bugs that I've helped to fix isn't fun... unless there's cash involved or someone else doing the work in such a way that I don't have to deal with the un-fun.

I write software to make my life easier. If I can't use that software to make my life easier because people who are using that work I've done for free complain, well then what's my motivation?

Could I write a test suite without Test::More? Yep. I've done it before. Could I write my own mock objects by hand without Test::MockObject or Test::MockObject extends? Absolutely. Do I know how to deal without lexical warnings or lexical filehandles or to use signals safely? Yep. Doesn't mean I want to go back to the bad old days.

There have been what, a dozen stable releases of Perl since the last 5.005 release? If someone can't update to a newer release less than 8% of the time, that's all sorts of auto-face-stabby badness and not so much fun for me, and frankly TV and video games seem like more fun hobbies with less frustration, 'cuz I'm pretty sure I'm absolutely NOT getting any decent feedback from such a situation.

Is there a business in supporting "classic" software in certain situations? Perhaps. That baby's not cute enough for anyone but its mother to love it though, in my opinion.

Now if I've mistakenly claimed that a distribution requires Perl 5.6 as a minimum (which most of mine do, I believe) and it works further back, that's fine -- I'm happy to loosen that requirement. I have no desire to rule out the utility of my code in situations where it works without increasing my blood pressure.

(Now if someone were to make warnings.pm a dual-lived module and put in a pre-5.6 compatibility mode, great! I don't mind marking a dependency on that so that my code works in more places. It's just when backwards compatibility become a millstone around my neck that I want to smash things and generally not spend time around my computer.)

I don't think I'm so odd a developer in all this.

When you are writing new things, that's totally fine.

When I bought into using Test::MockObject, I bought into taking your baggage along with it quite happily.

And I've happily submitted the various bugs I've found, and if I could work out exactly how MockObject worked I'd probably have submitted patches too.

But let me just make it clear I consider there to be two major cases here.

Firstly, you add something new and it doesn't break anything.

Secondly, you add something new and it breaks things.

It's much like democracy or other forms of pluralism. I completely and utterly defend your right to swing your boot, unless it hits my ass.

Which is why Test::MockObject, despite it's various temporary bugs, is an overwhelmingly positive thing, and a 5.6 dep is just fine.

But it's also why UNIVERSAL::isa/can and people adding higher-version dependencies below their existing lower-dependency modules is bad.

The code used to work just fine, and now it doesn't.

I don't claim you do the version thing of course, but it's something that people often do accidentally without realizing it. And it doesn't make it hurt any less.

As long as we don't break things that used to work, we should be able to swing our boots as much as we like.

Adam K

Reply via email to