Thursday 19 December 2019

What is free software?

The definition of Free Software
Do you have a question about free software licenses that are not answered here? See our other license pages or contact the FSF Compliance Lab at licensing@fsf.org .

The definition of free software determines the criteria with which you can classify a program as free. Every now and then we refine that definition to clarify something or exclude subtle problems. See the historical overview below with changes that have already been implemented.

"Open source" is something else: the philosophy and underlying values ​​are different. Its practical definition is also different, but almost all open source programs are also free. We explain the difference in Why "open source" does not understand the essence of free software .

"Free software" is software that respects the freedom and community of users. It roughly means that users have the freedom to use, copy, distribute, study, change and improve the software . So "free software" is about freedom, not about price. To understand the concept, you must think of "free" as in the "freedom of speech". We sometimes call it "libre software", where we use the French or Spanish word for "free" to indicate that we do not mean that the software is free. [1]

We are committed to these freedoms because everyone is entitled to them. With these freedoms, users (individually and collectively) have control over the program and what it does for them. When users have no control over the program, we call it a "non-free" or "private" program. The non-free program has control over the users, and the developer has control over the program; this makes the program an instrument of unjust power .

The four essential freedoms
A program is free software when users have four essential freedoms: [1]

The freedom to use the program the way you want, for every purpose (freedom 0).
The freedom to study the way the program works and to adapt it to your needs (freedom 1). Availability of the source code is necessary for this.
The freedom to distribute the program so that you can help others (freedom 2).
The freedom to improve and spread the program, so that the entire community benefits from it (freedom 3). Availability of the source code is also necessary for this.
A program is free software if it gives users all these freedoms adequately. Otherwise it is non-free. We could consider different non-free methods of dissemination in terms of how much they are lacking in freedom, but we do not do this: we consider them all just as unethical.

In any case, these freedoms must be applied to all the code that we want to use or allow other people to use. Take for example a program A that automatically starts program B to process some things. If we intend to distribute A as it is, it means that users will need B, so we must assess whether A and B are both free. However, if we change A so that it does not need B, only A needs to be free; B is then no longer relevant.

Read more: myadbox softwares

"Free software" does not mean "non-commercial". A free program is also available for commercial use, commercial development and distribution. Development of free software on a commercial basis has become commonplace and very important. Whether you have paid for free software, or whether you have received it for free, you always have the right to copy and change this software to even sell copies .

The rest of this page clarifies some points, so that it is clear whether certain liberties are adequate.

The freedom to use the program the way you want
The freedom to use a program also means that everyone, including companies, can use it on any computer system for whatever purpose, without having to consult with the developer or another organization. This freedom is about the goals of the user , not those of the developer ; you as a user are free to use it and when you pass it on to someone else, you may also use it for your own purposes. As a distributor, you may not impose any restrictions on this.

The freedom to execute the program as you wish means that nobody forbids or prevents you from doing this. It has nothing to do with the functionality that the program has, whether it works in a certain environment, or how useful it is for what you want to do.

The freedom to study and change the source code
To be able to apply the freedom to make changes and publish (freedoms 1 and 3), the user must have access to the source code of the program. In other words, free access to source code is a requirement of free software. Encrypted "source code" is not a real source code and therefore does not count in this.

Freedom number 1 also includes the right to actually use your own changes to the program. When the program is in a product that allows it to run changes from third parties but not yours - also known as "activation", "lockdown" or (in the suggestive terms of a manufacturer) as "secure startup" - it becomes freedom a laugh. There is insufficient freedom without this right. In other words, these programs are not free software, even though the source code that they are made from is.

When you change a program by adding free code and routines to it, but the license of the program determines that this is only allowed if, for example, you own the copyrights of that code, then that license is too restrictive and the result is not free.

Whether a change is also an improvement is subjective. When changes are only allowed if others regard those changes as improvement, that is not freedom.

The freedom to distribute the program: basic requirements
The freedom to distribute a program (freedoms 2 and 3) means that you are free to distribute copies, with or without changes, for free or for a fee for distribution and to everyone, everywhere . Being free also means that you don't have to ask or pay anyone permission when you want to do these things.

You should also have the freedom to make changes for your own use, without even having to tell them that you have made them. If you release the changes, you are not required to report this to anyone.

Freedom number 3 also includes the right to re-release programs that you have changed as free software. A free license also allows other forms of distribution; in other words, it does not have to be an author's license. However, a license that does not allow changed versions to be free is not a free license.

This freedom to copy may not only be limited to the executable version of the program, but must also apply to the source code for both exact copies and changed versions. (The release of software in executable versions is useful for installable operating systems.) It is fine if a program cannot be made an executable version (some programming languages ​​do not support such a thing), but you must have the freedom to distribute something similar. when you develop or find a method to do so.

