Getty Images/iStockphoto

Last week's article on Linux for older hardware set a new record for Linux-related articles, in that I did not get even one threatening letter. I did, however, get a bunch of email asking business-related questions about Linux and open source.

A reader named Hermann sent me a comment that serves as a good starting point: "I don't see how these Linux and open source companies can afford to make good software and still make it free."

Hermann has a point, but it turns out there are a lot of ways to make money from free software.

How demand fuels commercial software development

Let's start with the issue of demand. The more specialized a type of software is, the fewer users there will be. Generally, the fewer users, the smaller the market opportunity. The smaller the market opportunity, the fewer the number of companies that will invest in developing applications of that type.

DIY-IT Project: Software business crash course David Gewirtz was a director of the Software Entrepreneurs' Forum, an executive at Symantec, had the title of "Godfather" at Apple, and ran an award-winning tech company for 20 years. Now, he's here to help you start your own software business. Buckle up! Read More

There's actually a bit of a bell curve in the demand/developer ratio for commercial products. Usage areas with very few users have very few developers who are willing to invest. But applications like office suites, which are dominated by a few incredibly powerful players, also have very few companies creating them (although they tend to spawn substantial aftermarket ecosystems of add-on products).

In the middle, there are a great many commercial software companies developing software for a wide variety of needs. In some cases, smaller total available market means lower revenue. But many software companies compete quite well in small markets. Small markets with specialized needs also foster very profitable vertical development opportunities, with companies that sell expensive solutions complete with deep customization and support services.

In a sense, then, Hermann is right. A well-run, profitable software company must develop for a market that can support its investment. After all, the company has rent, salaries, benefits, and cost of doing business to recoup, as well as investors who demand a reasonable return on their investment (ROI).

When ROI isn't expected or needed

But open-source software is fueled by a variety of economic models. Many open-source projects were originally created because the developers themselves needed a solution for their own use, and then chose to release the code as open source.

This can happen when an individual or a company doesn't really want to be in the software business but wants to provide value to others for free. Sometimes, they hope that by releasing their project to open source, they can multiply their development resources for free, without having to hire more coders.

Other open-source projects begin in educational or nonprofit organizations, or as a result of a hobby project. No matter what, a piece of software comes into being with an open code base, but without the need for a business plan guaranteeing an income stream. For this model, there is no promise of ROI needed before investing in the software.

Other economic models

There are other economic models that drive open software, including community editions and freemium. In general (these terms can often blur together), a community model is one where a company builds a product that it then releases as open source. That becomes the community edition, a version of the software where the company doesn't invest any support resources, and it's up to the users to provide ongoing support.

Where a community edition model company makes its money is on installation and support, and sometimes on additional premium features. Customers who don't want to do all the hard work themselves pay the company for support, training, maintenance, and any other service-related opportunity the company can come up with.

One example of a company with a community edition is SugarCRM. It was founded in 2004. Back then, it strongly promoted its community edition. The marketing benefit to it was that a community edition is, in a lot of ways, a free trial. A lot of users will test a free download. A subset of those users will convert to paying customers.

Today, while the community edition of SugarCRM still exists, you'd be hard pressed to find a download link by simply navigating to its main site. I had to Google "SugarCRM community download" before I found the right page.

The freemium model

A variation on this model is the freemium model. This can take a number of forms, ranging from a downloadable free product with a so-called "pro" upgrade, to a core free product with commercial add-ons, to a vendor-hosted, maintained SaaS version.

One company that mixes these approaches is Odoo, which used to be known as OpenERP. Odoo has a free downloadable community edition, (which you can install on your own server), a per-user enterprise edition (which can also be installed on a server), and a hosted version (which customers also purchase by the seat and the month). [Corrected spelling of company Odoo, not Oodo. Oopso.]

This approach allows Odoo to reach users who might also contribute back into the product but don't want to pay for it, users who want to manage their own servers but have additional support services, and users who simply want a SaaS solution.

Linux companies like RedHat and Canonical, the company behind the incredibly popular Ubuntu Linux distro, also make much of their money from professional support services as well. If you think about it, software used to be a one-time sale (with some upgrades), but professional services are an ongoing annuity. That's a big part of why companies like Microsoft and Adobe moved to subscription programs. Those annuities are quite profitable.

The add-on business

Another way open source companies make their money is with add-ons. One of the most successful of these is WooCommerce. At the time it was acquired by Automattic in 2015, it powered over 25 percent of all ecommerce stores. The base product was a free download that was a plugin for WordPress (itself an open-source project with some commercial components). But the way WooThemes (the parent company of WooCommerce) made its money was in selling many different add-ons to the base online store product.

If you think about it, this is how almost all money-making apps in mobile app stores make money. Most of the apps aren't open source, but they offer a starter app that's a free download, and then offer in-app sales, which fuel their revenue stream. Given how much money some in-app purchases make for their vendors, especially on popular smartphone games, you know it's a viable revenue model.

WooCommerce also shows another way open source projects can make money. By building up a huge user base, it created value. Automattic saw that value and paid a reported $30 million to acquire the company and its 55 employees.

While we're on the subject of Automattic, let's discuss its business model. Automattic makes much of its money through hosting services, where they offer a customized SaaS version of WordPress for free, but sell add-on services. These range from allowing the use of a custom domain name all the way up through managed hosting for very high-profile (and high revenue) websites.

A vibrant software industry

In this article, we've barely scratched the surface of how Linux and open source companies make their money. Wikipedia lists sixteen different business models in its article on the topic.

There are many models for open source profitability. There are also, undeniably, many challenges. Mostly, I'd like you to take away one encouraging and important point: there actually are lots of ways to make money in software. Even though the old, 1990s model of selling software on disks and in packages through retail stores is thankfully long dead, the modern software industry is vibrant, creative, and exploding with possibility.

You can follow my day-to-day project updates on social media. Be sure to follow me on Twitter at @DavidGewirtz, on Facebook at Facebook.com/DavidGewirtz, on Instagram at Instagram.com/DavidGewirtz, and on YouTube at YouTube.com/DavidGewirtzTV.