Or, “If it’s open source, why do I have to pay for a subscription to — fill in the name of the software?” Or, “Why do I have to pay for this software package?”

By now the idea of open source is familiar to lots of people, but end users are still hazy about what exactly it means. There’s a popular perception that, “open source” means, “basically free”.

And that’s basically right.

But — there’s always a “but”, right!

Open source means that, unlike proprietary software (Microsoft and Apple for example, but many others), you get to have access to the source code for the software. That’s why its called open source.

Having access to the source code means that you can copy it, change it, examine it for mistakes (bugs), build other software based on it, and a whole bunch of other things.

So, for example, when you buy a copy of Windows, you get a CD (or it comes pre-loaded on your PC, or you download it) that has compiled code on it. Compiled code is what actually runs your machine. It’s just a bazillion 1s and 0s strung together, code that a processor chip will understand, but not fit for humans to work with. What you don’t get is the code that the programmers at Microsoft work with to generate that compiled mess of 1s and 0s. If there’s a bug you have to depend on software engineers working for Microsoft to fix it and send you new compiled code.

With open source code, you get the human-readable source code version along with the compiled code. So, if there’s a bug or you want to change something you don’t have to wait for the original authors of the code to do it for you.

This is where that “but” comes into play. Because even though you’re given the code so that you could change it, fix it or update it, very few end users have the know-how to do so.

How does this play out?

Let’s take for example, the case of someone who has a WordPress website using a popular e-commerce package, WooCommerce. WordPress is open source. Anyone can download and install it for free. But your developer says the best way to get your site to use that complicated shipping costs table you gave her is to use a paid plug-in that runs $500 per year in software subscription fees. “Wait a minute!” you say. “I thought it was supposed to be free!”

Here’s what’s happening.

WordPress is licensed under the GNU General Public Licence (GPL). The GPL says, basically (I’m not a lawyer and don’t play one on TV), that if you build something that depends on the base software to work properly, what you build also must be GPL. So, given that arrangement, WooCommerce is also GPL. And by extension, any added functionality, like the WooCommerce shipping table plug-in, that anyone might build onto it is also GPL.

But, just because someone has written a bit of code, doesn’t mean she has to give it away (though many open source programmers do give their work away). You can still ask to be paid for your work. The license says only that if I sell you my code I have to give you the source code. And, sure, once you’ve paid for it you could copy it and give it (or even resell it) to someone else. Some unscrupulous people do!

So, even though WordPress is free (because the people who code for the WordPress project contribute to it for free), that plug-in that makes it possible to customize your shipping costs in various ways may not be. You might have to buy a copy as a 1-time purchase. Or you might be asked to buy a subscription for updates. Or both.

A 1-time purchase is pretty easy to understand. We’re used to that. Pay for something, take it home.

But, why would you need a subscription?

Well, what happens when WordPress gets updated? Say to fix a security issue or to add some kind of new feature. It happens at least 3 times a year. Eventually, those changes can lead to problems in the customized code. The folks who coded your plug-in need to keep up with all the changes and make updates to their plug-in to keep things in shape. That takes time and skill. So it’s fair for them to ask that if you want to benefit from the updates that you pay them to keep it updated.

Of course you do have the source code. You could update it yourself. If you have the skill set, it’s perfectly above-board to do just that. You don’t have to pay them. You own that copy of the code.

So, yes, open source code is basically free. And, yes, once you pay for your code it’s yours. But you’ll probably want to pay a good programmer to keep it in top shape.

After all, I grow hair (granted, less and less of it) for free, but I routinely pay my barber to trim it.

And, as a citizen, using most roadways is free, even in years (it hasn’t happened in a long time) I’m not required to pay any taxes. But I paid for my car, and I own it, and I basically sort-of know how it operates and can drive it from day to day. But I still pay a good mechanic every now and then to keep it running.

Image: Open Source courtesy of opensource.com