
Free software; intellectual property rights of a work
Free software is software that can be used, studied, and modified freely and without restrictions for any purpose. It also allows for copying or redistributing (either unchanged or with modifications) without limitations or with very minimal restrictions, solely to ensure that future recipients also benefit from these freedoms, or to allow hardware manufacturers whose products work with the software to give users the ability to modify their hardware. Free software is usually free, but it can also have a price, for example, to cover the cost of production or other distribution issues.
You provide a definition of free software from the GNU Foundation and state what criteria a particular software must meet to be considered as free software. However, this foundation sometimes revises this definition to make it clearer.
“Free software is about freedom, not price. To better understand, one must think about the meaning of freedom, not just free beer.”
“Free software is about the freedom of users to run, copy, distribute, study, modify, and improve the software. More precisely, free software refers to four types of freedom for users of a software: “
Freedom to execute a program for any purpose (Freedom 0).
Freedom to study and investigate the functioning of a program and modify it for one’s own needs (Freedom 1). Access to the source code is a prerequisite for this freedom.
Freedom to redistribute copies of it, so you can help your neighbors (Freedom 2).
Freedom for improving the program and releasing these changes to the public, so that the entire community can benefit from it (Freedom 3). Access to the source code is a prerequisite for this freedom.
In order for a program to be considered free software, its users must have all of these freedoms. Therefore, you must be free to redistribute copies, either with or without modifications, either gratis or for a fee, to anyone, anywhere. Being free to do these things (among others) means you do not have to ask or pay for permission.
You should also have this freedom to make changes in the program and even use them privately for your work without mentioning their existence. If you do publish your changes, you should not be obligated to announce them to a specific person or in a specific way.
Freedom to use the program means the freedom of any individual or organization to use that program on any computer system, for any purpose, without the need for any further communication with the developer or any specific institution. In this type of freedom, the user’s goal is more important than the developer’s goal; as a free user, you are free to use the program for your own purposes, and if you give the program to someone else, they are also free to use it for their own purposes. You do not have the right to impose your own goals on them.
Freedom to redistribute copies of the program must include, in addition to the source code, the binary and executable form of the program, both for modified and unmodified versions. (Distributing programs in executable form for easily installable free operating systems is essential). If there is no way to produce a binary and executable form for a particular program, it is not a problem (as some programming languages do not support this feature). However, you must have this freedom so that if you find a way to provide a binary and executable form for the program, you can redistribute the program again in these two forms.
In order to have the freedom to make changes and distribute improved versions, you must have access to the source code of the program. Therefore, access to the source code is a necessary condition for free software.
One of the most important methods for modifying a program is to integrate existing components and subroutines with the main program. If the program’s license states that you cannot integrate existing components with the program, for example if you want to be the owner of the code you are adding to the program, then this license is more restrictive than being recognized as a free license.
In order for these freedoms to be executable, they must remain irrevocable and absolute as long as you have not done anything contrary to these freedoms. If the software developer is able to revoke the software license without you taking any action that would cause it, then this software is not free.
However, some specific laws regarding the distribution of free software are acceptable as long as they do not contradict the fundamental freedoms. For example, the copyleft (in simple terms) is a law that prohibits adding restrictions when redistributing the program, in order to preserve the fundamental freedoms for other individuals. This law not only does not contradict the central freedoms, but also protects them.
“Free software does not mean non-commercial. A free program must be available for commercial use, commercial development, and commercial distribution. Commercial development of free software is not uncommon, in fact, such free commercial software is very important. Therefore, you may have paid money to obtain copies of free software, or you may have obtained copies without paying any fees. But regardless of how you obtained the copies, you always have the freedom to copy, modify, or even sell copies of the software. “
Whether a change is considered an improvement or not is a matter that goes back to the mindset of individuals. If your right to change is limited to something that someone else considers an improvement, this is not freedom.
The laws regarding the packaging of a modified package are also acceptable if they do not practically and enforceably restrict your freedom to distribute the modified version. Laws such as “if you make the program available in this way, you must also make it available in that way” can also be acceptable under the same conditions (remember that such a law leaves your freedom to choose whether to distribute or not distribute the program intact). It is also acceptable for the license to require that if you distribute a modified version of the program and the previous developer requests a copy, you must send them a copy or indicate that you have made these changes.
In the GNU project, we use copyleft to legally protect these freedoms for everyone. However, there are also non-copyleft free software available. We believe there are important reasons why copyleft is better, but if your program is non-copyleft free software, we can still use it.
Sometimes, government export regulations and trade agreements of a free country will affect the distribution of international copies of the program. Software developers do not have the power to remove or disregard these restrictions, but what they can and should do is to challenge these limitations as conditions for using the program. In this way, these restrictions will not affect the activities and individuals outside the jurisdiction of these governments. Therefore, free software licenses should not impose export regulations as one of the necessary conditions for freedom.
Most free software licenses are based on copyright, but there are limitations for the requirements that can be imposed by copyright. If a copyright-based free license is considered respectable and adhered to in the ways described above, it seems unlikely that other problems that we never anticipated will arise (although this does happen occasionally). However, some free software licenses are based on contracts, and contracts can impose more restrictions. This means that there are countless ways for such a license to be unacceptably restrictive and not free.
“We cannot list all the unacceptable limitations of contracts. If a contract-based license restricts the user in an unusual way that cannot be covered by a copyright-based license, and this limitation is not mentioned as a legal action, we will consider it and most likely deem it as not permissible.”
When talking about free software, it is better to avoid using phrases such as “giving away” or “for free”, as these convey the idea of price rather than freedom. Some common phrases, such as “illegal copying”, also contain concepts that are not accurate.
Finally, remember that criteria and regulations such as those mentioned in the definition of free software require careful interpretation. When deciding whether a specific software license qualifies as a free software license, the GNU organization considers it based on these same regulations to determine if its meaning and concept are appropriately conveyed in its words and phrases. If a license includes unreasonable terms, GNU rejects it, even if it is not explicitly prohibited by these criteria. Sometimes, a license request may bring about unforeseen consequences, and before GNU decides whether these requests are acceptable, it often requires extensive discussion and negotiation with a lawyer. When reaching a conclusion about a new issue, you often update these criteria to better understand why certain licenses are or are not qualified.

