Many free software developers would like to earn a living doing what they love. This is often thought to be tricky, since you can't just sell licences. Here's a list of business models for software freedom, with short commentaries.

  • Support contracts mean that users of the software, typically business users, pay for support: for help solving any problems they have with the software, such as fixing bugs, or helping with deployment or problems during use. This is a very common, and ideologically perfect business model.

  • New feature development is often combined with support contracts. Some support issues are due to missing features, and some users are happy to pay for their development. Also ideologically pure.

  • Consulting is a generalisation of support and feature development, and can also include giving advice on which software is the best solution for the customer, and help integrating the software with the customer's existing systems. Still ideologically pure.

    Example for this and the models above: a myriad of companies providing bespoke Linux kernel development.

  • Training is also a popular business model. New software is frequently a bit scary to users, and it takes them a while to properly up to speed. Training can make the transition easier, so it's worth to some users. Ideologically pure.

  • Hosting is an option for some software, particularly services accessed over the network, where the customer doesn't want to do the hosting themselves. This might be hosting for a specific customer, or for the general public. Ideologically pure as the driven snow. Example: Branchable.

  • Sponsorship is a possible way to be paid, but is probably harder to achive than an actual business. Sponsorship would probably come from organisations who get a publicity boost from supporting the project they sponsor. Example: OpenSSL via the Linux Foundation infrastructure project.

  • Donations and crowd funding are fashionable these days, but somewhat difficult to be successful in. They probably mostly only work for projects with a large number of users. For projects that aren't ready to use yet, they'll probably only succeed if they provide something that a lot of people want. Example: git-annex.

  • Open core is a name for the model where a project is free software, but there's a proprietary version with extra features (often called community vs enterprise versions). This is somewhat iffy from a software freedom point of view: it is effectively a proprietary software model with an limited open source version for marketing purposes.

  • Double licensing is like open core, except there's no real difference between the two versions. Paying customers just get the software under a non-free license, which sometimes is preferable to corporations than a free software license. Still iffy.

  • Merchandise can sometimes be a way of making a bit of extra on the side, but rarely enough to live on. Examples are t-shirts, stickers, and books. This is ideologically pure again.

As with everything else, making money out of free software is not automatic. If you want to run a business, software freedom is not a hindrance, and you'll still have to work hard to be successful.