A recent posting on the Blog of Helios prompted me to write a short and simple definition of Linux that might be useful for current non-users of this operating system. It is however a difficult definition in the context of what people already know. And the fact of the matter is that what the general computer-using population knows about operating system platforms, is limited.
I often get calls from Windows desktop users about something not working. What is not working? “Well it’s something in Microsoft” they might say. Microsoft? Is that Microsoft Office, Windows, something else? Well they’re not sure, but it’s when they are trying to type a document. Ok, so that’s Microsoft Office Word then. What browser are you using? It’s the one with the blue e on the icon. Internet Explorer. What email client do you make use of? Microsoft. Is that Outlook or Outlook Express? Note I’m just using the Windows platform as an example, however this problem is not limited to that platform.
If general Windows users have difficulties on that platform, what chance do they have with Linux? And why the confusion in the first place?
Let’s try to answer these 2 questions …
What is Linux
Linux is a software platform that includes a kernel which controls and manages the computer itself, utilities which allow you to perform general tasks like file management and application launching, and applications themselves which allow you to get actual work done ( eg. word processor, email client, web browser ).
The original operating system ( to be exact the kernel ) itself was started by Linux Torvalds, a Finish student in 1990 who was frustrated with the licensing of another OS called Minix. Together with the GNU toolset ( a bunch of OS-independent user tools ) and development tools, GNU/Linux as a complete operating system platform was born.
Unlike Microsoft Windows, which comes in only 2 forms ( desktop and server ), Linux is packaged in the form of distributions, which put the Linux kernel, GNU utilities and other useful applications together. There are many distributions, some which cater for general use, some orientated towards audio-video use and others for supercomputing purposes. There are about 10 to 20 distributions which are used in mainstream desktop and server environments, the most popular of these being Ubuntu, Mandriva and Fedora ( for desktop use ), and Red Hat Enterprise Server/RHEL, Centos and Suse Linux Enterprise Server/SLES ( for server use ). An important difference vs commercial OS platforms is that Linux distributions typically provide all the day to day applications that you would use, therefore it’s fundamentally different to something like Microsoft Windows, where you only get the operating system and some utilities.
The Linux kernel itself and the GNU toolset are FOSS – free and open source software. This means that although they have a license and are copyrighted, the style of the license means anyone is fee to copy, use and alter this software, as long as one keeps to the terms of the license. Typically this includes something as simple as making sure the license is transferred with each copy, and that original and subsequent authors are acknowledged.
But how can you give something away for free if it’s copyrighted? I’ve been paying for my Windows and Office software all along …
Copyright fundamentally means that someone can assert the right to be acknowledged as the author of a particular creation. It does not infer that something can’t be given away for free, as much of the bumpf from music, movie and publishing concerns would have us believe. So yes you can have copyrighted software that is free.
There’s also the misconception that Linux is difficult to use. From a server perspective, this may have some validity ( although not much ), however, from a desktop point of view, Linux is as easy to use as competing platforms like Microsoft Windows and MacOS X. It’s just different – and it’s this difference that many confuse with difficult. There’s also the matter of change – human beings are comfortable with what they know; change is never easy because of this.
One important point to remember though is that because Linux is a different platform to Microsoft Windows, it will not run Windows applications natively. Most Windows applications have an equivalent in Linux so this is not a big problem. There is also the possibility of running Windows applications under emulation.
Some examples of FOSS application equivalents:
- Microsoft Office = OpenOffice
- Internet Explorer = Firefox
- Outlook = Thunderbird
- Photoshop = Gimp
Linux has some distinct advantages over other platforms:
- very secure and low attack surface for viruses and other malicious code
- good stability and reliability
- OS-integrated application installation/management system
- good performance on old equipment / low resource requirements
- free / low cost
How do I get support for something that is free? FOSS support is provided by the same community that develops the software as well as the user community around it, through forums, newsgroups, mailing lists and other methods. If that is not suitable, then many of the larger FOSS projects have commercial support options available.
FOSS in general
The Helios project is a group of volunteer Linux users in Texas, USA who refurbish old donated computers, install Linux and other FOSS applications on these machines, and deliver them to needy, impoverished and foster kids in that state. The financial cost to these volunteers is low because FOSS allows them to have an almost zero product cost. This is something that’s not possible with commercial software. And there are many other groups around the world that do work similar to the Helios group.
FOSS lowers the entry barriers to less fortunate people and communities, removing what is arguably the biggest cost of owning a computer – commercial software. This helps with social development, upliftment and education, by giving less fortunate people access tools they would not have had before, allowing them to create, communicate and distribute.
While FOSS and Linux are typically ‘free’, this does not mean that the quality of this software is compromised in any way. In fact it’s well acknowledged that FOSS software is generally of a higher standard than commercial software, due to the nature of the Open Source development process. A study by Coverity ( a commercial software vendor of code analysis tools ) in 2009, found that the Linux kernel and some other notable FOSS projects, had 10x less code errors than competing commercial equivalents.
Why the confusion?
At the start of this article, I asked why users were confused about what OS or applications they were using. An analogy: to drive a car on a public road, one needs to do a drivers test. This involves theoretical and practical training, after which one has a reasonable grasp of the concepts involved as well as some baseline experience to use in the act of driving itself. Using a computer is an altogether different proposition – one goes to the computer store, buys the computer and starts using it. This does not mean however that one is proficient in the use of that computer, and therefore the lack of general knowledge amongst casual computer users.
This issue is platform-independent, yet the stigma remains that FOSS and Linux are more difficult to use. Difficulty is not necessarily determined by what platform you use, but rather the training you receive in the use of that platform.
So take the time to learn something new today, about whatever platform you are using …