I have to admit that this is a very good point, I
think an API is
something that can be difficult to change once it's written because by
definition once it's out there other programs will rely on it staying
the same. Getting it right the first time is better than trying to
retain backwards compatibility with a badly designed sytem. Writing an
API is a big responsibility, especially if it ever gets used with
something as hugely significant as Wikipedia.
Well, I've been kind of thinking on the following lines: Each MediaWiki
wiki administrator - in the case of Wikipedia that would be Wikimedia -
can monitor what API calls are still regularly used. It's not really
something like HTML where you want backwards compatibility because you
don't know how many millions of unmaintained old documents still exist
and still want to be read. We do. We can tell if the usage level of an
old API function has dropped below a certain threshold, at which case we
can decide to stop supporting it. Although we will end up requiring some
tool developers to use the new API and some users of unmaintained tools
to use other tools, we can be sure that it won't be many. Hence I don't
think backwards compatibility is going to be a huge long-term
requirement for us.
Timwi