32

This question is about selling FLOSS and its source-code. According to Selling Free Software and commercial purpose, Free Software can be distributed with or without charge.

My friend asked me two questions which I didn’t answer exactly, so I would like to ask one here, in order to know absolutely and explain.

Consider a company that produces Free Software (e.g., VLC under GPL), and sells that software at some price on its website and/or in compact disc form. Suppose someone (say Alice) bought it. According to the FLOSS license, Alice is free to redistribute with or without charge. If Alice publishes a copy gratis on her website in public, then anyone can directly get a copy from Alice, thus taking customers away from the original paid authors. Thus, I don’t understand the selling strategy of FLOSS. Help me to understand.


I know that some FLOSS packages are distributed with some paid services/maintenance and some with dual licensing (with proprietary software). But here I am talking about FLOSS-only open-source (no dual / with proprietary) licensing and not any services/maintenance charge.

In brief: How is selling FLOSS packages for monetary compensation a viable strategy?

1
  • 1
    I think this question is a bit of a red herring, since indeed this isn't a viable strategy and nobody does it exactly like this. Commented Jul 22, 2015 at 7:53

7 Answers 7

33
+200

Some years ago, before ubiquitous access to the Internet, you could sometimes make money on free software by selling it on a professionally produced CD-ROM. People would pay for having a verified version of the software delivered to them directly from by the primary source, (the company that authored the software), instead of shopping around for a cheaper alternative supplier whose version would be of unknown vintage and provenance.

That business model is dead now. Instant downloads from the Internet of a complete distribution is what is expected. Putting this distribution behind a paywall does not work, because Google makes it too easy to locate alternate suppliers that give users access to exactly the same tarball for free (i.e. without the paywall).

However. there are many different successful business models for Free Software and Open Source software in 2015, but selling the packages themselves is not one of them.

Wikipedia has a long article devoted to the subject.

I am not going to reproduce that long Wikipedia article here, but rather focus on the one of these business models I have personal experience with: Selling professional services - with a bit more detail than the Wikipedia provides.

The problem for many small software companies is to actually get anyone to look at their amazing software. If the brand is not well not known, or the software not generally acknowledged as "amazing", my experience is that it is hard to sell software the traditional way (i.e. making cold calls, spending money on advertising in magazines, having stands on trade shows, etc.) Just making prospective customers software notice your software may in some projects be just as expensive as writing it.

Also, if your company is small, your customer cannot be sure your company will survive. If they pay good money for closed source software, and the company behind it implodes, there will be no more support and no more releases. This renders most software useless after some time.

Making free software publicly available can be considered an alternative way of marketing that makes your software reach more prospective customers that traditional selling techniques.

Free software also comes with following advantages for the user compared to non-free software:

  • It is available from download on the Internet and they can try it out for free.
  • If your company implodes, the users are not left high and dry. Since they have the source code, they can get always get somebody else to support and maintain it.

However, so far I've only pointed out the advantages of free software for the user. You, the author, haven't seen any money yet.

What may happen if you do this, if your software truly is good and generally useful, is that you'll see thousands of downloads. Most of those will indeed use the software for free, and never earn you a penny.

However, you have users (hopefully thousands), and some of these users will want professional services. That this:

  • they will be willing to pay you an annual support fee, in return for you supporting them (hot-line for user questions, first priority bug-fixes, etc.)
  • they will be willing to pay you for specific customizations that address specific use cases
  • they will be willing to pay consulting and custom development, where you adapt and integrate your free software to their specific IT infrastructure

The business model for professional services is not unique to free software. This is the usually a profitable business model for proprietary software.

However, if you're a small software company, you may never see your software used by anyone if you go the proprietary route. There are too many barriers between you and any users. With free software, you may get thousands of users, and if only a fraction of those sign up for professional services, you will have a healthy business.

In addition to selling professional services, there also exists a business model that involves some free software/open source components that is called freemium.

In this business model, there is an application that can be downloaded for zero cost that is also free software (i.e. "free" as in "freedom" as well as in "free beer"). However, this application only provides some limited service. The service can be enhanced, either by buying non-free premium plugins that integrates with, and enhances, the free application, or the free application communicates with some SAAS (Software As A Servivce) web-service that only provides a very basic service for free. To "unlock" more functions in the web-service, the customer has to pay for premium services.

I have no personal experience with this business model, but the anti-spam tool Mollom for Drupal (available under GPLv2+) is an example of a project that is successfully using the freemium business model.

