|  | 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. It's true that open-source software is free for the taking and that 
      millions of copies of open-source programs, drivers, scripts, and 
      extensions are downloaded over the Web with no money changing hands. It's 
      also true that open source is a growing market, and that more people are 
      making money at it. So how do you , a developer, go about it? 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 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 businessesOne 
      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 
        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 usersAnd 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 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 marketHow 
      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 licensesIt'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 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 LicenseIf 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 X11R6.4 at the Open Group site is the simplest example 
        of a BSD-type 
        license.
        Mozilla Public 
        LicenseThis 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 contributed portion. If people want to 
        modify and distribute the protected portion, they can, so long as they 
        also distribute the source code for the modifications. If they want to 
        change the software but keep their modifications private, they can 
        distribute them without source code and must access the protected code 
        only through its API. If they need to make changes to the API of the 
        protected code, they can, as long as they distribute the source code to 
        those changes. This license makes a neat bridge between the fully-open 
        world of the GPL and the closed world of the BSD/X licenses.
 Proprietary opportunities with 
      open-source software Finally, there are opportunities to 
      make money with proprietary binaries using your knowledge of open-source 
      software. For instance, Loki Entertainment Software noticed that games 
      were popular with Linux users, and that many popular games were not on 
      Linux. They licensed the porting and distribution rights for Civilization, 
      Railroad Tycoon, and other games; did the porting; and then licensed to 
      Macmillan Publishers the exclusive distribution rights for these Linux 
      games. Macmillan had experience bringing Red Hat Linux into wide 
      distribution, and it fed the Loki games into this channel. Result: Now you 
      can buy the Linux version of Civilization anywhere. Loki is working to 
      expand its market by involving Yellow Dog Linux in porting the games to 
      the PowerPC. All of this was done in a year.
 The new marketplaceAs the 
      Linux market grows, there will be more users than Linux experts. This will 
      provide opportunities for the integration and support businesses described 
      above. The value that open-source people place on personal independence 
      makes it likely that most of these businesses will be small.
 The open-source community has long been working and waiting for the day 
      when Linux becomes widely used, and developers will be able to develop for 
      a popular platform on which no vendor has a secret advantage. But the 
      vendors in this new world may find it looks much like the world we now 
      have. There will be no Very Large Software Company to scare ISVs into 
      sticking to the niches, but any vendor with a horizontal product (that is, 
      one in wide use), will face a host of competitors. Both the number of 
      competitors and the availability of useful free products will help drive 
      down application prices and profits. And vendors of widely-used 
      proprietary products who keep their prices too high may find their 
      products cloned! As a result, vendors will find they can make more money 
      in the niches--where they are today.  One of the largest shifts in the software world (if it happens) will be 
      the migration to Web-based applications. Linux is a natural for such an 
      environment because of its remote-management capabilities. This predicted 
      shift will involve not just a different technology, but a new economic 
      model as well: Application software will become less of a product and more 
      of a service. Competition between application vendors might take place 
      along one of two different lines: as proprietary products, available from 
      a single vendor or its multiple online service dealers; or as open-source 
      products, maintained and improved by the community, but available from 
      integrators or support organizations. These organizations will receive 
      annual fees in return for installing and supporting the applications in 
      their customer organizations. There are no guarantees you'll make a fortune in open-source software, 
      but there are increasing opportunities to make a living in this new world. 
      Just keep your eyes open, find a need, and fill it. Resources 
       
  
 |  |