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.
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
Here are six of the most common business models around open source.
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
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.
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 :
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.
"Utility Computing". Some of your customers just don't want to run a
datacenter. Let's face it, their company isn't in the business of
running computers, it's selling the products they make or trade. So why
invest hundreds of thousands of dollars in running a datacenter when
others can do it for you. Well, that's where you come in. You make your
software available for free. Fine. You even give away the sources.
Better. But you (directly on your site, or through a partner hosting
company) offer also that software as a service, for a fee.
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
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
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.
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.
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!