Linux is Born
August 25, 1991 is considered as Linux kernel’s official birthday because Linus Benedict Torvalds, then a student at the University of Helsinki, first made a post on that day (Box-1) about his work on a new operating system, his “hobby”. As per his post, it had “been brewing” for a while. The first version was released to public on September 17, 1991.
Linus Torvalds |
Torvalds had named it “Freax” – a portmanteau of the words “free,” “freak,” and UNIX. The volunteer administrator for the university’s server and a friend of Torvalds, who uploaded the code on the server, did not like the name and changed it to Linux. The new operating system (OS) began to make a notable impact after the release of version 0.02 to the world at large on October 5, 1991. From then on, it went on to become perhaps the most successful software in computing history. The Linux community adopted a penguin nicknamed Tux as the mascot of the Linux kernel. Although created originally in 1996 as an entry for the Linux logo contests, Tux was not the winner!
In 25 years, the Linux code has gone up from a few thousand lines to about 22 million. More than 13,500 developers, over 1,300 companies, and thousands of individuals have contributed developing and improving it from the time detailed tracking of the changes became possible from 2005. Linux and the open source software – as products, projects, a movement, and as a business model – have travelled a long way. Linux did not appear out of the blue. There is a very long history behind it. Besides Torvalds, many less known people have played stellar roles in these developments. This article is an attempt to give a broader picture than is available in most of the print media and the Internet while celebrating the 25 years of Linux. It ought to be also an occasion to recall MINIX of 1987 and UNIX along with ‘C’ programming language of the early 1970s.
Ever since Torvalds released the Linux OS from his college dorm room in Finland in 1991, the software, which for him was “just a hobby, won't be big and professional”, has overwhelmed the world. A large part of the Internet—including the servers of Google, Amazon.com, and Facebook—run on Linux. More than a billion smartphones and tablets run on Android based on the Linux. Besides, unnoticed by most of us, billions of devices – small and large appliances, medical equipment, cars, military equipment, and the like – run on Linux or systems built based on Linux. The ‘Bloomberg Technology’, which interviewed Torvalds on June 16, 2015, compared him to Henry Ford:
UNIX, MINIX and FOSS
Richard Stallman |
Many in the Free and Open Source Software (FOSS) community perceive themselves as spearheading an alternative to the profit-led capitalist economy with almost religious zeal. They zealously promote the idea that ‘Free’ in FOSS stands for ‘Freedom’ and ‘Open’ means nothing is hidden or restricted. Some are dedicated software evangelists for whom FOSS comes before everything else for which they are willing to devote their quality time and resources. It is that large, selfless community who critically evaluate every FOSS product and bring about improvements – patches, security updates, software updates, and revamps – by contributing to the community effort in different ways. Some are the best programmers, some help with documentation, many others support localisation drives that try to make every FOSS available in local languages across the world. Many tend to view themselves as part of a larger radical movement.
Some are suspicious of FOSS assuming it to be some sort of a socialist political initiative that is determined to undermine the huge profits of the software industry. Others like Torvalds do not subscribe to the ideas of software being an instrument for social transformation. He does not promote Linux on moral or ideological grounds. Instead, he considers open software as a better way of doing software. In an interview, he says “I find people who think open-source is anti-capitalism to be kind of naive and slightly stupid.” The views of Torvalds are, thus, quite different from the radicals like Richard Matthew Stallman (‘rms’) who gave up his job, started the GNU project, launched the free software movement and founded the Free Software Foundation (FSF). For Stallman, it is not enough for software to be open, it must necessarily be free, with the license giving the user – be it an end-user or a developer – the freedom to alter to suit their big or small needs. The FSF website proclaims:
When Linus Torvalds first made the announcement, requesting feedback from others about the free OS he was pursuing as a 'hobby', it was addressed primarily to those working with the early versions of MINIX ('mini-UNIX'), a tiny OS created in 1987 for teaching by Andrew Tanenbaum of the computer science faculty of Vrije University, Amsterdam. He created it because almost overnight AT&T which had allowed universities the freedom to use UNIX for teaching changed its policy. Tanenbaum notes in an article on the 30 years of MINIX:
To overcome this, Tanenbaum included the entire MINIX code in his textbook on operating systems, "Operating Systems Design and Implementation", published in 1987. In those days, the Internet and data communications were not what it is now and there were not many options for distributing the code. Adding the entire source code to the textbook was a very effective way to distribute it at that time among teachers, students, and developers.
Andrew Tanenbaum |
MINIX was a skeletal OS - a micro-kernel. It was UNIX-like without violating the copyrights. Unlike UNIX that ran on the big computers, Tanenbaum designed MINIX micro-kernel for compatibility with the new IBM PC and IBM PC/AT microcomputers (desktops) - the first relatively low-cost personal computers. The features and core design of Linux, therefore, come from UNIX developed at the AT&T Labs in 1969. UNIX considered as the grandfather of all the operating systems was created by Dennis MacAlistair Ritchie ('dmr'), Kenneth Lane ('Ken') Thompson, Brian W. Kernighan, Douglas McIlroy and Joe Ossanna.
UNIX emerged from a joint effort by Massachusetts Institute of Technology, AT&T Bell Labs, and General Electric in the mid-1960s to develop an ambitious experimental time sharing and multitasking OS called MULTICS (Multiplexed Information and Computer Services). While the MULTICS resulted in many innovations, the mounting difficulties made AT&T pull out of the project. It was released commercially in 1973 and ran at several installations worldwide until the last one was shut down in October 2000 after a run of 27 years.
UNIX emerged from a joint effort by Massachusetts Institute of Technology, AT&T Bell Labs, and General Electric in the mid-1960s to develop an ambitious experimental time sharing and multitasking OS called MULTICS (Multiplexed Information and Computer Services). While the MULTICS resulted in many innovations, the mounting difficulties made AT&T pull out of the project. It was released commercially in 1973 and ran at several installations worldwide until the last one was shut down in October 2000 after a run of 27 years.
Brian Kernighan |
The last AT&T researchers to leave the MULTICS project—Ken Thompson, Dennis Ritchie, Doug McIlroy, Joe Ossanna and a few others—continued the work on a much smaller scale on a spare PDP-11 computer. Their effort led to the creation a highly efficient, much leaner and less complex OS, which was jokingly named ‘UNICS’ in contrast to MULTICS. Initially, this effort was without formal organisational backing, and nameless. In 1970, Peter Neumann gave the project the funny name UNICS by mischievously replacing the word ‘multiplexed’ in MULTICS with ‘uniplexed’. It sounded like ‘eunuch’, mockingly calling the new OS as an emasculated version of MULTICS.
Although nobody is quite sure of how or when UNICS became UNIX, some attribute that change to Kernighan, who also popularised Thompson's vision of UNIX. This is how Dennis Ritchie described the vision in 1979:
|
‘Ken’ Thompson |
Between 1969 and 1973, Dennis MacAlistair Ritchie (died October 12, 2011, aged 70 years) created the versatile programming language 'C' to quicken and streamline the development of UNIX. By creating C, Ritchie gave birth to the concept of open systems. Both UNIX and C were the result of pure research. 'C' was developed for porting UNIX to any computer. It was designed in a way that allowed the code written on one computer system (and effectively the skills used to develop them) to be easily transferred to another. With 'C', Ritchie reshaped the world of computing in a very fundamental way. The 'C' programming language is the basis of almost all the major programming and scripting tools in use today or has a deep influence on them.
UNIX was first presented formally to the outside world at the 1973 Symposium on Operating Systems Principles by Ritchie and Thompson. Certain regulatory restrictions imposed on AT&T prohibited them from selling Unix as a product. In 1973, AT&T released UNIX Version 5 and licensed it to educational institutions. The licenses included the machine-dependent parts of the kernel written in PDP-11 assembly language. Based on the UNIX Version 6 from AT&T, the Computer Systems Research Group, University of California (Berkeley) developed the Berkeley Software Distribution (BSD) UNIX. That gave rise to two major branches of UNIX—the AT&T and the BSD.
In 1976 John Lion published the book “Lions' Commentary on UNIX 6th Edition, with Source Code” based on his lecture notes for the computer science course he was teaching at the University of New South Wales. For many years, this book was the only UNIX kernel documentation available outside the AT&T Bell Labs. The book quickly became popular and came to be called “Lions’ Book”. The circulation of Lions’ Book helped in the emergence of many UNIX groups, the formation of the USENIX organisation, and the extensive use of the book in teaching. Unlike the license of UNIX 6th Edition that permitted classroom use of the source code, the license of UNIX 7th Edition specifically prohibited any such use. Therefore, Lions’ Book spread through illegal photocopying, becoming perhaps the most copied book in computer science.
In the early 1990s, with the release of the UNIX 7th edition, AT&T filed a copyright violation case against the University of California disputing the use of the AT&T owned UNIX code in the BSD UNIX. The copyright dispute and the refusal of the owners to allow others to freely develop UNIX variants for the small computers severely limited the system’s development and its wider adoption. That rigid legal position prohibited the widespread use of the versatile OS designed for easy portability across systems.
The main reason that compelled Tanenbaum to develop the MINIX for teaching was to overcome the difficulties posed by the copyright dispute. AT&T which had copyrights over UNIX had no interest in porting UNIX to smaller computers and less expensive hardware. That policy ensured that nobody could legally port UNIX to the smaller machines. Not only did various hardware-specific proprietary OS compare poorly with UNIX, the copyright restrictions disallowed anyone from using even portions of their source code, if available, for academic or research purposes because it could potentially violate the copyrights.
The main reason that compelled Tanenbaum to develop the MINIX for teaching was to overcome the difficulties posed by the copyright dispute. AT&T which had copyrights over UNIX had no interest in porting UNIX to smaller computers and less expensive hardware. That policy ensured that nobody could legally port UNIX to the smaller machines. Not only did various hardware-specific proprietary OS compare poorly with UNIX, the copyright restrictions disallowed anyone from using even portions of their source code, if available, for academic or research purposes because it could potentially violate the copyrights.
GNU/Linux
There was an urgent need for an affordable, robust and reliable OS that can be run on diverse small computers. This prompted Richard Stallman to start the GNU Project in 1983 with the main goal of creating a UNIX-like system that is completely free. He announced the plan in September 1983 on several mailing lists and bulletin boards. The name “GNU” is a recursive acronym for “GNU's Not Unix.” “GNU” is pronounced g'noo, as one syllable, like saying “grew” after replacing the r with n.
The logo of GNU is the head of a gnu (the animal wildebeest) - a large, dark antelope with a long head, a beard and mane, and a sloping back. Stallman pioneered the concept of 'copyleft', which uses the principles of the copyright law to preserve the right to use, modify and distribute free software, and is the main author of free software licenses which describe those terms, most notably the GNU General Public License (GPL), the most widely used free software license. By 1990, mainly through the efforts of Stallman, the GNU project had all the major components for a complete UNIX-like OS, except one crucial component—the kernel (Box-2). That was resolved with the creation of Linux, a UNIX-like kernel from MINIX, by Linus Torvalds in 1991. The GNU website provides a detailed account of the free software philosophy, with its emphasis on the freedom of the user to control the software:
The logo of GNU is the head of a gnu (the animal wildebeest) - a large, dark antelope with a long head, a beard and mane, and a sloping back. Stallman pioneered the concept of 'copyleft', which uses the principles of the copyright law to preserve the right to use, modify and distribute free software, and is the main author of free software licenses which describe those terms, most notably the GNU General Public License (GPL), the most widely used free software license. By 1990, mainly through the efforts of Stallman, the GNU project had all the major components for a complete UNIX-like OS, except one crucial component—the kernel (Box-2). That was resolved with the creation of Linux, a UNIX-like kernel from MINIX, by Linus Torvalds in 1991. The GNU website provides a detailed account of the free software philosophy, with its emphasis on the freedom of the user to control the software:
"Free software" means software that respects users' freedom and community. Roughly, it means that the users have the freedom to run, copy, distribute, study, change and improve the software. Thus, "free software" is a matter of liberty, not price. To understand the concept, you should think of "free" as in "free speech," not as in "free beer". We sometimes call it "libre software," borrowing the French or Spanish word for "free" as in freedom, to show we do not mean the software is gratis.
Linus Torvalds thought it would be good to have a freely available UNIX-like OS for academic use. The absence of a GNU Kernel made Linus start his work on a UNIX-like kernel. The MINIX itself was essentially a 'UNIX-like' micro-kernel and he used it to develop a complete UNIX-like kernel without violating any copyrights. Eventually, he replaced almost all the MINIX components. The Linux and the GNU system was merged to create GNU/Linux, essentially a reimplementation of UNIX from scratch building on MINIX and GNU. With this, the development of a UNIX-compatible OS was complete without infringing on the UNIX copyrights. On August 25, 1991, Torvalds made the post in Usenet (a users' group) about the creation of the kernel. Soon, on September 17 the first Linux kernel (version 0.01) was released followed by the public release of the next version (0.02) on October 5. The 'distro' with a Graphical User Interface (GUI) was released in May 1992.
Looking Ahead
The fact that after 25 years, Linux that started as one man’s ‘hobby’ to make a UNIX-like kernel, is powering billions of devices all over the world is a testament in itself. Many people insist on calling the OS “GNU/Linux distributions.” It’s the Linux kernel that is the heart of Android and so many other system software. It is difficult to state exactly how popular Linux is on the web currently, but, the data available shows that Linux, Unix and Unix-like OS power about 67 percent of all web servers (Fig. 1). Even Microsoft, once the sworn enemy of Linux, has embraced this open source OS. In 2012, the company announced that it would let companies run Linux on its cloud computing service, Microsoft Azure. About one-third of Azure instances are now running Linux instead of Windows. On desktops, while Microsoft Windows dominates with a 90% share, Linux share rose exceeding 2% by July 2016. When it comes to smartphones, nearly 88% of the smartphones run on either Android, built with the Linux kernel and the Apple’s iOS built with the UNIX kernel. Almost all the supercomputers today are running Linux.
Maybe, it does not make too much sense to ask where will Linux be ten years into the future. Change – fast and furious – has been the most conspicuous feature of Linux. An article commemorating 25 years of Linux notes that the next wave of change is already visible with many new projects and experiments that could reshape Linux with the new trends – embedded systems for the so-called ‘things’ (various equipment that are not used like a handheld device or a computer) and all sorts of needs driven by cloud-based computing. What is most remarkable about Linux is the portability to all kinds of devices and the adaptability to meet diverse requirements. As we have seen, this will lead to many kinds of systems that may be based on Linux kernel similar to Android and Chrome-OS.
With the focus shifting to the Internet-of-Things (IoT), the search is on for suitable open source operating systems and there are several variants of Linux-based OS that are either in use or are being tried out. Interestingly, when Torvalds was asked about the next 50 years, he said that many of the basic challenges with operating systems are the same today as they were back in the sixties long before Linux. In his view, we have perhaps seen more changes in how computers work in the last 50 years than what is likely in the next 50 years! While the demand for smarter machines will grow, people will want the machines to do exactly what they ask them to do. In that sense, he says “the ‘old-fashioned’ computing won’t be going away; it’ll just get augmented.”
With the focus shifting to the Internet-of-Things (IoT), the search is on for suitable open source operating systems and there are several variants of Linux-based OS that are either in use or are being tried out. Interestingly, when Torvalds was asked about the next 50 years, he said that many of the basic challenges with operating systems are the same today as they were back in the sixties long before Linux. In his view, we have perhaps seen more changes in how computers work in the last 50 years than what is likely in the next 50 years! While the demand for smarter machines will grow, people will want the machines to do exactly what they ask them to do. In that sense, he says “the ‘old-fashioned’ computing won’t be going away; it’ll just get augmented.”
For more information:
History of UNIX: https://en.wikipedia.org/wiki/History_of_Unix
History of Linux: https://en.wikipedia.org/wiki/History_of_Linux
MINIX today: http://www.minix3.org/news/index.html
POSIX (Portable Operating System Interface): https://www.gnu.org/software/libc/manual/html_node/POSIX.html
GNU General Public License (GNU GPL or GPL): https://www.gnu.org/licenses/quick-guide-gplv3.en.html
Comments