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