Today I read a news article about Bill Gate’s comment on the future of software. He claim that in the future, all software will be sold as services instead of shrink wrap applications in a box. I am surprise this kind of nonsense come out from the person who once was a great coder. There is no difference between traditional software or software as a service. Software are just codes, method of delivery is irrelevant. No matter what form a software appears, it takes up some disk space and requires some CPU cycles to run. The questions where to store the code and where to run the code. The term software as a service really means storing and running the code on a remote server. Some application make sense to run remotely as such sales tools or CRM, which requires only a thin layer of code hook up with hugh backend database. The communication between the database and the user is the bottleneck. While most of traditional software doesn’t even make sense to run remotely. Try to image using photoshop or full-featured word over the internet. The speed, even with boardband, would be make it a pain to use. Today’s PC comes with cheap CPU power and harddisk space, while the boardband access is still relatively expensive. If Microsoft really decided to market all its software as services, I am sure the opensource folks will happy to fill in the gaps, as well as empty harddisk space and CPU cycles.