Categories: How-To

Why is Linux free?

To answer this question, it is necessary to understand the history of the creation of this operating system.

First, UNIX

The Unix operating system was designed and implemented in 1969 by AT&T Bell Laboratories in the United States by Ken Thompson, Dennis Ritchie, Douglas McIlroy, and Joe Ossanna.

Ken Thompson and Dennis Ritchie

First released in 1971, Unix was written entirely in assembly language, a common practice at the time.

Then, these guys saw that it was impossible to write something so complete in Assembly. Then they decided to write a high-level language. They called it Language B, from Bell Labs.

This language evolved and was later called Language C, simply because it came after B.

Later, in 1973, the system was rewritten in the C programming language by Dennis Ritchie.

The availability of a high-level language implementation of Unix made it easier to port it to different computer platforms. At the time, most programs were written on punch cards that had to be inserted in batches on mainframe computers.

DEC PDP-7 is a mini-computer produced by Digital Equipment Corporation

Due to an antitrust law that prohibited it from entering the computer business, AT&T was required to license the operating system’s source code to whomever wanted.

As a result, Unix grew rapidly and became widely adopted by academic institutions and various companies. In 1984, AT&T got rid of Bell Labs; free from the legal obligation requiring royalty licensing, Bell Labs began selling Unix as proprietary software, called Unix System V.

Ricard Stallman decides to write an operating system

Richard Stallman, founder of the GNU Project and the Free Software movement. Stallman is the philosophical godfather of the movement.
Photo by J.T.S. Moore

The GNU Project, initiated in 1983 by Richard Stallman, aimed to create a “software system completely compatible with Unix”, composed entirely of free software. He called this system GNU – GNU is Not Unix – a recursive acronym.

Later, in 1985, Stallman started the Free Software Foundation and wrote the GNU General Public License (GNU GPL) in 1989. In the early 1990s, many of the programs needed in an operating system (such as libraries, compilers, text editors, a Unix shell, and a window system) were completed, although low-level elements, such as device drivers, daemons, and kernel drivers, were paralyzed and not completed .

Minix, the Unix for teaching operating systems

In 1987, Professor Andrew S. Tanenbaum created a UNIX-compatible operating system ported to PCs.

Professor Andrew S. Tanenbaum

His objective was to use this system created in C Language and Assembly to explain the principles of his textbook, “Operating Systems Design and Implementation” from (1987).

An abbreviation of the 12,000 lines of code from the MINIX 1.0 Kernel, Memory Manager, and File System are in the book. Prentice-Hall also released the MINIX source code on floppy disks with a reference manual. MINIX 1 had a calling system compatible with the Seventh Edition of UNIX.

Minix became popular in the academic computing environment because most students wanted to run the Unix they used at universities, but due to the price of hardware and software licenses, it was prohibitive.

Linus Torvalds decides to make his own system compatible with Unix

Linus Torvalds, a computer student at the University of Helsinki, began developing the core of his Unix-compatible system as a private project, inspired by his interest in Minix.

He merely created, in his own words, “a better Minix than Minix” (“a better Minix than Minix”). And after some time working on the project, alone, he sent the following message to the usenet mailing list comp.os.minix:

Famous Linux announcement email

Hello to everyone who uses Minix

.

I’m making an operating system (free) (it’s just a hobby, it’s not big and professional like GNU) for my 386 (486) AT. I’ve been working on it since April, and now it’s starting to get ready. I would like feedback on things that people like/hate about Minix, since my system resembles it (even physical layout of the file system (due to practicality) and other things).

I’ve already ported bash (1.08) and gcc (1.40), and things seem to work.

This implies that I will have something practical within a few months, and I would like to know what are the characteristics that people want most. Any suggestion would be welcome, but I don’t promise I’ll implement it 🙂

PS. Yes – it doesn’t have any Minux code, and it has a multi-threaded file system. It’s not portable (uses the 386 task manager, etc.) and it’s likely that it will never work with any other hard drive other than the one I have. 🙁

Free e-mail translation

On October 5, 1991, Linus Torvalds announced the first “official” version of the Linux kernel, version 0.02.

Linux was almost not created

If GNU had been released before 1991, Linus Torvalds probably wouldn’t have created Linux and used 386BSD.

In any case, the people of the free software movement made their contribution because in 1992, impacted by the GNU and Free Software movement, Linus Torvalds changed the Linux kernel license from its own license to a free license compatible with the GNU project’s GPL.

Since then, many programmers have contributed to the development, helping to make Linux the hugely successful collaborative kernel it is today.

Linux is a success because it’s collaborative

In the beginning, it was used by programmers or only by those who had knowledge and used command lines. Today that has changed and there are several groups that create graphical environments for the various GNU/Linux distributions, which are increasingly friendly, so that a person with little knowledge is able to use Linux, through a GNU/Linux distribution, for example.

Today, Linux is a stable core and can recognize many peripherals without the need for the user to install sound, video, modem, network drivers, among others.

Interestingly, the name Linux was created by Ari Lemmke, administrator of the website ftp.funet.fi who gave that name to the FTP directory where the Linux kernel was initially available. Linus had initially named him “Freax”.

Uirá Endy Ribeiro

Uirá Endy Ribeiro is a Software Developer and Cloud Computing Architect with a 23-year career. He has master's degrees in computer science and fifteen IT certifications and is the author of 11 books recognized in the IT world market. He is also Director at Universidade Salgado de Oliveira and Director of the Linux Professional Institute - LPI Director's Board.

Uirá Endy Ribeiro

Uirá Endy Ribeiro is a Software Developer and Cloud Computing Architect with a 23-year career. He has master's degrees in computer science and fifteen IT certifications and is the author of 11 books recognized in the IT world market. He is also Director at Universidade Salgado de Oliveira and Director of the Linux Professional Institute - LPI Director's Board.

Share
Published by
Uirá Endy Ribeiro

Recent Posts

Sudo command on Linux (privilege scale) [Basic Guide]

The sudo command on Linux executes a given command as if it were another user.…

2 years ago

SS command on Linux (investigate the network) [Basic Guide]

The ss command on Linux is extremely useful for investigating sockets, providing various information about…

2 years ago

Free Linux command (memory usage) [Basic Guide]

Free Linux command shows the amount of total memory in use and available, as well…

2 years ago

Linux while command (loop – while) [Basic Guide]

The shell has structures for testing conditions and executing certain program sequences several times (loop),…

2 years ago

Linux fstab file (disk mount setup) [Basic Guide]

The /etc/fstab file stores the configuration of which devices should be mounted and what is…

2 years ago

Netcat command on Linux (Swiss network knife) [Basic Guide]

The Netcat Command in Linux or nc is a utility used to do “almost anything”…

2 years ago

This website uses cookies.