I've spent the last two days with Alfresco's management team, reviewing our past quarter and planning for the next one (and coming year). In talking through our licensing model (which, by the way, has been an absolute success by every metric), it struck me today that there is an optimal point to open source one's code.
Figuring out when you've reached that point, however, is not always obvious.
Generally speaking, companies have three options:
- Right from the start.
- When adoption has kicked in but needs fuel.
- In the hopes of resurrection when your product's market has largely evaporated.
Let me explain these each in turn.
Open sourcing one's product from the very start is arguably the easiest, because it avoids all sorts of messy, complicated decisions later. You go 100% open source. You rely on a killer project and strong community to achieve ubiquity, and you look for ways to monetize the growth. Simple, right?
Well, maybe. Without a brand to carry one's clout as the source of the code, it becomes that much harder to build a business around the source code. In other words, being the "source of the code" means a lot only when one's company (or project) means a lot. Until that point, it's just random code that anyone can hijack with relative impunity.
This led me to once wonder if how fast one could open up was in some way related to how mature one's brand was:
Maybe, maybe not. But I do recognize the concern, at any rate, that opening up before one's brand can sustain a decision to purchase from the project lead instead of someone else is a valid point. (Of course, even more valid is the argument that if no one cares about the project in the first place, isn't this a moot point?)
The second "opportune" time to open up comes when a project - either hybrid source or closed-source - is having some success but greater adoption is needed to take the project to a higher level. Or perhaps a competitor has entered your market and you're looking for a way to disrupt their business before they encroach on yours. Open source can help.
Open source is arguably easier at this point, as noted above, because one's brand is more solid. The problem is if a company waits too long to the extent that the market passes it by, at which point it is forced to go with Option #3.
This third option is also known as "bankruptcy" or "project irrelevance." If you hope to gain relevance by open sourcing a loser product, I have news for you: garbage into the open source licensing funnel, garbage out of said funnel. Open source doesn't magically change rubbish into gold. If anything, it just exacerbates just how weak the product is.
I personally feel that open sourcing from the start is the best strategy, though I'm sympathetic to those who feel that they can't release their source code fully until they have other value (brand, services, etc.) to offer around it to carry a purchasing decision. Regardless, if, in fact, it is easier to open source as one's brand/etc. is stronger, we should be seeing more hybrid open source companies fully opening up, for example. (Indeed, I would cite SugarCRM's adoption of GPLv3 for its Community product as indicative of this.)
At some point, to be wildly relevant to the market, adoption is required. The best way that I've seen to achieve rapid adoption is through open source. The best way to reach new accounts in saturated markets is also through open source.
Or you can go out and buy customers through acquisitions as Oracle, IBM, and others have been doing. This is a clear sign that the traditional sales model isn't working well for them. Open source offers a less expensive way to achieve the goal of finding new customers.)