Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

When a vendor declares that they no longer intend to provide any support or services to a piece of software (and stated the intent to exit the business - offering no upgrade paths), what kind of recourse is available to the customer?

Please consider this from the customer's viewpoint. The customer's IT staff will likely only consider the technical options, but there are likely non-technical options which the customer can pursue as well. Also, what kind of reasonable steps can be taken by the customer ahead of time to minimize disruption, such as in contract terms?

Things I can think of:

  • Need to purchase spare hardware and set up a spare environment on which the software can continue to operate.
  • Various data export methods which do not require vendor involvement. (This can include trivial techniques such as examining the data stored in a commodity database backend, to the more involved techniques such as screen scraping, printing to image followed by re-scanning, etc)
  • Parallel systems where staff will duplicate the old data into a new system manually or semi-automatically
  • Legal means, in case the vendor is in financial trouble (as in the case of source code escrow)

Any other ideas?

  • Assuming that there is no "circumvention" involved (no DRM, no DMCA), is data recovery or reverse engineering legal/acceptable?

Edited note:

It is a combination of several anecdotal, but real stories. I am not directly involved in any of those. It is simply my desire to learn about how "software end-of-life" situation is handled in general. It is not my intention to make the original story sound like too "difficult" to be solved.

share|improve this question
    
What is the time lines here? Are you a customer or build a product on top of said vendor? –  user1249 Feb 20 '11 at 15:24
3  
You can try to purchase source code from the vendor then support yourself? This is a pretty difficult situation to be in. –  btilly Feb 20 '11 at 15:55
2  
Makes one wonder why the data has not been stored in some sort of open format to begin with ... if it is stored as plain text in db, you can copy it. If it is stored in xml / plain text, then you can copy it. If it is binary/encrypted, then you need to crack it. It is all doable. –  Job Feb 20 '11 at 17:08
3  
@Job: agreed. The importance of open/simple storage format (and the concept of "vendor lock-in") has been recognized for more than a decade. Decisions made several decades ago would not have this benefit of hindsight. Back then, affluent customers went with the market leaders irrespective of cost, and less-affluent customers had to accept the status quo or take the risk. –  rwong Feb 20 '11 at 18:42
    
These sorts of stories serve as good examples as to why it is good to have data exit plans. That can be using open formats as @rwong suggests, but that should also mean having export clauses in contracts. –  smithco Feb 21 '11 at 1:57
show 1 more comment

3 Answers

up vote 2 down vote accepted

Reverse Engineering is pefectly acceptable on your own data. Assuming you have the database files to begin with. If its a hosted service, you may be better off just paying the fee and having them export the data. imo, its extremely rude and unprofessional of them to require a fee for that, but some people dont care about such things.

Since you know this application is something you need, perhaps if its feasable, its time for an in-house developed system? This way you wont end up in this situation again.

share|improve this answer
add comment

One strategy that is not on your list is to bring on a team of interns and give them the summer to figure it out. Since it would likely be a one-off project, it won't matter if the code is pretty, if takes a lot of hours or if it just takes a lot of manual data entry.

share|improve this answer
2  
Interns: The local equivalent of outsourcing –  Earlz Feb 21 '11 at 3:46
    
Internsourcing! –  Paul Nathan Feb 21 '11 at 18:09
add comment

If the product is something you do not require changes to, do not foresee requiring changes to and runs on your own hardware there is always the option of accepting the risk to keep using it.

It isn't fancy, and it can be a pain, but depending on the product and the vendor you might find if you think about it that the situation is no different than it was when the vendor technically supported it.

One note: If the system is something exposed to the public then this is a bad approach because you have no way to get security updates applied.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.