Linux is an operating system (OS) for computers, in much the same way as Microsoft Windows (MSW) and Mac OS X are. An operating system is software that runs on a computer, to support applications and control the hardware. Applications are software programs that help you to do useful stuff on the computer, such as surf the web, send email, write letters, play music, compute pi, etc. Applications are not part of the operating system, they kind of ‘sit on top’ of an operating system, asking it to do stuff such as get a connection to the Internet, or get keyboard input, or save a document to a hard drive, or display something on your monitor screen. The operating system mediates between applications and your computer hardware.
To a first approximation you can do more or less the same things as you can with MSW or MacOS X. In the earlier years of Linux there weren’t many application programs available – the vast majority of people used PCs with M$W and that was where the money was to be made, if that was your goal. Most people didn’t think that anyone would write good software and give it away for free unless it was crap or harbouring some kind of malware. Indeed, ‘freeware’ and ‘shareware’ for the other platforms was best avoided. However, some people did write perfectly good software and give it away – perhaps because they wrote it for an employer (e.g. university or research centre) who didn’t need to worry about commercial issues. Some were hobbyists who just wanted to help others, e.g. to operate their computer-interfaced short-wave radios, etc. Anyway, over time the amount of FOSS has increased so much (there;s now about 100,000 packages available) that most MSW/Mac programs have equivalent programs, or programs that are close enough and good enough for most people. An example would be
Adobe Photoshop – this is still the best choice for most graphics professionals, but someone like me who has less demanding requirements can save a lot of money by using The GIMP.
There are usually other equivalent programs, such as Libre Office for MS Word. If not, there is also the option of running Windows programs on Wine, which is a Windows emulator that runs on Linux (even if the name is an acronym for Wine Is Not an Emulator). One of the things that I love about Linux is that there are tens of thousands of excellent programs available at the click of a button. If I want, for example, to make some fractal pictures (like Mandelbrot) I can choose from several appropriate programs (e.g. Xaos), click the button, and the system will take care of fetching it and any supporting code needed. For free!
OK, we’re just scratching the surface. Here’s a few more ideas:
- Build your own media centre/PVR (e.g. with XBMC or Mythbuntu);
- Build your own video/audio/music studio;
- Build other projects, e.g. home automation, home surveillance, digital photo frame, home file server, …
- Run a home or business office (I ran Curious Minds on Linux for many years and never bought software);
- Play games (e.g. on Steam). This used to be a Linux weakness but this is now changing significantly;
- Learn programming, computer science, and how computers work;
- Troubleshoot crashed PCs, using a system rescue disc;
- Save money, by using free software, and by not throwing away PCs or laptops that are too old to run the latest MSW;
- Be more secure. Most malware targets MSW. Linux viruses are extremely rare. I haven’t used anti-virus software for years;
- Be more stable. I use Linux almost all day, but I can’t recall the last time it crashed. No BSODs!
- Learn about hacking and security.
The Linux kernel was created by Linus Torvalds in 1991 when he was a student at Helsinki, Finland, as a free and open source replacement for MINIX, which itself was a form of UNIX. He started writing his own operating system kernel (the core and foundation of an operating system, that mediates betwee hardware and programs).
Linux distros also include a great deal of GNU software applications. GNU (GNU’s Not Unix) was founded by Richard Stallman in 1983, with the goal of creating a “complete Unix-compatible software system” composed entirely of free software. So technically, Linux distros should be referred to as GNU/Linux, but this can be quite cumbersome. Common usage is for ‘Linux’ to refer to the kernel plus added software that comprise a Linux distribution. Just remember that ‘Linux’ owes its existence to both Torvalds and Stallman – and to many many other people who have contributed Free and Open Source Software.
GNU/Linux is an important example of Free and Open Source Software. This means that it is not only free of charge, but also free for you to use as you wish (subject to the licence, usually some form of GPL) as the source code is freely available for you to inspect and modify. If it doesn’t do exactly what you want – change it! Also, you can inspect it to make sure there are no ‘backdoor traps’ inserted at the request of some government spying agency. And the fact that there may be dozens or even hundreds of people around the world who are maintaining this software means that bugs (i.e. faults) and security vulnerabilities (very rare) tend to have a very short lifetime.
There are in fact hundreds of operating systems, but most of them are of historical interest only, or are used in specialised niche domains. The world’s most popular operating system is Linux – a fact which may surprise most people, who might think it is Microsoft Windows – which is the most popular desktop operating system, but there are computers in many places other than desktops! Most smartphones use Android, which is based on Linux. Almost all of the world’s supercomputers use Linux. Nowadays most machines and devices have a computer in them (‘embedded’), and most of those use Linux. Most of the Internet (e.g. the web) is run on Linux servers (e.g. Apache for the web). Most scientific research projects and institutes and organisations, such as CERN, and the Hubble Space Telescope use UNIX or Linux to control their apparatus and collect data (I spent most of my working career programming such computers).
Wikipedia: “Linux was originally developed as a free operating system for Intel x86-based personal computers. It has since been ported to more computer hardware platforms than any other operating system. It is a leading operating system on servers and other big iron systems such as mainframe computers and supercomputers: as of June 2013, more than 95% of the world’s 500 fastest supercomputers run some variant of Linux, including all the 44 fastest. Linux also runs on embedded systems (devices where the operating system is typically built into the firmware and highly tailored to the system) such as mobile phones, tablet computers, network routers, building automation controls, televisions and video game consoles; the Android system in wide use on mobile devices is built on the Linux kernel.”
Just as there are several flavours of Microsoft Windows, e.g. 7, 8, Vista, XP, NT, 2000 etc, so there are several flavours or distributions (‘distros’) of Linux – in fact, a few hundred are known (see Distrowatch.com)! This was once thought by MSW fans to be a weakness, as if the Linux programmers couldn’t agree on a common specification. But this was rather like insisting that there should not be so many different cars or TVs to choose from. Choice is good! This means that there are some Linux distros that are more suited to particular domains or applications than others. And there are also several ‘desktop environments’ that allow you to customise each distro more to your taste. Some popular mainstream Linux distributions include Debian, Ubuntu, Linux Mint, Fedora, Arch Linux, and the commercial Red Hat Enterprise Linux and SUSE Linux Enterprise Server.
The earliest user interfaces consisted only of text, e.g. a prompt from the computer, followed by the user’s command. This CLI (Command Line Interface) is still available on most modern desktops (and every user would do well to know how to perform basic task in it), but most users prefer a graphical environment. The most elementary component is called a window; it’s a rectangular area of the screen in which there are texts, pictures, and clickable items and/or areas to enter numbers, text, or make selections. These are managed by a window manager. A desktop environment builds on this by providing icons, toolbars, folders, and widgets, and behaviour to allow them to be moved around and optionally stacked, just like papers on your desktop.
Popular desktop environments include KDE, GNOME, Xfce, and LXDE. Most distros come with one or more of these pre-installed, and you can install others and switch between them, normally by logging out of the current session, and clicking on a pull-down menu before logging back in. Choice of DE is important because they have different behaviours, and people often have strong preferences for one or the other. For example, some DEs provide a hierarchical menu structure for launching programs, where the programs are categorised – -e.g. Games, Internet, Office, System, etc. Other DEs will temporarily take over most or all of the screen to layout a lot of programs in a grid of application icons. Some DEs offer a lot of functionality and require a reasonably modern, powerful machine with a good graphics card, or their response may be sluggish. And some DEs are designed to work well on older, less powerful machines.
Linux once had a reputation for being difficult to install and operate, suitable only for hardcore geeks and nerds. This has improved much in recent years, especially thanks to Ubuntu from Canonical. You can run Linux from a ‘live CD’ without installing it on your computer, just to see if it works for you, and you like it. You can then install it fairly easily, either as a replacement for your current OS, or alongside your current OS, or even inside your current OS (by using a virtual installation). If you do encounter any problems you can usually find an answer on the Web, or you can post to one of the relevant forums and there are usually several helpful responses. Again, for free.