By gravax on Jun 13, 2007
So you're considering writing your application and making it available
in open source. But you're also hoping to make a profit from it. And,
frankly, you're wondering how you're going to make a profit by offering
a product where you make all the sources available for free. Rejoice!
Quite a few people have had this same situation before and have come up
with some pretty good ideas.
We're going to look at a few of them here.
I'm going to assume, here, that you've already sorted out what kind of licensing your software will be published under. If not, look for a soon-to-come entry in my blog about open source licensing and I'll give you some guildelines on how to pick the correct license(s) for your project.
Here are six of the most common business models around open source.
Under a dual license model, you would publish your product in 2 ways. One would be an open source license, say GPL, CDDL, BSD, so free to download and use and modify. The other would be a different license, possibly a commercial one. In this case, you would probably elect to bundle, with your original software, additional features that bring value-add, justifying that a customer might want to purchase that bundle rather than download the purely free open-source block.
Some of the features that you could consider bundling might include :
- Multiple dictionnaries for spell checking (case of Sun's Star Office, compared to OpenOffice.org which only comes with one dictionnary by default).
- Fancy administration tools
- Enterprise-class management / monitoring
Picking the right set of additional commercial features is critical to generating demand for the commercial version of your product, so should be the fruit of very serious thinking.
Here, you aren't really selling a product, but rather services around your products in order to make it useable in enterprise deployments. So for example, you'd be looking at offering services like :
Your typical customer running a mission critical sales server would not want to do that without a very efficient support service available to help them fix things if their system breaks down smack in the 15 days before christmas when they make 80% of their yearly revenue... And they will pay for that kind of support.
Some companies like JBoss (now part of Red Hat) have become very popular using just that model.
Sun now offers most of its software products also under that model. You download and use Solaris for free, but we'll offer you world-class support contracts to ensure proper response to incidents should they happen.
Sun develops a free Grid Engine. You can download it. You can use it. But we've built a grid for you that you can connect to, and purchase CPU cycles on, in order to upload your applications on it, or use the ones we provide, to run your enterprise on by processing your data sets.
Companies like SalesForce.com also have a similar model
This is one very nice area of the open-source community where everybody benefits from the work done. This model has led to the creation of many local businesses, as well as whole divisions of global comsulting firms, that specialize in delivering consulting services around existing open-source software. They will take a set of products that they consider being interesting by their standards, and offer a whole set of services around them
This is interesting in many cases, but here is a particular example of where it benefits the original software author. Suppose that the software author is a local company in, say Europe. They don't have the size to distribute and, more importantly, support, their product all over the planet. But if their product is sufficiently interesting, chances are that they will have users on every continent. So what do they do? Probably nothing... because in places where there are enough users that have shown a need for proper services around the products, there will likely be some small, local, but highly competent groups of people that will set up a structure to distribute, and more importantly support with services like first level support, integration, training... your product. You might even want to consider striking a partnership deal with these local structures and make some money off of it, to your mutual benefits.
Near where I work in Geneva, there's a small company called LynuxTraining. They do just that with their sister company LynuxSolutions.
Some companies have found that they could build a very fancy product, but that they could gain a lot of time by not re-inventing the wheel, but, rather, by re-using something already available. In most cases, this will be something like an infrastructure component. Think about it. If you are going to build a computer, will you design your own CPU? Probably not (though in some cases, this has been known to happen). Well, same applies to things like an operating system. If you are going to build an appliance, you might want to use an existing operating system. You will pick that OS according to the needs of your appliance. Do you need real-time? You might pick something like QNX. If you're building an extremely secure security appliance, like AppGate's Security Server, you would pick Sun's ITSEC EAL 4+ certified Solaris 10. You might even want to build a vertical solution for office automation based on the open-source OpenOffice.org. Be careful what license governs the product you pick to embedd, as you might be forced to give away some or all of the source code of additional code you've written to make your whole product due to license contamination issues.
This isn't per se a business model. Rather, it's a way to generate indirect revenue. The point here is to drive, actively participate in, an open source project, to ensure that it becomes successful. If it does, you hope that the reputation of your company will increase from it, and that it will drive customers to you. It's not easy to live just from that, and you might want to combine this model with some of the previous ones above in order to ensure a viable revenue stream.
There. You have it. Of course, this isn't a definitive list. I'm sure that the open-source community with it's very bright minds will (probably already has) come up with new, more creative, models for making a living from their collaborative work. So will you.
Now you have an interesting subject of reflexion while you create your business plan that you will present to your future investors, that will show them a proper potential for profits!