UNIX was developed in 1969 in the computer labs of the US phone company AT&T, by a group of employees including Ken Thompson, Brian Kernighan and Dennis Ritchie. The philosophy of UNIX was to roll all the basic low-level functions of the OS into a single bundle called a ‘kernel’, and to supplement this with many relatively small and simple add-on programs for carrying out specific operations. Another feature of UNIX is its heavy reliance on the C programming language, developed by Kernighan and Ritchie, which also became immensely popular and widely used.
As the number of C programmers increased, so did global interest in UNIX. Because of US anti-trust regulations, AT&T were forbidden to sell computer products, so having created UNIX for their own use they proceeded to give copies away to anyone who asked. Soon UNIX was being used – and improved – all around the world. Universities were especially keen on having a free OS to play with, and by the early 1980s UNIX had become a de facto standard for university computer laboratories in the West.
DOS, GNU and Linux
Meanwhile the rapid growth of PC ownership and use made it clear that this was going to be the future of computing. Initially each PC manufacturer provided their own operating system and their own software, which was usually incompatible with any other brand. In 1981, however, the giant computer company IBM, scrambling to get into this new market, made a momentous decision: they would build their PC out of commercially available parts rather than patented hardware. For the OS they approached what was then a small company called Microsoft.
Microsoft were smart enough to see that where IBM led others would follow, and they agreed to supply the OS for IBM on condition that they could also sell it separately to anyone else building a similar PC. The IBM version was called PC-DOS, and was provided with any IBM PC. The commercial version was called MS-DOS, and went on to be the biggest selling software of the time. Microsoft had guessed correctly; dozens, and then hundreds, of PC manufacturers around the world quickly switched their production lines to making IBM ‘clones’ and – with the sole exception of the Apple Macintosh – competing hardware and software rapidly disappeared from the market.
This left UNIX users and developers in a quandary. They were eager to play with and develop software for PCs, but were often unable or unwilling to purchase MS-DOS, which many of them regarded as flawed and inadequate. Many of them were emotionally as well as financially committed to communal software development, rather than a market dominated by a few giant distrbutors. During the 1980s many of them joined the GNU Project, headed by the keen activist Richard Stallman, and developed many utilities and applications for PCs; but they were unable to come up with an OS that could substitute for MS-DOS.
This changed in 1991 with the release of Linux, a PC operating system developed by Linus Torvalds, a Swedish-speaking Finn at the University of Helsinki. Torvalds originally called the system ‘Freax’, but the host of the file server from which it was distributed placed it in a folder called ‘linux’, after Linus, and the name stuck. It soon became clear that combining the GNU utilities with the Linux kernel created a powerful and versatile OS which could compete with MS-DOS on its own ground. Stallman and his supporters have promoted the use of the name ‘GNU/LINUX’ for the combined product, but in general the community has preferred to call it simply ‘Linux’.
As with UNIX itself, the earliest Linux sites were in universities. Even here, as in its earliest commercial uses, Linux tended to run ‘in the background’, operating on web servers and database machines that ordinary users seldom came into contact with. At that time the only way to work a Linux system was by issuing complex and hard-to-remember commands, so both learning and using it was a painful process. Nonetheless, by the early 1990s Linux had built up a large base of users and developers across the globe.
Unfortunately its entry into commercial and home use was effectively blocked by another Microsoft coup; the development and release of the Windows graphical user interface (GUI) which at that time ran on top of MS-DOS. Windows provided a user-friendly mouse-and-menu based way of accessing the operating system and running programs, while Linux users were still struggling with a command line. To achieve real popularity, Linux needed a Windows of its own.
Linux GUI’s: GNOME, KDE, XFCE
The times called forth the man – or, rather, the men. In 1997 Federico Mena and Miguel de Icaza in Mexico released the first version of their GNU Network Object Model Environment – GNOME for short – which provided a Windows-style interface for Linux applications. This was followed in 1998 by the K Desktop Environment (KDE) developed by Matthias Ettrich in Germany. Both interfaces currently remain in development, and both are widely used across the Linux community. KDE is regarded as a little more formal and austere, perhaps because of its Teutonic origins, while GNOME is seen as free-wheeling and relaxed, though in practice there is little to choose between them. The third spot in popularity is occupied by XFCE, developed by Olivier Fourdan, which is especially suitable for older computers because of its fast speed and low memory requirements.
Unlike DOS, which since the release of Windows XP in 2001 has been incorporated into the Windows interface, the Linux command-line interface remains very much alive under the ‘skin’ of GNOME, KDE or XFCE. Linux users can turn off their GUI at any time and work directly with the command line, or alternate between different GUIs without affecting the performance of the programs on their PC. The various GUIs are all just programs running on an underlying core of Linux.