There has been some interesting posts and white papers (for example, CrownPeak's whitepaper "Open Source Isn't Free (It's not Even Cheap)" (registration required)) about the trade-off and relative merits of open source and hosted solutions. I think this is an important topic because, as I have said before, both strategies are worth considering for companies looking to lower their up front costs of deploying (or redeploying) a website on a new platform.
As someone who covers open source software and who hosts their blog on Blogger, you would think that I would have something to say about the matter... and of course I do.
It all boils down to a simple question of "what business are you in?" In the world of content I think there is a clear breakdown into two categories of businesses: content businesses and content distribution businesses. A content business competes on the basis of the quality and/or exclusivity of the content. A content distribution business competes on the accessibility, reach and engagement of the content consumption experience. A content business will often partner with several content distribution businesses through syndication relationships. Content distribution businesses often have the same content as their competitors and need differentiating technology. Product companies (and other companies whose content is about their products) tend to operate and behave more like content business. They shouldn't care about the stickiness of their own website (I am reminded of the Web 1.0 bubble when Internet strategists tried to convince their clients that their business, whatever it was, would suffer if they failed to do something fancy on the web). Content businesses (and product businesses) need their web presence to serve their customers, support their brand and reinforce their credibility. They don't need to be sticky. Professional, well organized, stable, and up to date is good enough (sadly, better than average).
Content Here is a content business. You can read the articles here and here and here and probably other places as well (I am just happy you are reading them). The tools I use to compose and publish content are cheap and simple. I don't care if other websites have similar branding treatments (as a matter of fact, other websites have used this template). I am satisfied with the average uptime standards that Google is able to provide. Yes, blogspot does go down from time to time but at least when it does go down I don't have to frantically troubleshoot to get it back up - I just wait. And, yes, I would like to to have a slick little friendfeed commenting plugin. But I have more important things to worry about like finishing my next report and blinding my consulting clients with value.
When there is a good fit, I include a SaaS products in CMS short-lists for my clients. However, I often find that business users are drawn to the promise of what could be done on high end commercial platforms (with adequate levels of customizations that will probably never be done). A solid, simple, basic feature set on a product that is well managed is not sexy to a buyer. Business users don't usually sit through a product demo and visualize what the UI would look like if it was broken because their I.T. department didn't invest the right time and resources to adequately configure, customize, host, and maintain the platform. I.T. departments don't think enough about how hard these applications can be to upgrade. The hosted solutions in the marketplace succeed with good customer service and smooth upgrades that lead to high retention rates - not through feature/function/flash competitions. The UIs tend to be boring but functional. Business users like feature/function/flash competitions.
If you make the right choices, hosted solutions can give you better than average service at a lower cost (in terms of time or money) because they can take advantage of specialization and economy of scale. For example, an outsourced data center is going to have better failover and redundancy than an average corporate server room (much better than the converted desktop server with the noisy fan under my desk). A hosted application is going to have better administration support than an average installed application. Better than average is good enough for the context aspects of your business but not the core (I knew I would be dropping a little Geoffrey Moore knowledge before this post was through). For the core, you want excellence and to be excellent you have to invest disproportionate resources and ownership. You can't settle with a service that your competitor can also buy and, therefore, have just as good you.
If I were in the content distribution business, I would make the investment to achieve greater than average uptime and continually add new features to the website. I would do a lot of custom development on the platform to make the functionality unique. Open source would be a key component of the technical strategy because it would help achieve an optimum mix of a commodity foundation, fast-follower (me-too) features, and unique features that I built myself. Instead, I am pleasantly surprised when I log in and notice that a new feature (that probably has been available on alternative platforms for ages) has been added.
There is actually a lot of overlap between hosted and open source. Most of the Software as a Service providers rely heavily on open source frameworks and components to deliver their services. There is also a great opportunity for systems integrators and commercial open source companies to deploy highly managed, turnkey solutions using open source content management systems. The customer doesn't even need to be aware that the solution is open source because they go directly to their partner if they need any help.
Recent developments in cloud computing and third party services allow businesses to specialize even more. With a service like Amazon's EC2 and S3 and Google's App Engine a company can specialize in software development and outsource the management of the underlying architecture and infrastructure. This is great for companies that want to run research and development teams to rapidly execute and test out new business ideas. But, to use these services companies need to be satisfied with the level of uptime that Amazon and Google are willing to provide. Some cloud computing resources are delivered using excess capa
city so we don't know what will happen when there is no surplus available. I would feel better if the market for cloud computing was mature enough to establish a sustainable price and service level agreement. Until that happens, if five nines of uptime is important to you, these services are not for you. Better to run your own software at multiple data centers on different continents and have well vaccinated, highly caffeinated support staff monitoring things around the clock.
There is also a marketplace for add-on widgets (as an aside, what word do business school professors use to describe a fictitious product now that there are actual products called widgets?) like JS-Kit that can be plugged into nearly any existing platform. This trend allows a content distribution company to differentiate its offering by creating a unique assemblage of commonly available components. To win with this strategy, the company has to get very good at vetting partners and integrating their solutions. Trend spotting, partnership building, and integration become the core competencies rather than just software development.
If you are in the content distribution business, you are in the technology business because technology is how you distribute your content. You need to be able to be able to execute a strategy with an appropriate balance of outsourcing, development, and assembly. Outsource where you want to be good. Build where you want to be great or unique. Or, if your special sauce is going to be breadth, get really good at finding the right third party providers to partner with and integrate their solutions in ways that allow you to nimbly shift from parter to partner.