A brief history of Linux
Before getting into the subject, I would like to provide a little background on the history of the operating system. As we know, the history of personal computing is somewhat short – only about 50 years, and, speaking of GNU/Linux in particular, a little less than that.
It was dark times at the end of the 1960s when Ken Thompson wrote the first version of Unix on a PDP-7 minicomputer based on Multics, composed of a kernel, a shell, an editor, and an assembler.
In 1970, the development of the operating system continued at AT&T Bell Labs. Now on a PDP-11 machine, Brian Kernighan suggested the name Uniplexed Information & Computing Service (UNICS). However, the BCPL and B languages that were used presented several implementation problems on the new platform. In 1972, Denis Ritchie, using both languages, developed a new high-level language, now known as the C language, adding data typing and other powerful functions. With that, the Unix system was born.
Software development for this platform continues, with important additions to the operating system. In 1976, Richard Stallman, a student at MIT, while working in a group that used free software exclusively, wrote the first version of Emacs in Text Editor & Corrector (TECO).
In the early 1980s, almost all software was proprietary because technology companies focused their efforts individually, without thinking about collaborative development. This led Stallman to create the GNU Project (meaning GNU is not Unix) in 1983, which pursued the creation of a free operating system that was based on Unix. This was because the general design was already proven and portable, bringing back the spirit of cooperativity that had prevailed in the computer community in earlier days.
Stallman started GNU Emacs by distributing the code for 150 USD. He then used this money to fund the creation of the Free Software Foundation in 1985. Emacs was distributed under the Emacs General Public License, which allowed it to be distributed and used freely while preserving its copyright and restricting him to preserve it even through modifications or additions to the code that could be made later.
Under this same concept, in 1989, the first version of the GNU General Public License (GPL) was released, extending the use and distribution of free software to all programming developments that adopted it as part of the GNU Project.
The second version of the license was published in 1991, with the main difference being that the license’s obligations couldn’t be separated due to conflicting obligations. This provision was intended to discourage any party from using a claim of patent infringement or other litigation to prejudice the freedom of users to use the earlier version.
In the same year, Linus Torvalds, a Finnish student, used Tanenbaum’s 1987 book [Operating Systems: Design and Implementation], Bach’s 1986 book [Design of the UNIX Operating System. Bach, Maurice J. Pearson Education. 1986], and the Jolitz articles [Porting UNIX to the 386: A Practical Approach. William Jolitz. Dr. Dobb’s Journal, Volume 16, Issue 1, Jan. 1991. pp 16–46.], to port some basic tools to create a (free) operating system … for 386(486) AT clones as a hobby and asked for help on the Usenet group comp.os.minix
(https://groups.google.com/g/comp.os.minix/c/dlNtH7RRrGA/m/SwRavCzVE7gJ), which became what we know today as Linux:
Figure 1.1 – Original post by Linus Torvalds in the Usenet group comp.os.minix
Linux was not always open source. The first Linux licenses prohibited commercial redistribution. It was with version 0.12, released in early 1992, that the Linux kernel was released under the GPL. According to Linus Torvalds, open sourcing Linux was the best thing he ever did.
Inspired by the success of this effort, various new software development projects emerged to boost the newly created operating system. These developments provided new functionalities and tools that complemented and facilitated the use of Linux, besides expanding the use of the platform to different areas such as business and personal use.
The use of the GPL was the driving force behind the development based on the cooperative nature of the computing community.
This spirit of collaboration founded the basis of what we know today as Linux, but it took a push to make the fruits of these efforts reach everyone. This came with Linux distributions, known as distros.