Author obligation
Certain restrictions on how free software is distributed are acceptable if they do not limit basic freedoms. For example, the obligation of authorship stipulates (simply put) that when you distribute the program, you may not impose restrictions to deny other people the basic freedoms. This rule does not limit basic freedoms, it protects them.

In the GNU project we use an obligation to author to lay down these liberties for everyone in a legal manner. We believe that there are important reasons why it is better to use an obligation to author . But Free software without an obligation to author is also ethical. See Free Software categories for a description of how "free software", "software subject to copyright" and other types of software relate to each other.

Provisions regarding distribution
Provisions on how to re-release a changed version are acceptable, provided that they do not limit the right to release those versions or to use them privately. It is therefore acceptable when a license determines that you have to rename the modified version, remove a brand or name your own changes. As long as they do not prevent them from making changes, they are acceptable to them; you are already changing so some more changes can still be added.

Provisions of the type "when you release a sister version you must also release it this way" may also be acceptable, under the same condition. An example of this is the provision that when you release a changed copy and ask the previous developer for a copy, you must also give him that copy. (Note that you still have the choice to release that version at all.) Provisions requiring you to release source code to your users of versions that you release are also acceptable.

An exception to this is when the license requires that you change the name with which other programs can activate your program. This means you cannot replace the original. This is only acceptable when there is a configuration system that makes this possible.

Export rules
Sometimes government export rules and trade boycotts can stand in the way of the freedom to distribute software internationally. Software developers do not have the authority to abolish or ignore these restrictions, but what they can do is refuse to be guided by these rules, and not to include them in the terms of use of the program so that people do not create them with these rules are not hindered in the use of the software. Free software licenses may not, therefore, require you to comply with export restrictions.

If only the existence of export restrictions is mentioned, without being a condition for the license itself, this is acceptable because it does not limit users. If an export restriction is not important for free software in practice, then requiring this export restriction is no problem. However, it is a potential problem, because a change in export laws in the future makes the requirement realistic and therefore would make the software non-free.

Legal considerations
To be true liberties, they must therefore be permanent and irrevocable as long as you do nothing wrong. If the software developer has the power to revoke the license, or to be able to retroactively add restrictions to the terms and conditions, without you as a user doing anything wrong, then that software is non-free.

A free license may not require that you also agree to the license of a non-free program. So if, for example, a license requires that you adhere to the licenses of "all programs that you use", this would mean that you must adhere to the licenses of non-free programs if you use them. This makes the license non-free.

It is acceptable if a free license indicates which legislation is applicable, or where lawsuits must be held, or both.

Contract-based licenses
Most free software licenses are copyright based and there are limits to what you can determine within copyright. If such a license respects the freedom of the user as described above, we will not quickly encounter an unexpected problem (although it sometimes happens). Some free software licenses, however, are based on contracts, and with contracts you can impose much more restrictions, which means that there is a greater chance that there are unacceptable restrictions that make the software non-free.

We cannot list here all possible ways in which this could happen. When a license based on a contract restricts the user in an unusual way, and that way is not mentioned here as acceptable, then we will have to think about it, but the conclusion will most likely be that it is not free.

The correct terminology
When talking about free software, it is advisable to avoid terms such as "free" because they suggest that free software is always free of charge; this is not the case. It is also best to sail around with terms such as “piracy”. See terms that cause confusion and are better avoided . We also have a list of translations of the term "free software" into various languages.

How we interpret these criteria
Finally, note that you have to think carefully about the criteria that are set here for free software. To decide whether a license meets those criteria, we are guided by the spirit of those criteria and not just by precise terms. If a license contains unreasonable limitations, we will reject it, even though that limitation is not provided for in our criteria. Sometimes we even need the help of a lawyer to determine whether a provision is acceptable or not. When we are out, we will often adjust those criteria to make it easier to determine in the future whether a license is good or not.

Get help with free licenses
If you want to know if a certain license is a free software license or not, look at our list of licenses . If the license is not on the list,

If you are considering creating a license yourself, write the Free Software Foundation to that address. A proliferation of free software licenses means more work for users to understand the licenses; we may be able to help you find a suitable existing free software license.

If that is not possible and you really need a new license, we can help you to ensure that it remains truly free software and to avoid various practical problems.

Software and beyond
Software manuals must be free for the same reasons that software must be free. Also because manuals are actually part of the package.

The same actually applies to all kinds of works with a practical application - or works that contain useful knowledge such as teaching materials and reference works. Wikipedia is the best example of this.

Every work can be free, and the definition of free software has therefore been extended to a definition for free culture , which can apply to all kinds of things.

Open source?
Another group uses the term "open source" (or "open source") as something that looks like "free software" but is not. We prefer to use the term "free software" because it is immediately associated with freedom. You don't have that with the term open source .

No comments:

Post a Comment