In the world of technology there are common mistakes with terms that we are not always able to differentiate properly. For example, free software and open source although we all understand quite well the difference between proprietary and non-proprietary software , it is not always the same when it comes to separating the concepts of free and open source software.
First of all, free software is not synonymous with free, although in English the word free can mean both. On the other hand, although it is always open source or Open Source, not all open source software is free . Although to understand it the best thing will be to see what each thing is and then see which are the most significant differences.
And, as Richard Stallman himself defends, “the free software movement and the open source movement are like two political fronts within the free software community “. Both pursue a common goal of giving greater freedom and transparency to the world of software, but they differ quite a bit in their ways of carrying it out.
Free Software is defined by its ethics
Free Software is not only those programs whose code is open to the public so that anyone can improve it. It represents all those who respect the essential user freedoms defined by the Free Software Foundation, a foundation created in 1985 by Richard Stallman to defend freedoms in the technological world.
These are the four essential user freedoms as defined by the FSF:
The freedom to run the program as desired , for any purpose (freedom 0).
The freedom to study how the program works , and change it to do what you want (freedom 1). Access to the source code is a necessary condition for this.
The freedom to redistribute copies to help your neighbor (freedom 2).
The freedom to distribute copies of your modified versions to third parties (freedom 3). This allows you to offer the entire community the opportunity to benefit from the changes. Access to the source code is a necessary condition for this.
The four freedoms, according to the foundation, have to be applied in all the code of a program. In this way, if we create one software from another, we have to make sure that both the base on which we are working and the lines that we have added to the project respect these freedoms. Come on, software produced from free software should be free too.
Commercial software can also be considered free
This does not mean that it can not be commercial . The 2nd and 3rd freedoms to distribute copies to others with or without modifications allow it to be done for free or by charging a fee for distribution. As long as the program respects the four essential freedoms, it will continue to be considered free whether or not you are charged for it.
Therefore, if we are going to sell free software, we must bear in mind that we have to allow and not fight that any user can modify it at will , whether it is to improve it and adapt it to their personal use or if they want to spread it or even charge for their use. distribution. It is therefore an opposite philosophy to that followed by large corporations with their proprietary software, which neither has open source nor is it usually allowed to spread modified copies.
To avoid problems in commercial use, the Free Software Foundation accepts eventual rules about how to package modified versions . It is acceptable, for example, to use licenses that force modified free software to use another name, remove a logo, or identify the modifications as their own. The limit is that the licenses are not so burdensome that they make it difficult to publish the modifications.
Therefore, we can say that the definition of Free Software is not so much in the way it is distributed as in the ethics when distributing it . It is a way of thinking, and although some points may seem quite radical, it is trying to ensure that the software does not depend on companies and that anyone can access it regardless of their resources.
Open Source, a pragmatic split
On February 3, 1998, several members of the Free Software community decided to go it alone and created the Open Source Initiative (OSI). The decision was made just after the release of Netscape, seeing in it an opportunity to educate users and companies on the practical benefits for projects that decide to release its code.
Just as the ethics of Free Software is defined in four points, the Open Source Initiative has ten requirements to be met by a project or the licenses under which it is published so that it can be defined as open source:
Free redistribution : The software license must not prevent it from being freely given away or sold as part of a larger distribution containing programs from different sources. Nor should you demand payment for doing so.
Source code : When publishing a program, its full source code must be included or it must be freely accessible.
Derivative Works : Licenses must allow modifications and derivative works, and must allow these to be distributed under the same terms as the original software.
Integrity of the author’s source code : The distribution of modifications can only be prevented if the distribution of such as patches is allowed. Derivative works may also be required to change their name or version number.
Without discrimination of persons or groups : You cannot discriminate against any person or group when accessing a program or its code.
No discrimination of initiative areas : Neither can you be restricted from accessing any initiative. Companies or research groups have as much right as the rest to use the software.
License distribution : The rights associated with the software licenses should apply to everyone who redistributes it without the need to ask for an additional license.
License must not be product-specific : A program cannot be licensed solely as part of larger software. It may be extracted and used freely and with all rights in other solutions.
The license must not restrict other software : The fact that a project is open source cannot force the programs in which it is included to also be open source.
The license must be technology-neutral : No provision of the license may be based on technology or interface style, thus, for example, acceptance by explicit gestures such as mouse clicks must not be required.
As you can see, the points are much less ideological and more pragmatic. They focus not so much on the fact that the derivative programs maintain the features, but on encouraging the openness of the code used by the programs so that everyone can collaborate and benefit. This flexibility has allowed them to gain renowned partners such as Facebook, Google, the Linux Foundation or Mozilla.
Therefore, instead of an ethical manifesto, what we have are practical points with which to regulate an activity and bring order, anticipating any case or conflict that may arise. But neither does it leave freedoms aside , since in several of its points they demand that no one be discriminated against when it comes to being able to access the code.
It is also important to emphasize that not all the programs that release their source code are open source , since this code may be released under restrictive licenses that contradict the principles on which the Open Source project is based.
What are the main differences?
We are facing two ways of facing a similar objective, so the differences are not too many. The main one is that open source is less strict than free software, so in practice all free software qualifies as open source, although not all open source software has to be free . For example, some Open Source licenses are too restrictive to be considered free.
free software and open source
Another small difference is found when it comes to protecting the original authors. The FSF backs down with an exception that allows authors to request that a product based on theirs be renamed to avoid confusion. Meanwhile, the OSI goes a little further by allowing the distribution of some sub-products to be prevented, although always in exchange for them being published as patches or additions to the original.
But beyond that the differences are not too many. In the eyes of Stallman , with free software we want to give meaning to the freedom that the term implies, while using open source does not imply that there is always freedom, but availability when accessing the code. Even so, Stallman himself admits that although they do not agree on the basic principles, they do agree on the practical recommendations and on collaborating against proprietary software.