Open source software is a vital part of modern computing; it’s involved in much of the software we use every day. But is it too good to be true, and is it really free, in either sense of the word?
Open source software licensing
First and foremost, open source licenses are about individual freedom. In contrast to closed—or proprietary—source programs, open source programs guarantee that you can view their source code, modify it, and redistribute it to others.
The concept of open source goes back a long way, although the name is a bit more recent. In the early 70s, with the creation of the internet, software was often distributed among peers via Usenet and bulletin boards. As home computing took off in the 80s and 90s, a range of models developed, from pre-boxed, paid software to shareware, freeware, and public domain.
The open source movement of the late 90s sought to address a divide that had opened between commercial software and the free software movement. Many developers thought the term “free” was ambiguous. They were concerned that it could put businesses off, deterring them from using software that was collaboratively developed in the public space.
Decades later, we all use open source software (OSS) every day, usually without even thinking about it. OSS is almost certainly involved whenever you view a web page, whether it’s the Linux OS you do everything with, your Firefox browser, or the Apache web server at the other end.
Open source software licenses can be complex
Open source licenses are great; there are so many to choose from! The Open Source initiative lists over 100 different licenses, but this can be a double-edged sword. While there’s plenty of choice, you’ll need to carefully check any license you encounter, especially if you don’t recognize it.
Broadly speaking, the most common licenses are MIT, Apache 2.0, BSD 3-clause, and GPLv3. The main difference between these is their permissiveness: MIT & Apache let you do almost anything you want, while the GPL requires you to distribute source code alongside licensed software. The GPL is heavily ideological, reflecting its roots as a GNU/Free Software Foundation product.
The actual licenses you’ll encounter—or use—will heavily depend on your language of choice. While C programs often use the GPL, Java projects tend to opt for Apache, and the MIT license is popular in Ruby and Python repos. If you’re licensing your own software, GitHub’s Choose an open source license site is a helpful resource. It guides you through the process and summarizes each license with short bullet points.
Whether you’re releasing software or just trying to get hold of some, you’ll need to understand the open source license behind it. For personal use, it may be less of an issue, but using someone else’s software for work, or redistributing your changes to it, could open you up to legal problems. You may think you’re free to do whatever you want with source code, but that’s not always the case.
Open source: software for nothing
The other half of the free coin is in the complimentary sense. Because of the freedoms attached to OSS, its projects are usually free, i.e., without cost. Today, you can download and install thousands of open source projects without paying a penny, including some very capable office software, image management apps, and even games.
This might seem like an insignificant bonus at a time when web browsers, word processors, and even full-blown operating systems are given away for free. But there’s often a hidden cost in the form of aggressive ads or other limitations that open source generally avoids.
Some open-source software costs nothing to obtain, but comes with priced upgrades, like a support contract. For conservative-minded businesses, these are often vital to compete with proprietary alternatives. If you’re relying on an open-source project, you may wish to donate funds purely so that it has a better chance of surviving in the long term. Services like Patreon or GitHub Sponsors allow developers and users to support open-source projects, too.
The hidden costs of open source software
Hold on, though: before you switch everything over to OSS, consider that even free software is not always free.
The costs of software aren’t limited to a one-off sticker price that you hand over in return for a packaged product. For a start, OSS is occasionally lacking when it comes to documentation. Open source contributors are often more interested in writing code than they are helpful instructions, and since their users are likely to be more technical, docs can be overlooked. So you’ll need to factor in some learning time.
With plenty of contributors, many open source projects have frequent updates that you’ll want to test before adopting. You may need to upgrade associated software or libraries when doing so, and you’ll also want to make sure the new version is compatible with any existing data you used with the previous one.
Some software tries to skirt around the ideology of OSS, making it easier to pay (e.g., via an app store) than obtain the software from source. In particular, macOS suffers a bit from compatibility, requiring a bit more effort to compile programs using XCode.
Generally speaking, open source gives you freedom and software for no initial cost. But there can be hidden, secondary costs including training and support, legal compliance, and code maintenance. Make sure you consider the total cost of ownership (TCO) before making an important decision.