Decommissioning a service

Zawodony asks some thought provoking questions in his post about "the pending closure of the Yahoo! Photos and Yahoo! Auctions services".

The discussion below the post has some good info, basically my take is along the same lines as this:

Adam Trachtenberg said:
When we killed our old schema API, we went with Chris's 18 month deprecation window, along with a hard core messaging plan. In some cases, we even called people on the phone. Then again, we actually cared about keeping our customers. This has also been a big internal argument against allowing "anonymous" sign-ups, as there's no way for us to contact then when issues such as this come up. As to 404 vs 410 vs 501. The users who care about those types of things, and are actually checking return codes and doing things about it, are the users that are going to already know you're deprecating the API. :)

You need a sign up list, an RSS feed, a mailing list, etc - for each service. Then when anything changes you do your best to blast the users and let them know well ahead of time. Such as Chris DiBona's 18 month plan. We are sort of adopting this plan at the office, where our services are not free nor open. We have customers that pay for services, and yet we still do have services that end up getting modified (for which have a versioning system and we plan to deprecate a rolling three versions) or killed. Usually in the case of termination of service there is some other offering to point users too (unless you are just totally going out of business/away - and that is a different problem - one that is not unique to services).