What is the difference between open source software and closed source software?

Everything you see on the screen includes the language. Someone wrote down words for your computer to understand. These words, or languages, are called codes.

To know what to do, the computer needs to understand the code. If the code is understood, the computer can work. But to understand what our computers are actually doing, we also need to read the code.

Open source software allows you to view the code, but closed source software does not. So what are these two types of software and why do both of these approaches exist?

What is open source software?

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

Source code refers to the code that a person (or in some cases a computer) entered when creating a program. This is different from binary code, which is the actual language the computer uses. When a programmer finishes writing a program, they compile the source code into a binary program.

Humans know how to read source code, and computers know how to read binary code.

When someone distributes a program, they usually give you a binary file that you can run on your computer. Those programs are not free and open source unless they give you the source code and the freedom to do most of what you want.

What is closed source software?

What is the difference between open source software and closed source software? Picture 1What is the difference between open source software and closed source software? Picture 1

Closed-source software is software whose use comes with limitations, mainly not being able to see the source code. You only have access to the binary file.

Closed source software is also known as proprietary software. This is because software developers treat the source code as private, proprietary information. In their view, to give anyone access to this code would give another party a competitive advantage: The ability to freely copy and edit the program without having to hire a developer. developers or groups of developers doing similar work.

Unless you're used to using Linux, chances are that most of the software you're familiar with is closed source. This type of software is easier to monetize, making it attractive to small app developers as well as huge corporations.

Another notable indicator is whether you need to agree to an end user license agreement or EULA when using a program for the first time.

EULA and free software license

Computers are not like most tools. It doesn't matter if you can move the mouse or swipe the trackpad. The fact that you can press buttons on the keyboard or look at the screen is necessary, but not important.

The new code is the key element. Code can be modified or copied. There is no inherent limit to someone's ability to tinker and copy code. A computer manufacturer doesn't necessarily ask you not to copy their laptop, because it's simply not something most people can do. But it's not hard to copy and redistribute the included software on a computer, so that's where limited EULAs come in.

EULAs are usually giant 'walls' of text describing what you can and cannot do with the software you are about to use. They often prevent you from seeing the code, make it illegal to make copies, require you to purchase a license or activation key, and often detail uses of the software that are considered against the terms of service.

The free software license doesn't require contractual consent, but instead exists 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 limitation to your behavior is that any program you develop that uses code available under the GPL must also be available under the GPL.

Other licenses, such as the MIT license, do not include this requirement. You can take the MIT-licensed code and use it to create a proprietary program if you want.

How does this affect you?

Licensing the software you use determines what you can do on your computer.

If a proprietary program has a bug, or you want it to have a certain feature, the only way is to notify the software developer and hope they do something about it. With free software, you can make the changes yourself if you have technical knowledge. Usually, even if you don't understand the code, chances are someone online wants to do or notice a similar problem and provides instructions on how to tweak the program.

But the vast majority of people don't want to read the code or modify the program. So does that mean this problem doesn't affect most people? There are several key areas of growing interest in which open source and closed source software will present very differently:

Targets Open source software Closed source software
Price It's 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. Developers and publishers often make money from programs in another way, like showing ads, tracking your behavior, sneaking unwanted (sometimes malicious) software onto your computer. or even a combination of all three.
Privacy Usually the most privacy-respecting software you can use. If someone tries to share an open source program that violates your privacy, others will notice and share a copy with all tracking elements removed. The risk of controversy and reputational damage is often enough to prevent developers from collecting basic diagnostic data, which is common with proprietary software. Usually keep track of how you use the program. On mobile devices, apps stay up to date with your location and other apps you have installed on your phone. Some software even view your contact list or scan your files.
Security The real benefit is that more people can see the code. While this does not guarantee that attacks will be carried out, anyone with sufficient skill can contribute a fix and you can confirm that the issue is resolved. Closed source software is often based on a security model known as Security Through Obscurity (STO). This does not prevent bad actors from finding vulnerabilities and creating exploits. And if the software developer tells you about these exploits, since the program's code can't be seen, you can't confirm if the problem has been resolved. You have to trust the developer.
Update Updates can take longer to reach users, as software development often relies on volunteers. On the other hand, apps and distributions tend to support hardware for years, even decades. Sometimes updates come faster, as there is usually a group of employees who are paid to work full-time on a project. However, software support can end abruptly when a company goes out of business or rules a piece of software is no longer profitable. New versions are less likely to run on older hardware.

Almost every computer you find in stores has closed source software, and the same is true for phones. The more technical people can replace the default operating system with an open source solution. For others, it's relatively easy to buy a Linux laptop online or download open source applications for any operating system.

While free and open source software offers many possibilities in some use cases, sometimes the best tools for the job are only available in proprietary form.

4 ★ | 2 Vote