Companies like MySQL, RedHat and Zend (trademarks belong to their owners) make a lot of money from Free Software. This indicates that they have a Free Software business model, which really works. This is interesting, because when people discuss Free Software business models, usually there is a lot of handwaving. There are assertions, which are left unsubstantiated. However, the above companies found a business model, which really works. This business model goes as follows.
- If you are hobbyist and make no money from our software, then our software is free for you.
- If you make little money from our software, then our software is free for you, too.
- If you make a lot of money from our software, then you pay for using our software.
The above model works, when it works, due to the following reasoning.
- If you do not make money from our software, then you do not have the money to pay us anyway. If we demand money from you, you just stop using our software and switch to another hobby, in which our software is not needed. We prefer that you use our software, even if we get no money from you, due to the same reason Microsoft tolerated software piracy as a means for conquering a market for their software. We want you to find more uses for our software. We want you to debug it. We want you to contribute improvements to our software. On the other hand, you cannot make more money by having our software optimized for your environment, so you do not need support from us.
- If you make little money from using our software, then we would like to have a cut from your profits, as well. However, we cannot justify the costs involved in collecting from you. For this, we need to sign contracts, install licensing infrastructure, enforce licenses, incur badwill, and even support you if our licensing mechanism causes you problems. Therefore we would not collect money from you. However, we win from your using our software due to the same reasons as we would win from people who make no profit from using our software. There is also the chance that one day you will become a big business; or even come to make our software a critical part of your business infrastructure. Then the following applies.
- If you make a lot of money from using our software, then you have an interest in having the software work all the time. You want any bugs to be fixed promptly. You want support in optimizing the software. You can afford to pay us a lot of money, because the software makes and saves you much more money when it works and when it works with you in a smooth way. Therefore you would sign a support contract with us. Since big money is on stake, we can afford the transaction costs involved with collecting the money. If your optimizations and customizations are your trade secret, we license our software to you using a proprietary license.
A consequence from the above thinking is that not every software package can take advantage of this business model. For this, the software package must have the following attributes:
- Be useful for both private individuals, small businesses and big businesses.
- Be “tinkerable” i.e. facilitate development of enhancements and add-ons by individuals with bright ideas.
- Be such that optimizations and adaptations to meet special needs would yield significant profits or savings in the right place.
- Be critical to the functioning of some of the big businesses, which use it.
Typically, such software is dual-licensed, usually under the GPL and a proprietary license.