"Free software" is software that respects the freedom of users and their community. Broadly speaking, it means that users have the freedom to run, copy, distribute, study, modify, and improve the software. In other words, "free software" is a question of freedom, not price. To understand the concept, think of "free" as "free speech", not "free beer." In English, sometimes in the place of "free software" we say "libre software", using that spanish adjective, derived from "freedom", to show that we do not mean that the software is free.
Four are the freedoms that define "Free Software":
Freedom 0 : The freedom to run the program as desired, for any purpose.
Freedom 1: The freedom to study how the program works, and change it to do what you want. Access to the source code is a necessary condition for this.
Freedom 2: The freedom to redistribute copies.
Freedom 3: The freedom to distribute copies of its modified versions to third parties. This allows you to offer the entire community the opportunity to benefit from the modifications. Access to the source code is a necessary condition for this.
A program is "free software" if it appropriately grants users all of these freedoms. Otherwise it is not free. It is said to be "Proprietary Software".
By way of summary we could say that:
- "Free Software" or "Libre Software" does not necessarily mean that it is free, although in many cases it is.
- "Free Software" provides four basic freedoms: freedom to run software, freedom to modify and study your code, freedom to redistribute copies of such software, and freedom to distribute copies of modified software.
You can read this information at the following link: https://www.gnu.org/philosophy/free-sw.en.html
Let's start with some history... It's the 70's of the 20th century, when a man named Richard Stallman started working at MIT (Massachusetts Institute of Technology). At this time it was very common to work with free software. The programmers were free to cooperate with each other and did so quite often. What's more, even computer companies distributed their software freely. All this changed in the 1980s, and practically all software began to be distributed privately, which means that such software had owners who prohibited cooperation between users. For this reason, and in the face of what seems an injustice, Richard Stallman decides to create the GNU project in 1983. Being in 1985 when the Free Software Foundation was founded with the objective of raising funds to help program GNU.
The GNU operating system is a complete Unix-compatible free software system. The term GNU comes from "GNU is not Unix". It is pronounced in a single syllable: Ñu. Richard Stallman wrote the initial announcement of the GNU Project in September 1983. An extended version, called the GNU Manifesto , was published in September 1985.
The name "GNU" was chosen because it met a few requirements. First of all, it was a recursive acronym for "GNU Is Not Unix". Second, it was a real word. Lastly, it was fun to say (or sing) .
They decided to make the operating system Unix-compatible because the overall design was already tested and portable, and because the compatibility made it easy for Unix users to switch from Unix to GNU.
A Unix-like operating system includes a kernel, compilers, editors, word processors, mail software, graphical interfaces, libraries, games, and many other things. For all this, writing a complete operating system takes a lot of work.
At the beginning of 1990 the main components had already been found or programmed except for one, the kernel.
Let's jump back in history, this time to 1991.
Around that time, a Finnish computer science student named Linus Torvalds wanted to create an operating system similar to minix (which he used at university), but that would work on his new computer. with 80386 processor.
Using the GNU C compiler, Linus Torvalds soon had a first version of the Kernel (kernel) capable of running on his computer. On August 25, 1991, he announced this system on Usenet, on the comp.os.minix list. His project quickly gained followers and there were many who joined him, and began to develop for said Kernel.
Linus initially released his software under his own license, although he finally chose a GNU GPL license in 1992, in part because the C tool he had used to compile it was also GPL.
The name of Linux, for this kernel, was taken months after its publication, since Linus himself had originally wanted to call it "Freax". In fact, in the first version of the kernel, you can see inside the makefile, how you called it this way. Finally Ari Lemmke, who was one of the people in charge of the FTP server at the Helsinki University of Technology, placed the files on the server under the "Linux" project without consulting Linus. Linus did not like this name because he found it too self-centered or selfish.
He finally agreed to the name change and a long time later in an interview, Linus himself commented that "it was simply the best name that could have been chosen."
The FSF (GNU) was developing a kernel called Hurd (still under development). This kernel was developing more slowly than they came to think. So before the release of the Linux kernel, it was adopted within the project.
So, the correct name for the Operating System is not Linux, but GNU/Linux. Nowadays when people talk about Linux, they are really talking about GNU / Linux .
The kernel itself is useless. The kernel is the component that makes the software, and therefore the user, able to communicate with the hardware. But it takes more than a kernel to run a computer. It is necessary that there are certain programs in the user part. These programs may or may not be licensed under the GPL (GNU).