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.
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.
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.
- 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.