Why is open source software so popular today? You might think it's about money, open standards or interoperability. Ultimately, however, the most important factor behind the success of open source is its ability to offer control -- or the allusion of it, at least -- to people who use it.
Explaining Open Source Software's Popularity
To understand this point, let's take a look at conventional explanations for why open source has become so popular.
- Cost. Open source software is often free of cost. That's obviously attractive to users.
- Security. Open source advocates tend to argue that open source code is more secure because it can be inspected by anyone. This can make it easier to find security vulnerabilities. (The counter-argument to this point is that it's also easier for the bad guys to inspect open source programs in order to discover vulnerabilities that they could exploit. But that's debatable.)
- Software quality. Open source advocates also usually argue that open source platforms are better because (as Eric S. Raymond famously put it) "given enough eyeballs, all bugs are shallow." In other words, because many people can inspect and contribute open source code, bugs should be fixed faster.
- Customizability. The ability of anyone to view and modify source code means that any user can customize a program to meet his or her needs.
- Interoperability. Most open source platforms are based on open standards and are easy to integrate with other products. This is different from the closed-source paradigm, where commercial vendors decide which third-party platforms they will and won't support.
The Control Factor
All of the above are important reasons that help to explain the popularity of open source.
I'd argue, however, that the very most important reason is not on that list -- or most of the lists you can find of explanations for the rise of open source.
The most important factor is that open source software (and free software) gives users a feeling of control over the software they use.
I don't mean simply control in the sense that they can study and contribute to the code. That's obviously important to some open source users.
However, it's a safe bet that the majority of people who use open source software don't actually understand code. They can't inspect or fix it.
I'd also venture a guess that the vast majority of users of major open source platforms don't modify them, even if they have the skills to do so. People using Firefox, LibreOffice, Apache HTTP, Docker or any other popular open source platform tend to use the stock version. They don't generally customize it and recompile the code.
For these reasons, it's hard to argue that people like open source software primarily because they want to study or customize it. In most cases, they lack the expertise to do these things. And even people who have that expertise usually choose not to take advantage of it.
Yet the fact remains that users of open source software could modify it if they wanted. With closed-source software, they don't have that ability. This is the difference that truly matters because it means open source users have a feeling of control over the code they use -- even if they don't exercise that control.
When you think about it, it makes sense that people would crave control over software. Software runs our lives, and in many senses the way it works is mysterious and uncertain. Even if you can view the source code of the software you use, many unknowns remain. There is no certain relationship between source code and the way software works because compilers can translate code in different ways, different machines can execute it in different ways and so on.
So, if you want to understand what really drives people to invest in open source code, I think the answer is a desire to feel some sense of control -- or the possibility of control, at least -- over their digital lives. This yearning for open code will only increase as our digital lives grow ever more complicated.