Monday, May 4, 2009

Six Steps to Building an Open Source Cloud Company

Since starting Enomaly almost 5 1/2 years ago we've learned a lot about the bootstrapping, building and management of an open source business. Over that time the open source model for application development and marketing has grown from a fringe approach to mainstream model being used by a significant portion of the software & technology industry.

Recently with the emergence of cloud computing, open source has become an even more important aspect in the modern enterprise technology landscape. By using the cloud we are no longer locked into a single server, data center or network but instead have a global cloud of ever changing resources to choose from. In this new software world, managing licenses has become a complex endeavor, luckily the solution is an easy one -- Use Open Source software.

Today I thought I'd share a few tips on creating an enterprise focused open source product & company based on my experiences over the last few years.

1. Trial and Error - Don't be afraid to try various ideas. Tools like Google Code or Sourceforge make putting out "conceptual code" for feedback & market research a breeze. For me, open source is the ultimate market research tool allowing instance feedback to my various and sometimes crazy ideas.

Over the years some of my ideas have included creating a Distributed Exchange - a computing trading exchange platform, Distributed Potential - a desktop computing & capacity collector, ElasticLive - Amazon EC2 management platform for web hosting, ElasticDrive - a remote cloud centric cloud storage platform, Unified Cloud Interface (UCI) - Semantic Cloud infrastructure abstraction and Enomalism (Now Enomaly ECP) a hybrid cloud platform.

A few things I've learned along the way -- although trying a lot of different products and services is good for market research, it's terrible for sales and marketing. Given my lack of it, I would suggest you focus, focus & focus and do this as soon possible. Although I wasn't afraid to try new concepts it also meant as a small bootstrapped company were continually spreading ourselves too thin on the real opportunities. The apparent lack of focus also hurt of chances at getting traditional investment. Luckly for us we were also quick to drop the various ideas that didn't work out. Products like ElasticDrive that had a huge potential but simply were too difficult to dominate a market segment or required huge development and marketing dollars were dropped. My tip, Too many balls in the air and you're bound to drop a few.

2. Build the Community, First - Once we determined that we had a good opportunity with a particular product, in or case the Enomaly ECP platform we then focused on building that community. By building a community first we were able to focus on the specific needs of that community, tailoring our product and services to the specific requirements of the community of actual users.

3. Adapt - Be able to adapt your business model and as well quickly iterating on the business model as market conditions change. For instance at Enomaly initially focused on the development of "virtual private clouds" for enterprises. We learned quickly that although there was a potentially huge future market for so called enterprise focused private clouds. In the short term given the macro economic factors, the market today was actually with service & hosting providers who saw revenue being lost to Amazon Web Services and other cloud providers. So we quickly adapted altering both our pricing and feature set to accommodate the needs of a hosting provider.

4. Product Features - Before you can be better you need to be as good as your competitors. Also it's important to focus on ease of use. Having the best technology is pointless if you can't use the application or get it installed. By using open source, all your problems are made visible to the world to see. Every software developer knows great software takes time, problems is most open source users expect perfection.

It's also important ask the tough questions beforehand such as "what are you willing to pay for?". Turns out the answer is typically something that will either save money or make money for the user.

5. Market Opportunity If you don't have any direct competitors, then you probably don't have any chance of selling your software or services. Most companies buying software, specially in an emerging sector like to have multiple options to choose between. Make sure a market for your product actually exists, this may also relate to building a community as a "market research" tool. Or could be a matter of looking at whether there are similar companies in your space.

6. Revenue Model - Being free or cheaper does not guarantee that you'll sell more unless you have a business model that can capitalize on your community. All too often open source companies attempt to build their revenue model purely focused on services. A services only model is difficult to scale requiring more human resources to make more money. Having a model that allows for both a free open source edition and paid sector specific edition is often a good direction.

At Enomaly, for the first few years we tried a combination of professional services and product development. Often our professional services would directly fund the development of our platform by allowing us to develop customer specific features that we "owned". This hybrid revenue model allowed us to bootstrap our business and quickly adjust to market conditions. The downside was traditional funding sources such as venture capital didn't look kindly on this and ultimately made it more difficult for us to transition to a pure product company since we had this "services" moniker following us.

During this transition to a product centric company we also needed to come up with a revenue model that scaled our pricing in tandem to our customers costs and billing models. This ensures that we grow with our customers. In a sense we want to act as a partner in enabling their success. The better they do, the better we do.

#DigitalNibbles Podcast Sponsored by Intel

If you would like to be a guest on the show, please get in touch.