[PDF]How to make money with open-source softwareMaking money on a free lunchDonald K. RosenbergStromian TechnologiesAugust 1999
Please sign in to contact this author
developerWorks : Linux : Library - Papers
http://www-4.ibm.com/software/developer/library/license.html
l=H s
_
(
d
Home I News I Products I Services 1 Solutions I About IBM
ShopIBM
Support
Download
Search
Go|
IBM : developerWorks : Linux overview jLibrarv-papers_
How to make money with open-source software
Making money on a free lunch
Donald K. Rosenberg
Stromian Technologies
August 1999
The software may be free, but that doesn't mean you can't make money in open source.
Consultant Donald Rosenberg tells how a developer with open-source skills can choose
among various business models and licenses. Developers wanting to become software
vendors will have to decide how much control they want over their software, from full
proprietary protection to a completely open license (GNU General Public License), or degrees
in between, such as the Mozilla Public License. Donald introduces you to the key licenses and
explains how they differ from one another.
Contents:
Types of
businesses
Listening to users
Going to market
Types of licenses
GNU GPL
BSD or X License
Mozilla Public
It's true that open-source software is free for the taking and that millions of copies of License
open-source programs, drivers, scripts, and extensions are downloaded over the Web with no Proprietary
money changing hands. It's also true that open source is a growing market, and that more opportunities
people are making money at it. So how do you, a developer, go about it? The new
marketplace
The simplest, easiest way is to keep on doing what you love: writing code. There is a growing
demand for people with your open-source skills. Your chances are greater than ever of finding lli( ;31ii l ' !
a job using your expertise in Linux, sendmail, Apache, Perl, Scriptics, or Python. You can be a
regular employee or a contract employee, moving from job to job.
But you're probably reading this because you want more independence and would like to go into business for
yourself. As an employee, you need one main thing: your expertise as an open-source expert. As an
independent developer, however, you will need not only your open-source expertise, but also the ability to be
your own boss, marketer, salesman, and business manager (are you sure you want two full-time jobs?). In
short, you're going to have to go beyond being a developer.
Types of businesses
One possibility would be to sell Penguin mugs, t-shirts, and such to the open-source community and to anyone
else who wants them, but this business would make minimal use of your developer skills. Strategies that would
call on both your open-source and business skills would be:
• Systems integrator or Value-Added Reseller (VAR). Any salesperson in a new business has to be an
evangelist: You will have to promote both your business and open source. A systems integrator sells and
installs computer systems, both hardware and software. You can set up small businesses with
remotely-manageable, never-reboot Linux systems, or you can install Internet (Web and e-mail)
operations in any size business. You are buying, reselling, and adding your expertise to deliver the best
solution to the customer's problems. To help developers get into this business, some Linux lovers have set
up a Web site telling how to run a Linux consulting business .
• Help desk or training (support). This business is not installing new systems, but helping users keep their
open-source systems running. Unlike smaller systems integrator operations, your support organization will
need to hire people to man the phones (around the clock for important customers); training can be done
remotely or on site. You will need to plan on pricing and procedures for sending out personnel to solve
problems on site as well. Your business might contract directly with end-users, or subcontract to a systems
integrator to provide the support for the integrator's customers.
• Custom software development. Think of yourself as a systems integrator without the hardware sales.
You custom-produce applications or Web sites to solve the customer's problem. You might be working
l of 5
1/31/00 10:27 AM
developerWorks : Linux : Library - Papers
http://www-4.ibm.com/software/developer/library/license.html
directly for the customer, or for the end-user's systems integrator. If John Ousterhout is right about the
growing role of scripting in application development, there will be plenty of work for Scriptics, Perl, and
Python developers. If you are careful to work strictly with open-source licenses, you will be able to re-use
your work for other customers and build up a collection of solutions. If you are working with proprietary
software, be sure to have your customer agree how much of the work you will be able to keep title to, so
that you can use it in future projects. If nothing is said in the contract about who owns the resulting work
(such as, "this is a work made for hire," meaning the customer owns it), then the presumption is that you,
the developer, have title to the work, and you can then grant permission for the customer to use it in the
form of a non-exclusive license.
One change that open source will make in this market is that developers will no longer be able to keep
their customers captive by having closed or obscure code that no one else can understand. If you are
following open-source procedures (that is, supplying unobscured source code), then you will need to rely
on good service and pricing, besides good product, to retain your customers.
• Hardware vendor. The hardware comes with an operating system, of course, and often with additional
software. Systems integrators don't make much money on hardware (they add value in understanding
what the customer needs, installing it, and making it run), but notice that both resellers and manufacturers
are doing well with hardware carrying open-source software. Cosmos Engineering began by selling hard
drives with Linux installed and moved on to computers; VA Linux and TurboLinux (formerly Pacific HiTech)
are doing well selling systems. Manufacturers of specialized hardware, such as Cobalt Networks and
Whistle Communications (now part of IBM), provide a complete Internet-server installation, ready to plug
in. You can use off-the-shelf hardware and open-source software to make a ready-to-run product. You
make your money on the value you add in tuning everything to work together efficiently, right out of the
box. Your customers will be both end-users and systems integrators (the integrators will provide any
customization needed by their end-user customers). End-users could include any business, but especially
ISPs.
• Software publisher or Independent Software Vendor (ISV). There is money to be made in distributing
open-source software; the key is to add value in addition to the bare software. The most familiar example
is Red Hat Software, which makes money distributing Linux in boxes while it gives it away over the Internet
(and while other people sell Red Hat Linux on $2 or $3 disks). But having a leading brand does not mean
there is no room for others. Users obviously have different preferences, and the smart publisher will serve
those preferences. SuSE is doing well around the globe; Caldera has targeted the wing-tip crowd;
TurboLinux has moved from a hardware vendor to a Linux publisher with its namesake distribution; and
Slackware and Mandrake have loyal followings.
A software publisher can publish the work of others, or it can develop its own products. This is the
high-wire act of computer marketing. Profits are higher here, but risks are greater, and problems of
marketing and distribution are at least as difficult as the development problems. It is hard to get both right.
If you're publishing a distribution of Linux, at least your customers know what Linux is; if you're publishing
applications, the education burden is all yours.
Listening to users
And now a word of caution: Be sure your product is something other people want. People who truly love
technology-like developers-admire technical accomplishment and ingenuity for their own sake. Add to this
prejudice the pride of parenthood, and you have a serious blind spot. End-users-who don't spend every waking
moment thinking about cool software and who focus instead on making their own lives and work easier-do not
admire technology just because it can be done. They are unlikely to understand your product unless they can
relate it to their own needs. These people are your customers.
With proprietary software, you test the market by putting out your software as an executable, as time- or
function-limited shareware or as freeware, and then follow up with your takers to see how they like it and are
using it. Start with a few customers, and listen carefully to their reactions. Ask them what changes they would
like-you may be surprised to find that they want the software to be simpler. If they want it simplified and say their
friends would like it, you may have a horizontal application on your hands (or even a killer app!). But if they want
customization of it, you may be headed down the road to becoming an integrator rather than an application
vendor.
In these small-scale beginnings you will be more successful if you stick with a niche market, generally building
2 of 5
1/31/00 10:27 AM
developerWorks : Linux : Library - Papers
http://www-4.ibm.com/software/developer/library/license.html
on your own expertise in that niche. Because a niche market is a small, specialized neighborhood, you can hope
people will talk about your product and bring you more customers. Finally, if you did have a widely popular
product, a Very Large Software Company might start to integrate your functionality into their Very Large Product.
You are safer in a niche.
With an open-source product, your software is immediately available to anyone who can find it. Although
feedback from the development community will give you some guidance on what end-users will want,
remember that unless it's a tool, developers are not end-users. Just as with a proprietary product, you will have
to promote your product to the niche users most likely to want it, and you will have to heed their suggestions
about the product. A niche strategy lets you focus your resources for the best results.
Going to market
How rapidly can you get up and going? While open-source developers like to point to shorter development
times and higher quality of their software, the truth is the newly-formed companies that make the most noise are
those with products that have been around the longest and have a proven market. Because the
developer/sysadmin niche is probably the most heavily developed part of the open-source market, it's not
surprising that the marketed products described here are tools rather than end-user applications.
Scriptics Corp. was set up to commercialize Tcl/Tk. The core product remains free; Scriptics does training,
enhancements for niche markets, and other customization. In-house programmers and a useful Web site help
keep future development centered on Scriptics.
Sendmail, Inc. commercializes the famous sendmail program by providing consulting, a large part of which
involves installing and configuring sendmail for sysadmins.
Sleepycat Software started with a shorter time frame, and from a smaller base. Like the founders of Scriptics
and Sendmail, the founders of Sleepycat originated their software as an open-source project (Berkeley DB) and
then formed the firm to commercialize it. Their database is available under an open-source license to any user
or vendor who agrees to pass along all the source code for the product and any modifications. Sleepycat will
issue a special license to those vendors seeking to keep their modifications private. This is an OEM license; that
is, Sleepycat software becomes part of the vendor's product. As copyright holder, Sleepycat can distribute its
software under any license it chooses.
Digital Creations puts out the open-source Zope application server. The software is free, and there are no
license fees on the derivative Web sites. The tool attracts attention to the company's Web site development
business and serves as an advertisement for the technical prowess of its inventors. Users may take advantage
of the free software, but Digital is betting some customers would rather not go to the effort of learning and using
it, but would rather hire its creators for the job.
Types of licenses
It's the open-source licenses that make open-source software so different from other software, and these
licenses are hard for both insiders and outsiders to understand. Just remember that the license you choose will
depend on what sort of business you want to run. Before we talk about specific licenses, remember this: Always
put a copyright notice on your software. If you really intend to make money with it, register the copyright to
increase your chances of winning any future disputes.
As copyright holder, you acquire a set of rights, any of which you can pass on (or not) to the people to whom
you license your software. Proprietary software licenses, for instance, pass on very few of these rights to
customers. As a copyright holder, you can even use different licenses with different types of customers. For
instance, you could use the GPL for customers who agree to keep the product and changes to it open, and
another license (BSD-type or X license) for customers who want to keep the source code for their changes to
themselves. All three of the licenses described below are approved by the Open Source Initiative as conforming
to the Open Source Definition.
• GNU General Public License (GPL). If you want your software to take advantage of the expertise of the
programming community, and have the widest possible distribution, choose the GNU GPL. Developers will
be more likely to contribute if they do not feel that their contributions are going to be taken private by
someone, and you will enjoy unhindered distribution of your product. Development effort will center on you
(as long as you keep in touch with your developer community). You'll make money, not on the software
itself, but on supplying it in convenient, tested form, in proprietary enhancements (which must not be
3 of 5
1/31/00 10:27 AM
developerWorks : Linux : Library - Papers
http://www-4.ibm.com/software/developer/library/license.html
compiled or statically linked with the GPL'd code), and in customization. You can feed these
improvements back into the GPL'd code as the program makes progress.
• BSD or X License. If your end-users are vendors who intend to modify your product and sell it to their
market, they may prefer this type of license, which keeps modifications private. The vendors then know
they are the exclusive purveyors of their enhancements. There is, however, an incentive for the vendors to
feed their improvements back into your code: Once their proprietary improvements have been imitated by
their competitors, they'll grow tired of supporting the changes themselves. Once the advantage of a
change is gone, it's easier for the vendor to make it public and to move on to other private improvements in
search of a competitive advantage. The X Window System License for X11 R6.4 at the Open Group site is
the simplest example of a BSD-type license .
• Mozilla Public License. This license enables you to protect your code while sharing it with others. Your
software (and any improvements to it) are divided into two parts: the protected ("covered") portion and the
>>>