What does “support/maintenance” for software mean? What is part of it, why do companies pay money for it instead of foregoing it to save money?


What does “support/maintenance” for software mean? What is part of it, why do companies pay money for it instead of foregoing it to save money?

In: Technology

It’s like buying a really nice warranty for your phone.

If your phone breaks, and you don’t have the warranty, then you better hope you know how to fix it.

But, if you bought the nice warranty, then you get 24/7 support from the manufacturer who will answer any questions you have, will fly a guy over to your house to fix it for you, and will check on your phone regularly to make sure its working right.

If a software vendor sells a company a *perpetual* license to their software, that means the customer (the company) has purchased one specific version of the software. It typically does not entitle the customer to bug fixes, updates, new features, nor does it entitle them to call the software vendor when they have a problem with the software.

If the company wants bug fixes, updates, support, etc., then they *also* buy a support & maintenance contract which allows them to get those things from the software vendor. New features are typically not included in support & maintenance; for that the customer has to buy the next version of the software.

Some companies that purchase perpetual licenses *do* forego those support & maintenance contracts to save money. But, if they forego that and something goes wrong with the software (say, a critical bug), then the software vendor has them over the barrel, especially if the software is critical to the company’s business. The software vendor can then charge the company oodles of money to fix the problem, since the company hasn’t bought a support & maintenance contract.

Not all enterprise software is sold that way. A lot of enterprise software is sold as a *subscription* license, which typically includes support, maintenance, *and* new features. The upfront cost is frequently less; the downside is if you stop paying the subscription you lose *all* access to the software, whereas with a perpetual license you have access to the version you bought for as long as you want (i.e. “perpetually”).

There are benefits and risks for the software vendor and for the customer with both approaches (perpetual or subscription), so companies and vendors choose a model that fits best for their needs.

EDIT: Note, all of the above applies mostly to enterprise software, not consumer software. Business models for consumer software are similar, but there are differences.

EDIT 2: Some corrections for clarity.

student computer science here:

Companies that buy software usually want some sort of guarantee that the hugely complex and expensive thing they’re buying (and don’t really understand) will be worth it. Would you buy my software if it came with zero guarantees after you’ve bought it? Say a new exploit is found in some internet protocol, you’d probably like me to fix the software for you so it’s still usable. That’s maintenance.

The difference with other products:
You can buy a table and leave it unchanged for decades, because the requirements of tables never change, the environment (the kitchen in this case) never changes, faults in the table design are immediately obvious, so a table can be “finished”.

Software exists on computers, inside and surrounded by other (constantly changing) software and hardware. Requirements can shift slightly, bugs can appear, new standards can be introduced, etc. therefore software is never really “finished”.

Thus support and maintenance is a pretty vital aspect of software development.

It’s a pretty broad term that basically means “you’ll help us do whatever weird thing we want your software to do”. That could be any number of bizarre and highly specific IT/software issues that companies have.

Here’s a piece of equipment that puts out analong signals to a dot matrix printer from 1973. Talk to it.

We started a field service office in Thailand and their database is in Thai. Talk to it.

We’re upgrading all XP machines to Win10 and something broke and now the printers don’t work with your software. Fix it.

Can you add another field for dates before 1970?

We need Polish language support.

Can this output data to an excel file every six hours?

Can every user have a unique login?

We dropped this and now it needs the software installed again.

Rather than keep a team of software specialists on hand, companies prefer to outsource this kind of work to the people who know the software best and work with it all the time. You may go years between major changes so nobody on your team really remembers how to do it.

At its most basic it involves having a telephone number that you can call when you are out of ideas and having access to updates and patches for the software.

This may not be much help in solving any issues you might have but sales people can be quite convincing and businesses like the idea of having someone they rely on and potentially sue if something stops working even if the actual text of the agreement says they really can’t.