Open Source Software vs Closed Software: What’s the Difference?

Everything you see on your screen is made up of language. Someone, somewhere, wrote words meant to be understood by your computer. These words, this language, are known as code.

For our computer to know what to do, it must understand this code. If so, he can act. But for us to understand what our computer is actually doing, we also need to read the code.

Open source software allows you to see this code. Closed-source software does not. So what are these two types of software, and why do both approaches exist?

What is open source software?

Free and open source software is software that you have access to not only to use a program freely, but also to view, modify, and share its source code.

Source code refers to the code that a person (or, in some cases, a computer) typed in when creating a program. This is distinct from binary code, which is the actual language spoken by a computer. When a programmer has finished writing a program, he compiles the source code into a binary program.

A human can read source code. A computer can read binary code.

When someone distributes a program, they usually give you a binary file that you can run on your computer. This program is not free and open source unless it also gives you the source code and the freedom to do with both largely what you want.


What is closed source software?

Closed-source software is software whose use comes with restrictions, primarily the inability to view the source code. You only have access to the binary file.

Closed source software is also called proprietary software. This is because software developers view source code as private and proprietary information. Providing anyone with access to this code, they say, would give others a competitive advantage: the ability to freely copy and edit a program without having to hire a developer or team of developers to do the same work.

Unless you grew up with Linux, chances are most of the software you know is closed source. This type of software is easier to monetize, which makes it attractive to small app developers and large enterprises.

Another telltale sign is if you have to accept an End User License Agreement, or EULA, when you first use a program.

EULA and Free Software Licenses

A computer is not like most tools. Whether you can move a mouse or touch a touchpad doesn’t really matter. Whether you can press buttons on a keyboard or look at a screen are necessary, but that’s not the point.

It’s the code that counts. The code can be modified. The code can be copied. There are no inherent limitations on someone’s ability to tinker and copy code. A computer manufacturer doesn’t have to tell you not to make a copy of your laptop, because that’s just not something most people can do. But it’s not particularly difficult to copy and redistribute the bundled software on the computer, so that’s where the restrictive EULAs come in.

EULAs are usually giant walls of text that describe, in legalese, what you can and cannot do with the software you’re about to use. They usually block you from seeing the code, deem making copies illegal, force you to buy a license or activation key, and often detail the considered ways to use the software against the terms of use.

Free software licenses do not require your contractual consent and rather exist to tell you that, for the most part, you can do whatever you want with the program and its code. Some free licenses, such as the GNU General Public License, are considered copyleft licenses. Their main restriction on your behavior is the requirement that any programs you develop using code available under the GPL also be available under a GPL license.

Other licenses, such as the MIT license, are considered permissive licenses and are not subject to this requirement. You can take MIT-licensed code and use it to create a proprietary program if you like.

How it affects you

The license of the software you use determines what you can do on your computer.

If a proprietary program has a bug, or if you wish it had a certain functionality, your only recourse is to tell the software developer and hope they do something about it. With free software, you are free to make the change yourself, if you have the technical knowledge. Often, even if you don’t understand the code, chances are someone online wanted to do the same thing, or noticed the same problem, and provided instructions on how to modify the program.

But the vast majority of people have no desire to read code or modify programs. Does this mean that this problem does not affect most people? Barely. There are a few major areas of growing concern where closed-source software and open-source software treat you very differently:

Category Open source software Closed source software
Cost Almost always free for you to use without paying any money. More likely to cost money. When proprietary software is offered for free, there is often a risk involved. Developers and publishers often monetize the program in a different way, whether by displaying ads, tracking your behavior, installing unwanted (sometimes malicious) software on your computer, or a combination of the three.
Privacy Generally the most privacy-friendly software you can use. If someone tries to share an open source program that invades your privacy, someone else will notice and share a copy with all tracking removed. The risk of controversy and reputational damage is often enough to prevent developers from collecting even basic diagnostic data considered common among proprietary software. Often tracks how you use the program. On mobile devices, it’s common for apps to keep tabs on your location and other apps you have installed on your phone. Some look at your contact list or scan your files.
Security Benefits from the fact that many eyes can see the code. While this doesn’t guarantee that many eyes will actually see the code when an exploit spreads, anyone with the skills can contribute a fix and you can confirm that the issue has been resolved. Closed-source software often relies on a security model called security by obscurity. That doesn’t stop bad actors from finding vulnerabilities and creating exploits. And if the software developer tells you about these exploits, since you can’t see the program code, you can’t confirm if the problem has been fixed. You have to go with confidence.
Updates Updates may take longer to arrive, as software development often depends on volunteers. On the other hand, apps and distros tend to support hardware for years or even decades. Sometimes happens faster since there is often a team of employees paid to work on a project full time. Yet software support can end abruptly when a company goes out of business or decides that software is no longer profitable. Newer versions are much less likely to run on older hardware.

What type of software should you use?

Most computers you find in big box stores come with closed-source software, and the same goes for phones. Those more technically inclined can replace their locked down operating system with an open alternative. For others, it’s still relatively easy to buy a Linux laptop online or download open-source applications for any operating system.

But free and open-source software are not funded in the same way and are generally provided “as is”. While it’s more than capable for many (if not most) use cases, there are others where the best tools for the job are only available in proprietary form.