One of the big IT buzzwords has been software as a service (SaaS). Combined with cloud computing, it has been positioned as a paradigm shift in the way the world interacts with IT. It has changed much of the business world, and is already making inroads into the consumer world. In fact, many companies out there have staked their existence on it, and are doing ridiculously well, including Salesforce and 37signals, and there are others who aren't, e.g. many of those web 2.0 startups that have since disappeared.
It's appealing to software companies because it gives them a consistent cashflow. In the 'old' model of selling software, software companies had to continually keep releasing new versions with enough enticing features (or fixes) for users to upgrade in order to maintain and increase cashflow. The new SaaS model keeps the money rolling in on a regular basis in the form of client service fees, without the need to continually refresh their product (although those that do generally fare better). They also benefit from better control over their software (as it resides on their servers), so they can patch, update and upgrade as they want, and only support one version - the latest. On top of that, the piracy issue, the one Microsoft spent and still spends millions tackling (what is probably a futile uphill battle), disappears.
Customers win too, because they don't have to worry about any installation, maintenance, or data security steps, plus they often get the added bonus of having their software accessible from any net-connected computer in the world. For once, users can just concentrate on their doing what they got the software for. Lastly, the pricing structure is psychologically better. Let's face it - many of us are short-term thinkers in need of immediate satisfaction. A smaller price upfront with a long commitment is easier to swallow than a larger upfront cost with no strings attached.
But, like most things, every upside that seems to benefit all parties has a downside, which is often not in the customer's favour.
With SaaS, the problem is control. By going with a SaaS solution, users relinquish control over their data and how they use the software to the solution provider. For many SaaS solutions, data ownership is a major question that is often ignored by users, who are still getting to grips with the concept. At worst, the SaaS provider owns your data (probably through some wordy legalese stuck in a Terms and Conditions page only linked to from one page in a hidden link), and at best, you own it. But often, this is left ambiguous or not mentioned at all, and no one really cares either way. Do you really know what your provider can do with your data legally, regardless of whether or not you think you own it? I mean, pretty web 2.0 sites complete with slick effects, glassy graphics and glowing buttons can't be evil, right?
And even if you do apparently have ownership rights, do you really have the time or money to fight for it if they decide otherwise (often against large corporations with their super lawyers)? Let's not forget that many of these SaaS providers operate in different countries, and therefore our data is subjected to different laws, and not protected by ours. Do we really know the implications of sending that email using Gmail?
Ok, let's assume you retain ownership of your data. So what can you do with it? Data ownership is really a small part of data freedom. What kind of access do I have to my data? Who is responsible if my data is lost or corrupted? Email is probably the oldest form of modern SaaS. Anyone ever tried moving all their emails from Yahoo! Mail to say, Thunderbird on your desktop? It is a painful task, and one that can't be completely done (what about my sent emails?) This is actually an issue of both the old and the SaaS models though. Many apps on both sides of the fence offer open APIs and specifications which help alleviate this issue, while the more difficult ones are usually fixed using reverse-engineering and/or web parsing. The Data Portability project is trying to help, but it's a pretty big battle, not helped by so many new things coming out, all with working with different sets of data.
The old model however, has an advantage here - the user's access to their data via the software is not affected by outside factors. As long as the software runs, even if it means running on legacy hardware, the user can still access their data, unlike SaaS solutions, where if the solution is discontinued, or the company folds, then your access to the data will be governed on the access provided by the provider, and the acceptance of their data format by others. It's worth noting here that the openness of the data format really means nothing to your typical non-geeky customer - so what if it is in XML, YAML, or whatever the popular general data representation format is? Some maybe able to plead their case and win over developers to help them out, but most customers won't do that or get that chance. To them, their data is as good as gone.
That raises one of the primary conceptual differences in buying a SaaS subscription, compared to actual software - you do not own a copy of the actual software, or even a licence to it. You want to use that bit of software, you have to keep paying for it (and there is generally no way around, illegal or otherwise). If you can't pay for it, you can't use the software. As simple as that (ok, you may get leniency from the provider for whatever reason, but that's not the point). In effect, you are renting our software, but unlike traditional appliance rentals where you can choose to pay off and own the appliance, there is no such option here. If for whatever reason you are unable to pay the fee, you'll have nothing to show for all the money we have paid in the past, and your data is stuck in limbo. And if you dislike the new version of the software and prefer the older one, chances are, its bad luck, you gotta change.
Do the advantages of SaaS outweigh the disadvantages? I can't help but feel short-changed. There is a certain sense of security and pride from owning something that you don't get from renting something. The fact that we have grown up with the notion of being able to own software (or at least a licence to it) doesn't help either - this is a somewhat subtle, but giant shift in the way we acquire and use software, and the awareness of the new set of issues just doesn't exist for most people. From what I've seen, many SaaS companies seem content with capitalizing on this lack of awareness too.
Purchasing power has also partly shifted from the consumer to the provider; consumer sovereignty has taken a hit. The incentive for continuous innovation and improvement as a result of the consumer's purchasing power has been reduced, in some cases, quite significantly, depending on the service's data portability rules and the availability of competitors. While consumers lose their power, the software companies gains a system which yields consistent cashflow with a weaker link between their product and what the consumer wants.
It also becomes harder for consumers to vote with their money, as the barrier to change grows due to the SaaS's increased control. Assuming we don't want to pay for two similar services at once, a change over to another SaaS service could quite possibly mean the loss of access to the old software, and possibly the data as well - a cost that is too high for most people.
Are we, as consumers, really better off under this model, or is this just a ploy by software companies to shore up their financial position?
UPDATE (1/5/2008): Added a link to the data portability project, and a quick addition to what providers can do with your data.