We just had a discussion in #mediawiki about this commit:
http://www.mediawiki.org/wiki/Special:Code/MediaWiki/76064
It removed wfLoadExtensionMessages() from dozens of extensions in
trunk. With trunk MediaWiki, this causes no problems, since the
function does nothing. But in older MediaWiki versions, it will cause
the extension to break. Yaron reported that he quickly got a
complaint from someone using one of his trunk extensions together with
MediaWiki 1.15.
This kind of thing has come up before, e.g., the removal of IE5
support from Monobook. My take on this is that the cost-benefit
analysis is very simple:
* Cost to users of removing wfLoadExtensionMessages() from trunk
extensions: If the extension happened to work on some old MW version
(some do), the extension breaks.
* Benefit to users of removing wfLoadExtensionMessages() from trunk
extensions: Nothing. Extension works the same as before, no better or
worse.
I think it's very clear that in cases like this, we should not remove
back-compat. If there's some benefit, then maybe -- for instance, if
the code is hard to maintain, that could outweigh back-compat
benefits. But this code isn't hard to maintain at all, it's one line
in each extension. If there's no cost, then sure -- for instance, if
the extension already only works on trunk for some other reason (maybe
a new feature was added that uses a trunk function), then no harm is
caused by removing the back-compat lines.
But going out of your way to remove back-compat when that will hurt
some users and not ease development *quantifiably* does not make any
sense, and IMO no one should be doing that. ("Quantifiably" means
"I'm not going to bother adding new feature X if I have to maintain
back-compat while doing it", not "I think the code is uglier".) We
can disagree about how much work we need to go into to maintain
back-compat, but it's not *negative* -- putting work into removing
back-compat without clear gain does not make sense.
I've created a page on
mediawiki.org to set out some guidelines we can
consider: <http://www.mediawiki.org/wiki/Backward_compatibility>. I
think we should get something written down that we can agree on, since
this issue has come up more than once before and the same people tend
to repeat the same disagreements every time.