Computer

Difference open source and free software: in-depth analysis

Difference open source and free software: in-depth analysis

We have realized that, even today, terms such as open source and free software are often used as if they were interchangeable. In reality they are two different concepts and their incorrect use often infuriates supporters of free software.

In short, the term open source refers to a software development model in which the program’s source code is made publicly available and accessible to anyone. We are dealing with a software publication and distribution scheme that allows users to study how the program works, proposing possible improvements and modifications.

The concept of free softwareInstead, it focuses on the freedom given to users to run, copy, distribute, study, modify, and improve the software. It’s four fundamental freedoms of free software, as defined by Free Software Foundation (FSF).

Open source software: what are the advantages and where is it found?

We said that dealing with a program characterized by open source code, allows developers and engineers to examine how software works. A huge advantage in terms of transparency that the developers of open source software grant to all users. A benefit that obviously materializes in greater control over the software and the resolution of any problems.

Take the executable file of a proprietary software or any other compiled component: when you are faced with a binary file therefore already subjected to compilation (not necessarily an executable…), it is not at all easy to carefully verify its functioning, unless prior carrying out reverse engineering (often prohibited by developers who create and distribute compiled programs).

Companies that make open source programs available can also offer them simultaneously already compiled versions. However, they share tools that users can use to ensure that the executable file and other binaries are derived from the same publicly available source code.

Since open source software is often free or low cost, organizations can save significantly on licensing costs and implementation expenses. The fact that a program is open source, however, does not exclude compliance with any user licenses (we’ll talk about it later) and does not preclude, for developers, the release of commercial versions which, for example, integrate technical support and dedicated assistance as paid services.

GitHub is one of the largest collaborative development platforms in the world, hosting millions of open source projects. Developers can publish, discover, and contribute to a wide range of projects. The development model encourages collaboration and continuous innovation through the contribution of people with different perspectives and skills.

What is free software

In September 2023, Free Software Foundation celebrated the first 40 years of GNU and free software. It was in fact 1983 when the computer scientist Richard Stallman announced the desire to create an operating system focused on the fundamental freedoms of users. That system was called GNUacronym for GNU’s Not Unixand laid the foundations to ensure users four fundamental freedoms, even in the years to come:

  • Freedom of execution: The freedom to run the program as you wish, for any purpose.
  • Freedom of study and modification: The freedom to study how the program works and adapt it to your needs.
  • Freedom of distribution: The freedom to redistribute copies of the software so you can help other users.
  • Freedom to distribute changes: The freedom to distribute modifications applied to the software so as to contribute to its growth and that of the community.

The historic article “Because open source misses the mark of free software“, signed by Stallman himself, contains the difference between open source and free software. The American programmer, computer scientist and activist lingers on the fact that open source is a development methodology while free software is a social movement.

In English, the expression “free software” is translated as “free software“: unfortunately, the adjective “free” has two meanings: “libero” but also “free” (in Europen the problem does not exist). Once again, the term “free software” does not refer to the price, to the freeness, but to the freedoms granted to users.

The issue of licensing

In general, all free software that exists today is also open source. Furthermore, almost all open source software released in source code form is also free software. However, there are some exceptions important, as Stallman reminds us, who shifts attention to the aforementioned (and burning) topic of licenses.

Some software, whose source code is shared publicly, uses licenses that are too restrictive: in certain cases, for example, i license terms they do not allow you to develop private versions and use them in various contexts (commercial and private).

So, while open source software may be distributed under various licenses, some of which may not guarantee all four freedoms of free software, free software is always accompanied by a license that guarantees those freedoms. The North Star, the real reference point for free software, is the license GNU GPL (General Public License).

It is one of the most used licenses for free software and requires that all modified versions of the software are also released under the same license, thus guaranteeing the maximum degree of freedom for end users.

Neither GNU GPL license

The “mother” of all permissive licenses used to convey free software is the GNU GPL. Originally written by Stallman in 1989, it is presented as heavily licensed copyleft. As mentioned above, it requires that all modified or derivative versions of the software be released under the same license. This ensures that the software remains free and that users’ freedoms are protected even in modified versions of the program. The concept of copyleft is placed in an antithetical position compared to that of proprietary software, whose restrictive licenses they reduce user freedoms.

When we talk about “open source”, we often believe – wrongly – that it is software “not distributed under the GNU GPL license“. In reality, GNU GPL is also an open source license; most open source licenses are also free software licenses. As you can check on the official FSF website, there are many other free licenses in addition to the GNU GPL: some are compatible with the GNU GPLother no.

Compatible and incompatible licenses

For example, the MIT License is a widely used license for open source software: it allows modification and redistribution of the source code, but does not require modifications to be released under the same license (it is “copyleft-free”). Nonetheless, FSF considers it compatible with the philosophy of the original GNU GPL, although product recommendations based on Apache 2.0 licensewhich protects from any “patent pitfalls“.

Suffice it to remember that in 1991 Linus Torvalds presented the very first version of the Linux kernel, published under the GNU GPL license. This is why FSF reminds us that the term should be used to refer to Linux GNU/Linux: the operating system, in fact, combines the Linux kernel with the various system utilities and applications provided by the GNU project.

Using the term “GNU/Linux“, we underline the importance of the contribution of the GNU project and pay homage to its mission to create a completely free and open source operating system. The “GNU software” page contains an exhaustive list of all software integrated into the GNU/Linux operating system, developed following the copyleft idea.

The breach of conditions license can also be challenged in court: in March 2024, a telecommunications operator was convicted for failing to comply with the GNU GPL license.

Convergence and intersection

Despite some important differences, it is clear that open source and free software are not mutually exclusive. As we have seen, the two concepts often converge and overlap in many areas.

While the philosophical focus, associated licenses and objectives may be different in many cases, open source and free software still share thecommon goal to promote collaboration, transparency and innovation.

It is therefore not an error to write that a certain program is a “software libero e open source“. On the other hand, many developers present their creations in this way. Usually it means that on the one hand it is available and…

Leave a Reply

Your email address will not be published. Required fields are marked *