11 Aug
I couldn't help but respond to this GigaOm article entitled "When to Use Open Source in a Cloudy World," since open source in the cloud is a big part of what we do. The thesis of the article is that open source might be less important in the cloud, because many SaaS (Software as a Service) companies are starting to offer PaaS (Platform as a Service), meaning that their applications can be customized. The quintessential example of this trend is Salesforce.com and their Force.com development platform.
There is no question that the ability to customize and extend an online application via a well-defined and constrained framework can be valuable. Customizations made in this way are much easier to maintain, assuming the provider only makes upward-compatible changes to the integration framework, and there can be a shorter learning curve because only the framework needs to be learned rather than the entire application code base.
However, there are also risks and downside to this approach. As the customizations become more extensive, lock-in becomes a bigger issue. The customization code base is a critical business asset that is completely dependent on the PaaS provider. If that provider raises prices, starts to have performance or reliability issues, reduces the quality of its support, or goes out of business, the customer could have a serious problem. This was illustrated vividly by the failure of Coghead (a PaaS startup) in 2009. Consequently, the quality and durability of the providing company needs to be evaluated carefully before making a commitment of this kind. Salesforce.com, a no brainer. Intuit, probably fine. With smaller or startup companies, be careful.
Another downside is that the range of customizations is limited by the framework. If you need to do something that isn't exposed by the framework, you are out of luck and cannot make that customization at any cost. Do you need to access something directly from the database? Integrate a third party application in a particular way? Tweak the GUI to make a particular operation more efficient? Sorry, that isn't available. Now, I would be the first to point out that people often want to customize things in ways they shouldn't - instead of making a minor change to their business process, they invest a lot of money in complex custom software development to match their vision of how the software should work. This, too, can be a mistake. So limits on customization can be a benefit as well.
Interestingly enough, the open source companies that provide a multi-tenant SaaS facility for the application have these same disadvantages. The shared instance of the application can only be modified through approved frameworks and add-ons. Any genuine customizations must be deployed as a separate (single tenant) instance of the system, which many of these companies are willing to do, but at a significant cost.
This is one place where Standing Cloud enters the picture. We always deploy applications as single-tenant. For open source applications, you pay a single price for the deployment, not a per user price. You can customize it as you see fit. You are not locked in because you can always move your deployment somewhere else, including your own servers. We are working hard to make Standing Cloud just as easy as a multi-tenant SaaS system, without all these pitfalls.

[...] Why cloud API standards are blue sky and will never happen (here’s Dave’s blog post on it: http://blog.standingcloud.com/2010/08/11/when-to-use-open-source-in-a-cl...) [...]
Post new comment