How Open Core is like Coitus Interruptus (from Control and Community)
On Saturday I wrote a review about 451 Groups excellent report on commercial adoption of open source, "Control and Community". There was one more thought inspired by the report I thought I'd better blog separately as it is kind of R-rated:
"Continuing to maintain the right balance of functionality between the freely downloadable open core and the commercial extensions is both art and science. It's critical to get that right so the model continues to grow and advance."
This is a comment I've heard many times in various forms. It addresses the inherent problem with an open core strategy: Too closed, and you lose any benefits you might have wished from being (partly) open source (such as user adoption, even market leadership). Too open, and you lose paying customers.
This kind of thinking has always disturbed me, and yesterday I finally figured out how to express the problem concisely.
My approach to business strategy - or anything in life really - is to avoid situations where you end up walking a proverbial fence, afraid of falling to the left side one day, and falling to the right side the next. I mean sure, you can get really good at balancing yourself on a rope, and then you can perform in a circus walking a rope, but what kind of life is that? Why not look for alternatives where you don't put yourself in such situations in the first place? Do something where you have a comfortable margin of error and can enjoy what you are doing.
So to once again throw in an analogy here (after all, it worked great last time, didn't it?):
Suppose you're out there having unprotected sex. (And suppose you're a guy.)
You might say that learning the right balance between pulling out too early, and pulling out too late is both an art and science really. I mean, if you pull out too late, you've got yourself trouble. But if you pull out too early, you get no satisfaction.
Do you see where I'm going with this? You're doing it wrong. So give up on open core, use a condom instead!