6
  • 2
    Similar business model as creating FLOSS software is "loss leader" strategy: selling cheap printers to sell more ink cartridges, cheap coffee maker to sell keurig coffee cups, etc. In this case, loss leader is given away free. Commented Jul 20, 2015 at 21:16
  • 1
    [I]t may be real hard to get a customer to even look at it [...] Their time is valuable, too valuable to spend on crippleware. Now that's a statement that needs backing up. I think if a rational customer finds a non-FLOSS software that can clearly do what they want easily, they'd rather pay a couple bucks than muck around with FLOSS packages that may or may not do what they want. Precisely because their time if valuable.
    – Atsby
    Commented Jul 21, 2015 at 1:51
  • 1
    I think a rational customer... Now that statement needs backing up, as "rational" customers might have different use-cases and goals in mind; short-term vs. long-term, for example. It's like saying "rational" consumers will always go to Walmart because their prices are lower and selection is greater. The long-term outlook, however, is that may have very negative consequences for their neighborhood economy, etc.
    – ILMostro_7
    Commented Jul 21, 2015 at 2:11
  • 1
    @Atsby, this is just my personal experience, trying to sell software that nobody had heard about. I found out the hard way that if you don't have a big advertising budget, it is really hard to get the customer's attention. I've changed it to reflect that this is a reflection on my personal experiences, not something that is universally applicable. Commented Jul 21, 2015 at 4:06
  • 2
    @Atsby Yes. But the problem is "if they find". If your customer knows about your product, and knows that it solves their problem, you have already cleared most of the big hurdles that a small software company faces.
    – Taemyr
    Commented Jul 21, 2015 at 13:37
12

To specifically answer the question of what the point of making allowances for people selling free software is, as why anyone would ever want to sell free software; consider, say, a TV. The manufacturers want a whole load of shiny features that connect to the internet, etc., so they decide to base the software on a fully-featured free operating system, along with free software to handle various other things, rather than writing their own. Then they sell the TV.

Like this, they're selling the free software, while not specifically making money on the software. The software is just a necessary part for the other thing they're selling — the hardware — to be of any use.

1
  • 2
    That is a very good point...
    – ArtOfCode
    Commented Jul 20, 2015 at 19:28
11

You are correct, selling FOSS packages for money is generally a bad idea: someone else will come along, promoting their free distribution, and take all your customers away. This is not a very viable business strategy.

However, what you can do is sell peripherals: little extra bits that nobody else has, that people will think are worthwhile paying for. This includes:

  • support
  • 'premium' features, whatever they are in your case
  • plugins
  • priority development (if you pay, I'll dev your request first)
  • enterprise integration services (sounds posh, really just means installing it for a company)

The last of these is especially of note. Companies are usually fairly willing to pay someone who knows the software (such as the developer) to install it for them, so that they know it's done right.

1
  • Thanks for improving question. As per comment, I edited question in order to focus on 1st question.
    – Pandya
    Commented Jul 20, 2015 at 16:29
8

Another way to earn money for developing FLOSS is by getting paid by companies that stand to benefit from it. One example is IBM. IBM is in the server business and it is in their interest to have a free, reliable and powerful OS to run on their systems. Therefore it made sense for IBM to pay people to develop a fork of Linux for their own servers as well as contributing to the main kernel development itself.

You can probably imagine an open source version of CAD software being developed by some large engineering firm in a similar way. Not because of any altruistic reasons but because they stand to benefit from a powerful piece of CAD software without expensive licenses attached to it.

Another way is to look at open source software like scientific research. Scientists are compensated by government and non-profit organizations to support their work. A good example of this is the Mozilla Foundation which funds development of the Firefox web browser. Scientific discoveries are considered a public good which benefits everyone which is why we fund them. An efficient general purpose web browser can be thought the same way.

7

I will answer the best I can. There are basically three distinct models I have had personal or professional experience with. I am a software developer, and thus my experience comes from that realm.

First, when making a profit on Opensource software, some times that profit comes from including that software in a larger package. For example, one of my clients used a Open source Credit card processing Library, to handle all their credit card processing. And while that client makes money off the library, that library is just part of the larger business model. To "give back" that client paid to have me write code that was pushed back to the library extending it's functionality. So the Library prospered, and the client's business prospered.

Second, the sale of services. Websites for example, run on Linux Servers (again for example). The providers of the servers (Lets say Linode) don't sell Linux but they sell their VPS hosting and management/support. Their business prospers by use of FOSS, and the FOSS prospers by gaining more server market share.

Third, By selling convenience. Any time a package or setup of FOSS is hard to do, selling the convenience of having it already setup is warranted. See http://docs.aws.amazon.com/AmazonDevPay/latest/DevPayDeveloperGuide/EC2PaidAMI.html for a common example. Your not really selling the packages themselves but the convenience of having them setup in a specific way. By extension I have seen some sell pre-compiled versions of their software while the source code is still covered under a FOSS licence. Growl for mac used to be under such a license.

Side Note: Many times a commercial open source application is Dual Licenced. For "free" you get the Open source version and a "agreement" that you will, in turn for using the code, "help out" in some way (submit bugs, write patches, tout applications etc.), or a more "restricted" license that you pay for but then don't have to "help out". For many companies it may be cheaper to by the "commercial" license then to "have to" publish source code back to the authors or to the people using the app.

So, to wrap things up, your specific answer is the third. Selling the convenience of a pre-setup package over a "configure it your self" package usually warrants monetary compensation. Using this method it's important to remember that "Your going to pay someone" rather it's your staff via training or support, the package maintainer, or the Support company (RHEL for example). Paying for the package is sometimes cheaper then the other two. Usually a company that decides to go this route offers "support" in addition to the sale of the pre-configured system. Support is a much more profitable sale, but you can sell just the package, but most people paying for a package will want some kind of support.

5

To add to excellent @Free Radical answer:

Similar business model as creating free FLOSS software is "loss leader" strategy: selling cheap printers to sell more ink cartridges, cheap coffee maker to sell keurig coffee cups, etc. In this case, loss leader is given away free.

For some applications, like ERP, cost of sale is huge (may take several weeks of highly qualified technical guru to show customer the features and customize it enough for customer to make buy/no buy decision). All this cost (tens of thousands of dollars) needs to be covered by profit from sales. If source is free, customer can try it (or pay experts to configure it before trying). So OpenERP can give code away, because value is not in code but in knowledge how to use and customize it.

Another way for FLOSS developers to make living is to develop custom features (for a hourly fee), which is possible (I asked) for FLOSS eCommerce framework Satchmo based on (another FLOSS project) Django, which is based on another FLOSS project - Python.

Turtles all the way down :-)

