Free as in puppy: The hidden costs of free software

365 readers like this.
A dollar sign in a network

We're used to hearing of software being described as "free as in freedom" and "free as in beer." But there's another kind of "free" that doesn't get talked about as much: "free as in puppy." This concept is based around the idea that when someone gives you a free puppy, that puppy isn't really free. There's a lot of work and expenses that go into its daily care. The business term is "total cost of ownership," or TCO, and it applies to anything, not just open source software and puppies.

So if the free puppy problem applies to everything, how is it important to open source software specifically? There are a few ways. First, if you're already paying for software, then you've set the expectation that it has costs. Software that's free up front but costs money later seems like a major imposition. Secondly, if it happens on an organization's first open source adoption project, it can put the organization off of adopting open source software in the future. Lastly and counterintuitively, showing that open source software has a cost may make it an easier "sell." If it's truly no cost, it seems too good to be true.

The following sections represent common areas for software costs to sneak in. This is by no means a comprehensive list.

Setup costs

To begin using software, you must first have the software.

  • Software: Just because it's open source doesn't necessarily mean it's gratis.
  • Hardware: Consider the requirements of the software. If you don't have the hardware that (this could be server hardware or client hardware) you need to use the software, you'll need to buy it.
  • Training: Software is rarely completely intuitive. The choice is to get training or figure it out on your own.
  • Implementation Getting all of the pieces in the same room is only the start. Now, it's time to put the puzzle together.
    • Installation and configuration: At a minimum this will take some staff time. If it's a big project, you may need to pay a systems integrator or some other vendor to do this.
    • Data import: If you're replacing an existing system, there is data to move into a new home. In a happy world where everything complies with the same standard, this is not a problem. In many cases, though, it may be necessary to write some scripts to extract and reload data.
    • Interfaces with other systems: Speaking of writing scripts, does this software tie in nicely with other software you use (for example, your directory service or your payroll software)?
    • Customization: If the software doesn't meet all of your needs out of the box, it may need to be customized. You can do that, but it still requires effort and maybe some materials.
  • Business changes: This new software will probably change how your organization does something—hopefully for the better. However, the shift isn't free. For example, productivity may dip initially as staff get used to the new software.

Operational costs

Getting the software installed is the easy part. Now you have to use it.

  • More training: What, did you think we were done with this? Over time, new people will probably join your organization and they will also need to learn how to use the software, or a new release will come out that adds additional functionality.
  • Maintenance:
    • Subscription: Some software provides updates via a paid subscription.
    • Patches: Depending on the nature of the software, there may be some effort in applying patches. This includes both testing and deployment.
    • Development: Did you make any customizations yourself? Now you have to maintain those forever.
  • Support: Someone has to fix it when it goes wrong, and whether that's a vendor or your own team, there's a real cost.
  • Good citizenship: This one isn't a requirement, but if you're using open source software, it would be nice if you gave back somehow. This might be code contributions, providing support on the mailing list, sponsoring the annual conference, etc.
  • Business benefits: Okay, so this isn't a cost, but it can offset some of the costs. What does using this software mean for your organization? If it enables you to manufacture widgets with 25% less waste, then that's valuable. To provide another example, maybe it helps you increase repeat contributions to your nonprofit by 30%.

Even with a list like this, it takes a lot of imagination to come up with all of the costs. Getting the values right requires some experience and a lot of good guessing, but just going through the process helps make it more clear. Much like with a puppy, if you know what you're getting yourself into up front, it can be a rewarding experience.

User profile image.
Ben Cotton is a meteorologist by training, but weather makes a great hobby. Ben works as the Fedora Program Manager at Red Hat. He is the author of Program Management for Open Source Projects. Find him on Twitter (@FunnelFiasco) or at


I think this is too dark a picture. All these items are just as true for proprietary software, and there is the intuitional lock-in that we hear all the time, "Now that I've spent all this money on this software, I feel like I have to stay with it."

Yes, I did not say it was unique to open source software. The point is that by doing this evaluation, you can make a more direct comparison. By showing that open source software has a cost, that can actually make it easier to accept for some people.

In reply to by Greg P

I think it's very useful to remind those using Free and Open Source Software that they have a duty of care and need to take responsibility for themselves and their needs (enlightened self-interest). It is, however, no different from the responsibility that those using proprietary software need to consider. The liabilities are the big difference. The FOSS liability picture is far less damning than that for proprietary software, because with FOSS the user has recourse and possibility of control that they do not have with proprietary vendors. The key thing to remind people of is that all software has liability attached to it, but FOSS tends to cost less, and the liabilities are more easily mitigated because FOSS licenses protect the interest of the user *over* the supplier. That, in a nutshell, is why many vendors are subtly campaigning to get FOSS devs to adopt more "business-exploitable" licenses (at the expense of *user* freedom).

In reply to by bcotton

And add to all this that is common to any software ...
1.- Anual fees
2.- Dependence from one or several companies that can close and give you the cost to change
3.- Secret code, so you must trust there is nothing in that secret code that can harm your business as a backdoor that can steal information, or that being able to profit from your business, nor actual direction, nor future ones will do it etc.

So it is not news that for servers and supercomputers pros prefer FOSS. almost in a 100%. the client side (mostly browsers) is where there are non por market that can be targeted by privative software. And politicians too, of course, they are "on sale".

Of all items listed, I think it's the training concept that is most significant. Most companies now just assume that its employees have a working knowledge of some set of software, whether its the classic closed source stuff or the classic open source stuff. It seems that nobody ever wants to train people on anything, much less insist that their employees learn something new for their job, as if a pay cheque covers everything that an employee might do *except* learn something new on a computer.

As such, using open source becomes a roadblock, with the excuse that the workforce isn't trained for it, when the truth is that employees aren't trained for anything. Schools teach an atrociously limited set of computer "skills", and everyone picks up the rest of what the need to know as best they can.

Training should start well before the workplace, and it should focus on learning how computers work, how to learn new software, and ideally how to do basic scripting so that computers can actually provide an advantage over traditional tools like those things we *are* trained on: pen and paper.

1 There is also the 'hidden' responsibility when FLOSS software is used inside a company. The 'actual user desk' needs to be trained when there are problems to use community forums etc. to seek solutions, as often there is no specific IT department or person inside the company. Thus it needs a change in mental attitude from "get IT to fix it" to " How do I fix it". This is a major change in responsibility on folk who use IT just as part of their job (e.g invoice clerks etc.). It once done builds abetter team and usually a person becomes the 'in house go to person for help'.

I don't think that's necessarily true. It depends on how the FLOSS is adopted. There's nothing specific to FLOSS that requires a shift in support from organizational IT to the end user. Of course, the gratis nature of FLOSS may be that software gets adopted by the end user as "shadow IT. But if the IT group supports Microsoft Office, there's no reason they should not provide similar support for LibreOffice.

In reply to by eionmac

I like your point: "showing that open source software has a cost may make it an easier 'sell.'" Open source adds long-term value, and optimizing this value requires investment.

There's a variation: free as in kitten. I have a friend who has barn cats. They're a net win for him because they grow up to hunt rodents. And their mom does most of the work to raise them until they're independent. I'm pondering the difference, based on my own experience, but off the top of my head I think of Linux distros (yay Ubuntu) and languages (yay Python) as kittens. And then there are the FOSS apps that are puppies—puppies that aren't house-broken. DM me on Twitter for one in particular I have in mind.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.