A few days ago, I wrote a post about picking up the phone and not relying exclusively on social networking to meet new people. One of the people I had the good fortune to meet was Si Chen, President at Open Source Strategies. We started talking about open source software and cloud computing, two topics in my next book. I floated the idea of his doing a guest post on my site to reach a different audience and, a few days later, he shot me this very informative post.
Enjoy his post.
Two years ago, I switched from Mozilla Thunderbird to Gmail. Ever since then, a little voice has bugged me each time I sent an email. You see, I’m an open source software developer, the name of my company is “Open Source Strategies,” and our mission is to promote open source software. So when I give up on one of the most popular and successful open source applications, is it just an isolated expedient, or does it mean something bigger?
After two years, I’ve decided that it does. Cloud computing is a big time game-changer, and we open source developers better get prepared.
Cloud applications are everywhere today, offering a hosted alternative to just about every open source project. For example, just from Google consider the following:
- Gmail to replace sendmail/postfix and Thunderbird
- Google Apps to replace Zimbra
- Google Docs to replace OpenOffice
- Google Groups to replace forums
- Google Sites to replace wikis and content management systems.
Then there are smaller cloud-based applications like Disqus and MicroPoll to replace the discussion and poll features which are ubiquitous in ecommerce and content management systems like Joomla!, Drupal, WordPress, and Magento.
And yet, open source developers are amazingly complacent. We’re lulled by the fact that most open source applications are web-enabled. Some of us think the cloud is just another deployment option. Some of us hope that maybe a cloud computing vendor would buy us out. Does none of us ever wonder if “No Software” might just mean “No Open Source Software” as well?
We should take cloud computing more seriously. Cloud computing has created a new value proposition for users. Unless open source developers understand and adapt to it, they will be relegated to the sidelines of the software industry. Let’s first take a look at that value proposition, and then at what it means for open source.
Traditional vs. Open Source vs. Cloud Value Propositions
Traditional commercial software is often expensive. First you have to pay to license the software, then pay for hardware to run it, then pay again for the software to be customized, and finally pay regularly for maintenance and support. Furthermore, because the source code is not available, commercial software could be very difficult to customize to meet the users’ actual needs. This combination of high cost and lack of flexibility is pushing some CIO’s to look for greener pastures.
Open source addresses both of these issues with a once novel but now familiar approach. The software is available free of charge, and the source code is also available so the user could modify it to fit their needs. The user just has to pay for the hardware and any customizations he needs, so the cost to acquire the software is significantly lower. Most importantly, the user has the flexibility to modify and use the software according to his needs.
Cloud computing is a big time game-changer.
Cloud-based software takes a different approach. The user pays a recurring fee to use a cloud-based application. In return, the cloud vendor provides both the hardware and software as a package. Cloud-based applications themselves are highly standardized, and you don’t get to see the source code. However, they usually provide APIs for building third-party add-on modules. This way, cloud vendors (try to) provide flexibility via a better technical architecture, rather than by freeing the code.
Clearly, people like this model. Consider two cases in point:
- Salesforce.com has grown to over a million users
- Google Apps has signed up over two million businesses
This begs the question: Why are cloud-based applications so successful? Because they have made it easy. Even though open source software is free, you still have to get the hardware and then set up and possibly customize it. Cloud software vendors have taken care of all that for us, so we just have to show up with our browsers. For most users who don’t have very specialized needs, that convenience is far more important than having the source code.
So What About Open Source?
One viable option for open source software is simply to become the “anti-cloud.” Perhaps somethings aren’t meant to be “in the cloud” after all. For example, Eucalyptus is offering an open source solution to build internal clouds inside the data center. (The US Army’s Deputy CIO is quoted on their home page. Could you imagine why the military might not want everything “in the cloud?”)
Another interesting option is to make open source software the entry point to the cloud. Under this model, the real value of computing moves to the cloud, and open source becomes a way to mobilize developers to create as many entry points to that reservoir of value as possible. Google made its Android platform open source to encourage the development of mobile applications which connect to the web—where Google rules. Skype’s plans to open source its client software seems to fit with this logic as well.
Open source and the cloud are not mutually exclusive; they can work together.
Finally, are there cases where flexibility is so important that standardized applications in the cloud wouldn’t work for a lot of users? We believe that Enterprise Resource Planning (ERP) is one such case. Because virtually every business has some unique processes, almost all ERP software packages must be customized to meet the needs of the particular organization. In these cases, open source is the right solution, and we’ve seen it in polls like this one from the home page of opentaps Open Source ERP + CRM, which tells us that most users of open source ERP are looking to deploy it internally:
Open Source and the Cloud Together
Ultimately, open source and the cloud are not mutually exclusive; they can work together.
I started my blog at opensourcestrategies.blogspot.com five years ago, but then moved it to WordPress last year. So here’s a case where I’ve moved off the cloud and back to open source. But I also use Google’s Feedburner to syndicate my blog, and I’m thinking about adding Facebook wigdets, MicroPoll, and Disqus as well.
I hope this may serve as an example for the future: a free and flexible open source core application enhanced by cloud add-ons. Open source software gave me more control, specifically over my online identity: I can have my own domain name, look and feel, and my choice of modules and add-ons. The cloud applications gave me easy, inexpensive, and maintenance-free ways to add standard features to this core. Today this is common in the blogging world, but we are re-architecting opentaps to bring that to enterprise software such as ERP and CRM as well: a world of open core architecture and platform-independent add-on modules.
What say you?
I say you suit the tool to the job. When faced with an enterprise that has standard needs, desirous of maximum mobility and no interest in hardware maintenance headaches, then the Cloud is the answer.
Businesses more concerned about security and looking for highly specific, customizable solutions then Open Source is the only way to go.
As IT personnel we need to have access to multiple tools to solve the problem. It’s only when we become orthodox about a platform or tool that we start forcing solutions for customers. The tool should fit the job, always.
Thanks for the comment, Louis.
I agree that there are many, many more choices for organizations with respect to different technologies in Enterprise 2.0.
It will be interesting to see which ones “win.”
Si Chen and I have discussed another point as well: deploying open source software in the cloud. You can do it simply by deploying an open source product, such as opentaps via Amazon EC2. Or an open source provider such as SugarCRM can do it directly.
Si is correct: the two are not mutually exclusive. In fact, I think the combination has a lot of advantages.
Thank you indeed, Louis. I was thinking about “the tool should fit the job” while watching a plumber work — how much we in IT could learn from them.
With web 2.0 though the tools are blurring. I really think that since just about every enterprise computing requirement involves some customization of standard processes, the future is some combination of a customizable open source core with cloud-based components.
Great points all around, all.
Enterprise 2.0 will be quite a bit more chaotic and exciting than its predecessor.
Si, I am curious if you would expand on your statement “With web 2.0 though the tools are blurring.” I find that a curious choice of words. I warn you that Spanish is my first language so perhaps I am missing something? Anyway, I’d love to read more.
Phil, I agree that it will be chaotic for a while. However the power is incredible.
Right now small businesses can virtually eliminate their costs with a combination of open source software and cloud freemiums. It is now possible for a start-up to standardize on one set of Cloud tools that are free until their business can afford to upgrade to the pay edition.
The impact that has on a small business’s costs is extraordinary. That’s powerful.
What you are saying is indeed true, and I’m one startup that has standardized on Google apps.
What I mean by “the tools are blurring” is this: people typically think of “cloud” vs. “on premise” options for enterprise software such as ERP and CRM, meaning you could either get a hosted CRM system or deploy one, open source or commercial, on premise. But I believe this distinction will go away, because in the future, the “cloud” versions may have some component deployed on premise for speed/security/flexibility, and the “on premise” versions can be bundled with add-ons that are in the cloud.
One analogous example would be the Google Android: it is open source, but it’s really a platform for applications that are in the cloud. I think this will become the pattern for all business software in the future as well.
Thank you Si. I understand now. I think we are seeing a very preliminary beginning to that with the sync capability in Google Docs.
Also as Google opens up functionality between Google Apps and Google App Engine we will see more of the hybrid systems that you’ve mentioned — especially in cases where customization is required by customers.
Eventually I think the whole segregation between Cloud and On Premise will vanish as true cloud integration (as I learned it) becomes commonplace. These hybrid systems will be the norm.
Yes, I certainly hope so — wouldn’t that be cool?
It should also be noted that Cloud Computing is largely built on Open Source infrastructure components.
As a metaphor for the Internet, “the cloud” is a familiar cliché, but when combined with “computing,” the meaning gets bigger and fuzzier. Some analysts and vendors define cloud computing narrowly as an updated version of utility computing: basically virtual servers available over the Internet. Others go very broad, arguing anything you consume outside the firewall is “in the cloud,” including conventional outsourcing.