Linux vs Windows: Choice vs Simplicity
Although PC systems based on Linux and on MS Windows have the same objectives (running software applications), their underlying philosophy is very different. Windows is entirely controlled by Microsoft, and released as a monolithic system that you either install or you don’t; you buy a pack (or a PC that has a pack pre-installed), and that gives you everything you need to run your system. You even get some basic applications thrown in. The only thing you have to worry about is whether you have the latest version (and any patches). When a new version is released, you go out and buy a copy and install it on top of your existing system. This makes things very simple for the user, but you have no choice on what goes into this system: if you like it, fine; if not, tough.
Linux is different: there is no controlling company that decides what is and is not included. Because Linux-based systems are all open source, anyone can make their own changes to any program or structure; they can decide to distribute these changes and other people can then decide whether these changes are an improvement they wish to adopt or not. This leads to enormous variety and a huge amount of choice, which is a Good Thing for experienced users but rather daunting for the beginner. What’s more, new versions of these programs are released according to their developers’ schedule, not all at once as with Windows.
In addition, open-source software is more or less by definition distributed as source code, much of which has to be compiled into computer instructions before it can be used. This is also a rather daunting task for the non-specialist.
Fortunately for non-specialist users of Linux-based systems, various companies and organisations have sprung up to provide a complete package of compiled software that the user can install and use in a similar way to MS Windows. These packages are called distributions or distros. See next page for further details on individual distros.
Components of Linux-based system
The term ‘Linux’ is often misused. Strictly speaking, it only applies to the actual operating system, which controls the hardware. Linux = “Linus’s Unix”, a Unix system named after the system’s inventor, Linus Torvalds. This operating system is aka the kernel. It is small - a version that will run on most PCs will easily fit on a floppy disk - but you can’t do much with it. The basic commands that tell the kernel what to do - move and copy files, and so on - are those developed for the GNU project, and these programs combined with the kernel are aka GNU/Linux. (GNU, btw, stands for Gnu is Not Unix.)
Install these two, and when you start/boot the system you are in what the Unix world calls a shell, the command prompt, aka CLI: command line interface. This enables you to load and run the applications you want to use.
Many server systems are run like this, with administrators running their server programs from the shell. This is fast, but it does mean you have to remember the commands and the parameters that go with them. So nowadays most end-users are used to running a graphical user interface (GUI) with windows, menus and mouse-clicks. For this, you have to install a special program to control the interface with the display monitor. Most Linux systems use one called simply X. Again, though, this is simply an interface which you can’t do much with, so a further program called a window manager has to be installed, which tells X what to do, displaying the windows on the screen and allowing the user to move, resize them and so on. A more sophisticated version of the window manager is the desktop environment, which adds further functionality enabling, for example, applications to communicate with each other.
MS Windows has the same underlying structure, of course, but users are only aware of the top-level desktop environment that they interact with. It is possible to only use part of the structure provided by Microsoft, and use for example a different window manager, but this is not done very often. For most users, ‘Windows’ is the whole package.