Wednesday, October 15, 2008

Who pays for open source?

Recently, Zack Urlocker posted an entry on his Infoworld blog, High volume is key for open source. He put open source users into two categories -

My view is that when open source products are most successful (and most disruptive), they serve two distinct markets: a nonpaying community and a paying enterprise market.

I think these groups are more like different ends of a user spectrum. I believe there is also a middle ground that defines the gray area between those that do pay for open source and those that might.

At one end of the user spectrum there is a large user group for any successful open source project who will never pay for the software. Within this group there is a small sub-set of people who will give back to the project in some other way such as submitting patches, feedback or answering questions on forums. Lets call these users the "passive community" and "active community" respectively. The best way to get value from this group is to grow your active community by making it as easy as possible for users to understand how to contribute and foster those contributions.

At the other end of the spectrum there are those that will always pay for open source software that has risk associated with it. By risk I mean that they rely on it to run parts of their day-to-day business. To these customers, the safety net of having a support agreement with the vendor is vital, typically they will also care about indemnity and warranty of the code they are deploying into their well-guarded production environments. If something breaks they want it fixed right away, so going with the vendor is the safest and most reliable option.

Then there are the people in between. These users will use the software in production even for mission critical applications. Generally, they will consider purchasing from the vendor but this consideration has a lot of variables that stem from the needs of the customer and the offering from the vendor. Customer considerations often include -

  • Is the application mission critical? People don't pay to support applications that have little or no impact on their daily operations.

  • Can we absorb the cost? I would guess that 100% of IT start-ups use open source software to build their applications ad infrastructure. There is no way they are paying for anything unless they are making money.

  • Can we support ourselves? Often, customers think they can support themselves without the vendor. This is obviously fine and one of the upsides of open source software. However, in my own experience I've seen that often customers take a "bad path" when designing their SOA/integration solution, just because they didn't understand what could be done with Mule. Talking to MuleSource early would have saved a lot of pain later on.

  • Do we have the right team to self-support? If customers build their solution in-house, they will answer yes to this question. However, I've seen users say they can support themselves then realise that their mission critical system is supported by 6 contractors. Given the current climate, those guys may not be around for too long. Often there will be a champion of the product in the organisation that introduces it. What happens when that person leaves?

  • Do we know we are running Mule? As Matt Asay points out, it's fairly common that an SI will introduce open source products into a customer environment without the customer knowing it. What if something goes wrong and the SI cannot fix it?

From the vendor perspective appealing to this middle group should be approached with an emphasis on value. Always ask "what problems do we solve for the customer with our commercial solutions?" rather than "here is what I can sell you".

The meaning of value will vary greatly from market to market and customer to customer. You can define value in different ways such as additional product features, tools, premium content such as knowledge bases, indemnity, services, training, support and of course pricing.

Ultimately, You need an acute understanding of your users and customers to ensure you strike the right balance between your open source offering and commercial offering. It boils down to making decisions that embrace your user community and provide value to your customers. You will find yourself make distinct decisions for users and customer, but must always consider both carefully before arriving to a conclusion.