We have to temper the ideal with reality. We have several swappable
systems in Drupal (database, mail sending, caching, others?) and as
far as I know only one of them has multiple backends in core
(databases). We are able to have multiple backend for databases, but
it takes a lot of effort. I doubt we have the capacity to create not
just 2, but 3 implementations for all of the other swappable items in
core. There's also the question of baggage. Do we really want to
merge SMTP [1] and Fastpath FSCache[2] into core? Would that be a
total improvement? Would the additional complexity (usability
decrease) be worth it just so we can satisfy a desire to properly test
that APIs?
I don't think so.
But we could say we won't release Drupal 7until at least one swappable backend is ported in contrib. To some extent this is the same thing as getting Drupal.org running on a beta/RC before release - at least for critical systems like caching.
Nat