Another similar strategy which for-profit companies use is commoditize what your competitors make.

Commodity is marketable product which is bought based mostly on price, because one item can be replaced by another (gas, potatoes, electricity, pork, coal, iron ore, etc).

Back in days when hardware was expensive and software was added for free, Microsoft played that card on IBM, and commoditized personal computers market: many different manufactures made computers which could run MS DOS and Windows (and IBM, inventor of category of personal computers, was forced out of that market) - customers bought hardware based on price, because distinguishing factor was ability to run MS DOS. Recently, IBM is returning the favor: Operating system and basic infrastructure software is becoming a commodity, and distinguishing factor are services.

2

Software licensed on any GNU license, except GNU LGPL, cannot be "sold". Instead the company can charge some fee for the distribution itself.

As for your questions:

  1. Exactly, it can happen. So the correct selling strategy of open source software is to really sell implementation and/or customization services, know-how, technical support etc. instead of the software itself - OR sell the closed source parts (dual licensing, open core etc. - there are many possible techniques).

  2. In recent years "open core" software has become popular. Open core means that core software is open source and free to redistribute, but there are several external paid, closed source plugins and tools created around the core. Example: MySQL Community Edition and Enterprise Edition.

9
  • 9
    You are wrong. Software can be sold, and for a while Richard Stallman made a living by selling tapes with free software source code (vi editor, before internet provided better way to distribute sources). Free is free like speech, not like beer. Condition of sale of free (FLOS) software is access to source code, so buyer can make any changes. What cannot be sold is "license to use", like traditional for-profit closed source companies sell, where customer does NOT receive source code, and has no right to make any changes. Commented Jul 21, 2015 at 15:03
  • From the legal point of view, "selling the software" means "selling the license for the software". GNU licenses doesn't permit that, instead they only permit charging fee for distribution. Distributing the software for money differs from licensing, because the distributor can't stop others from further redistribution. So, from legal point of view, GNU software cannot be sold. Commented Jul 21, 2015 at 16:18
  • Selling means "I give you money, you give me something negotiable". You can negotiate whatever you want to pay for. Common use of software sale is license to use. Negotiable terms might be to use multiple copies for same user or many users, access to source code now, or later (code in escrow in case provider goes bankrupt), etc. GPL version 3 explicitly says (10. Automatic Licensing of Downstream Recipients.) that you cannot restrict selling or offering Program for sale. Commented Jul 21, 2015 at 16:32
  • 2
    @TomaszKlim: I can easily write some software, agree with you on a price, and then distribute it to you, with the license terms being the GPL. If you want to claim the GPL prohibits that in any way, feel free to point out the exact lines where it does. Commented Jul 22, 2015 at 8:25
  • 3
    @TomaszKlim If I write some code, you have no right to copy/modify/distribute it. I can offer to sell you a license. That license can be the GPL. Afterwards, the fact that I've granted one person a license to it under the GPL does not require me to (directly) grant that same license to anyone else; I can demand payment for doing so. The GPL only means I have granted you a perpetual license to further distribute the work under the same license, so I can't stop you from charging less (or zero), so it's a bit pointless for me to refrain from licensing it to other people.
    – Ben
    Commented Aug 4, 2015 at 9:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.