One of the most attractive features of Linux and related software is that it is free. This has created considerable confusion, because “free” has several meanings.
Many people, myself included, were first attracted to Linux because it was “free as in beer.” That is, I didn’t have to pay for it. I could have it for nothing. Just download it, put it on disks (back in the day), boot up, and bingo – free software.
I still find this very attractive. Over the years I have gotten spoiled by almost never having to pay for the software I used. I like that.
However, this meaning of “free” tends to obscure another meaning which I believe is more important: Linux is “free as in speech.” This idea has completely changed the course of software. It has greatly enriched the quality and variety of software, and has even helped improve software that is not free in any sense of the word.
Companies that create software often take steps to ensure that they are paid for their efforts. One way they do this is to restrict what anyone can do with the software. They may forbid copies to be made; or for anyone to examine the code and modify it. They may require that they are paid for each person in a company who uses the software.
Much software comes with a EULA, an End-User Licensing Agreement. This license spells out what a user can and cannot do with the software. In general you can’t use the software unless you agree to the terms of the EULA.
The EULA generally forbids the user to copy, share, modify, or reverse-engineer the software. Usually there will be a disclaimer of warranty, that the product is provided “as-is,” meaning it it’s faulty, the company has no obligation to correct the problem. Most companies do not provide the source code of their software; this is why it’s called “closed source.”
The upshot of these licenses is that you have very few rights. You are at the mercy of the company. They may provide bug fixes and security updates; or they may not. You don’t get to choose. Some companies have given their bug fixes new version numbers and then required their customers to buy the license for the bug fixes.
Richard Stallman
Some software writers, however, objected to these closed and non-free restrictions. In particular, Richard Stallman has fought against restrictive and limited software. Stallman and his colleagues wrote a large body of software that would be compatible with the Unix operating system; but Unix was a closed system, so Stallman made his own, called GNU. Those are initials for, “GNU’s Not Unix.”
Linus Torvalds
Stallman’s original plan was to write an entire kernel as well as the various support programs that make up a full operating system. Evidently his kernel ran into some snags. In the meantime, another software author started a Unix-like kernel. This author was Linus Torvalds, and his kernel was Linux.
I should clarify here the difference between a kernel and an operating system.
A kernel is the most basic software, the code that directly affects the hardware. By itself, the kernel can’t do much of anything useful. Linux is the kernel. Linux by itself is not an operating system.
An operating system is the kernel, along with support software that does such things as manage files, connect to the network, set up users, and many other low-level tasks. These programs were largely written by Richard Stallman and his colleagues. Stallman states that what is called “Linux” should instead be referred to as “GNU/Linux” to show the part that GNU played. This would perhaps be fair, but the idea hasn’t caught on, and GNU/Linux is almost universally just referred to as “Linux.”
Torvalds released his kernel under the GNU General Public License, which allowed for a complete operating system that was “free as in speech.” The whole operating system was unencumbered.
This freedom allowed for an explosion of programmers who contributed to create increasingly complex and sophisticated software. I think many programmers were inspired by the idea of making something excellent that was also free. Some corporations contributed money and other resources for Linux development.
Not all corporations were happy with this free software nonsense – in particular, Microsoft wanted to crush the whole project. There was much internal discussion on how to put a stop to Linux, including the infamous Halloween Documents. These documents contained tentative plans to stop the spread of free software. They were leaked, and the world could see firsthand that Microsoft was scared.
Of course those plans were unsuccessful. Microsoft didn’t crush Linux; and now they’re using Linux.
One of the indirect benefits of free software is that it puts some pressure on corporations to fix their buggy software. It costs money to fix bugs, but the corporation doesn’t receive any money. for them There’s a tendency to let the bugs slide, fix them in a new release, and in the meantime let the customers fend for themselves.
But when there were alternatives to the corporation’s products, there was now a concern that people would simply move on to another system. As the competition improved, companies realized that they couldn’t abandon their customers altogether. The users might opt for the free version.
Ultimately, the quality of software in general was enhanced.