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?