We used to live in the world where software was the essential value in computing. It would take years for companies to develop software, which then would be sold. Users would buy software, install it and run it.
This is the world that Richard Stallman decided to change. Thanks to him Free Software1 exploded in popularity. Because of the growing number of people contributing to Free Software, its quality became comparable and then superior to that of proprietary software. Companies began to take notice.
Richard Stallman won this battle. The scales have been tipped: with a few exceptions2, it now makes more economic sense for companies to release much of their work as Free Software (or at the very least give some freedoms to users) than to keep the cards to themselves. There are benefits: aside from the good press, they can tap into a developer community, get improvements, coexist with other software.
However, in recent years, value has shifted from software to services. Software itself has less and less value, as it becomes easier to write, and as more of it gets created. It used to be that people would pay for a web server — today they have a number of free choices and no one in their right mind considers developing yet another web server. Many software component types become commodities.
Since it is easier to get lots of good software, we tend to do more with our computers. Our time is more limited, so we place value on things which didn’t matter ten years ago. Convenience and time are major considerations. Another important factor is software maintenance: there is so much software being developed so rapidly that keeping up becomes an issue.
That’s why these days we see more and more online applications. It isn’t because they are better than desktop applications: they aren’t. It’s because they are more convenient to use. You don’t have to install, you don’t have to update and most importantly, you gain additional functionality only available online. It could be storage, backup, online synchronization, data feeds or processing, but without it the application loses a lot of its appeal, or doesn’t make sense at all. So, many of these online applications are really services with an application frontend.
1 “Free” as in “freedom”.
2 Large and/or specialized applications are the exception here: packages like Mathematica and MATLAB, firmware for embedded devices, software for designing airplanes, etc.