In my case, I've bitten the bullet and started a fork for my driver: one that supports 5.6.x+, and another that requires 5.8.3+. Its a pain, but getting some users to even consider moving to 5.6.x has proven difficult, esp. in enterprise class environments, where the Prime Directive is "If it ain't broke, don't fix it". Yes, I'm aware 5.005 might well be considered broken in places, but convincing a CIO of that can be a challenge if your website has been happliy dishing up webpages on 5.005 for several years. While I only provide essential updates for the 5.6.x fork, there may be sites that want DBI v2 features (whatever that ends up being), but won't be willing to update Perl versions, at least not to 5.8+ in the near future.
I suspect there may not be a problem here. Usually "if it ain't broke don't fix it" will keep people from upgrading one thing, it will keep them from upgrading other things. How often do you think that "ain't broke" people would even think about new features. If they want to upgrade to DBI v2 for new features, then they think their situation is broke. One could just tell them then that the hypothetical DBI v2 and Perl 5.8 are two peas in a pod, and always go together, being upgraded as a unit.
On the other hand, maybe it is common for people to have split personalities.
Hence, the test suite might be very valuable for pre-5.8 sites.
On the other hand, retrofitting DBI v2 features might be a profit center for us DBD authors ;^), and a better impetus to the laggard users.
That sounds fair enough. We do for free what most people want, and those who make us go to much extra trouble, for things everyone else doesn't benefit from, can pay for it. Of course, everyone decides that or not for themselves.
If the core Perl developers can't crowbar users off 5.005, I doubt us poor DBI developers have much chance of getting them to move from 5.6 to 5.8, much less off 5.005. Perhaps we're victims of our own success 8^/
Except current DBI versions already don't support 5.005. It has been done before.
I'd never argue against migrating sites to perl 5.8 (in fact, I actively proselytize for that move), but I think we need to be pragmatic and cautious about forcing sites to migrate. DBI has become a mature tech (thanks to Tim and the collective). We can choose to dictate upgrades to the user community, or take the "kinder, gentler" approach, albeit at greater effort on our part. In the interest of greater adoption, I'd suggest the latter.
IMO, I'd vote for 5.6 as an acceptable baseline for the test suite. I won't suggest a baseline for DBI v2, since its features and timeframe aren't yet well defined, and may require DBD authors to fork anyway. (Well, maybe not "require", since many DBD authors are working gratis, so users will get only what the authors choose to provide)
Fair enough. If 5.6 support is going to stay for quite awhile, I have no problem with it.
In any event, the only truely forced change will be with the Parrot correspondant of DBI. A Parrot Byte Code version of DBI certainly won't be compatible with even the 5.8 runtime.
An attempt to start the PDBI was made back in February, but then stalled due to Parrot lacking some necessary features. Hopefully Parrot will be ready enough later this year...
-- Darren Duncan
