For customer-facing web applications, just about every company wants the same thing – a unique customer experience at a low cost. We will examine the pros and cons of SaaS and open source to meet these often competing objectives and introduce a new option called Open SaaS that combines the best of both models.
Software as a Service (SaaS) has done a great job at providing a highly efficient offering for things like CRM (Salesforce). Efficiencies are created by the following:

Single code base – all customers are on the same code which greatly reduces product management, development, QA and support costs
Multi-tenancy – customers share the same databases and servers to increase utilization of underlying software and hardware
The drawbacks are significant however for customer-facing applications
Limited ability to create a unique Brand experience - anyone can use the same code
Lock-in – no way to take the code in-house or move it to another 3rd party to modify and support it
Long release cycles – upgrading the entire customer base is risky and requires significant regression testing. Rapid release of exciting new features is unlikely
Open source provides a different value proposition. Dan Woods in a Forbes blog titled the
“Next Wave of SaaS” does a great job comparing the open source model to SaaS. Open source directly addresses the 3 big drawbacks of SaaS noted above.
Unique experiences are the strength of open source with direct access to the code
No lock-in – customers can shift the hosting of the system at will and they control the code if they wish to modify or migrate it.
Short release cycles – open source projects are focused on creating powerful new releases and are not constrained by multi-tenant SaaS operations.
But open source does have it’s own drawbacks as Dan notes:
Requires internal IT resources – there is no walk-up interface for business users (that SaaS often provides) to begin using the system and configure it
Does not leverage scale efficiencies – each client must deploy the unique instance on their own or 3rd party servers
There is a 3rd option that combines the best of SaaS and open source – Open SaaS. Open SaaS combines a fully-customizable unique instance for each customer with the scale efficiencies of cloud computing. See Wikipedia’s definition of
Open SaaS.
Unique instance – Open SaaS provides each customer a unique instance that can be integrated, customized and migrated as a customer desires. There are no constraints caused by sharing the same code with competitors.
Cloud computing – the virtualization of servers, the commoditization of standard hardware and the application of massive scale has led to cloud computing. Running unique instances on the cloud is now as or even more efficient than running a 1,000 customers on a single code base at a co-location facility. The efficiencies of cloud computing does not come with the severe drawbacks of SaaS (multi-tenancy, long release cycles, limited uniqueness).
Time will tell which of these models is more successful for customer-facing web applications. Which one would you bet on?