If you are someone who thinks that a PC operating system means Windows, then you should probably read some other documents before reading this.
If not, then you need to understand that the question in the title is a stupid question. It is like asking “What is a better car, a Ferrari or a Jeep?” It depends what you want to use it for.
The sections that follow compare the advantages and disadvantages of Linux and Windows from several perspectives, to help you make an informed choice (and avoid disappointments).
I don't expect that you will read this paper and instantly decide to change operating systems, but what you can do is try out an alternative. If you are a Windows user and have more than one PC, you can set up Linux on one of them (make a backup first, so that you can restore Windows if you want to). If not, or if you are not prepared to take the risk, then you can try out Linux by installing it with Wubi, which installs Ubuntu Linux as an application under Windows (with the usual uninstall option); it will run a little slower when installed this way, but you can get an idea of whether it suits you, and you can later easily upgrade the system to a full dual boot installation (there are free tools to automate this, so that no data is lost). If you are a Linux user, your simplest option is to install a Windows virtual machine using KVM (you will of course need a valid licence for Windows, for which you will probably have to pay).
Windows costs money. Linux is free. If you want support for Linux, many distributions are available with paid support, but in most cases you can get all the help that you want in the on-line forums. If there is no answer to your question already in the forums, simply post a question (you can expect an answer within 24 hours).
Most Windows users have MS-Office. This is not free (how much it costs depends on which version). If you want the professional version, or you want additional applications like Visio, MS-Access & MS-Project, then it can get really expensive.
For Linux, and for Windows, there is OpenOffice, which is free. Most users of MS-Office will find that they can do everything that they need and are used to doing equally easily in OpenOffice. If you are thinking of switching operating system, and are worried about the office applications, download OpenOffice for Windows (or for Mac) and try it out for a while.
Ubuntu Linux comes with the Evolution email client, which does everything that Outlook does. If you prefer, you can get Mozilla Thunderbird for your email instead (also available for Windows; it is free). There is a Windows version of Evolution (free, of course), but I would not recommend using it, even just to try it out; it is appalling!
For web-browsing, Mozilla Firefox and Opera are available for Windows, Linux, and other operating systems. In general, I consider Internet Explorer to be a security risk, and only use it when testing web-sites.
For playing media files (video or audio), VLC is an excellent (better) alternative to Windows Media Player; not only will it play more types of media files, but it doesn't enforce any DRM (Digital Rights Management - so you will never be asked for a licence to view or listen to media) and it has no embedded spyware (so no-one will be informed about what you are using it for). VLC is available for Windows, Linux, and several other operating systems.
There is an excellent replacement for MS-Project (also available for Windows and Linux): OpenProj.
If you use MS-Access, you will probably find MySql will be an excellent replacement. It is free, and about 100 times faster (and no, I am not exaggerating).
There is a huge range of free and almost free software for both Windows and Linux: Open Source (free), ad-ware (free but you have to live with advertising pop-ups), “demo” versions (free but with some limitations until you pay). In many cases you can get exactly the same software for both operating systems.
You are not likely to see a difference in costs for applications which are available for both operating systems.
I have only one application on my Linux server that I paid for: Nero Linux, for burning Blu-Ray discs (Linux has full support for burning DVDs and CDs). All the other software that I use is free.
There are lots of people who only develop software for one operating system type. This is true for free-ware and for commercial software.
Although many programs are available for both Linux & Windows, there are plenty of exceptions. Switching operating systems will probably mean finding an alternative for one or two favourite applications. Sometimes you simply need to wait a few months until what you need is ported.
One major advantage of Linux is the availability of Wine. This is a very useful piece of software that allows you to run Windows applications directly under Linux. I use it to run the Windows version of Safari (the web-browser from Apple), EAC (Exact Audio copy, to convert my music CDs to MP3), RazorLame, FAB DVD Decryptor and DVD Shrink. To make using Wine even easier, there is a fantastic helper application, PlayOnLinux, which provides installation and configuration wizards for installing Windows games using Wine under Linux, so you will be able to play a large selection of familiar Windows games if you choose Linux.
Nevertheless, if you are a serious gamer, you are likely to find that there are more choices of games for Windows than Linux, especially online multi-player games. If the games that you want to play are not available in native Linux versions, and not supported by PlayOnLinux, then you probably need to stick with Windows.
Nowadays, problems in getting an operating system to work on a given hardware platform are very rare, so the answer to this question is yes, both for Linux & for Windows.
Now we get to the interesting stuff.
Typically, Windows boots faster. This is because it is not really ready to use, after booting, because most of the start-up (starting network interfaces, sharing folders over the network and starting other services) is done when you log in. Linux takes longer to boot, because it starts all the services at boot time, and logging in is very very fast. Overall, in my experience, for most cases, Linux will be slightly quicker from hitting the power button to being able to open a document or browse the web.
I don’t even understand why, but Windows always seems much slower to shut down than Linux.
In theory, there should be little difference, but there is; Linux is slightly faster (much faster in some cases). There are several reasons:
The bizarre thing is that many Windows applications (like DVD Shrink) run faster under Linux and Wine than they do under Windows, on the same hardware platform.
You have probably heard of things like viruses, worms, trojans, bot-nets, zombie PCs, etc. You don’t need to know what the differences are to know that there is a global problem with computer security. If you think that you have never had any malware (the generic term for these types of computer infections), then you either have never been connected to the Internet, or you are living in cloud-cuckoo land.
Linux is less prone to such security problems. Some of the reasons are due to basic original design (differences in the file system, the management of users and process in the operating system, how interfaces from external systems are managed, etc.); some are a side-effect of there being a smaller population of Linux users to target and infect (and may therefore be only a temporary advantage).
You should always have anti-virus software and a firewall on your PC. Companies often use several different anti-virus tools to get better protection. There is lots of choice for all operating systems, some free. Although there is less malware “in the wild” that can infect Linux, that is no excuse for “leaving the door unlocked”. For Linux, a firewall is part of the operating system (iptables); you only need to learn how to administer it via the command line (admittedly complex) or install a (free, e.g Firestarter) application to administer it, if you want something other than the default settings. The same is true for Windows (although I always disable the Windows firewall, and install something else).
If you have a Windows PC, you have probably noticed that bad things start to happen if you leave it running for days without rebooting. Rebooting is the standard fix-anything solution for Windows problems. Linux can be left running for weeks, months, or even years, without problems.
Windows users are also probably familiar with the “blue screen of death”. Once that happens, rebooting (often only possible by turning the power off) is the only option. This doesn’t seem to happen with Linux. If there is a really major failure, the usual result is that you end up with a command-line interface to allow you to repair or reboot, and even that is really rare.
We recently had a hardware failure on our laptop, which was configured for dual-boot (Windows-XP & Ubuntu Linux) and mostly used by my girlfriend for running Windows. Suddenly, Windows could not see the keyboard (connecting an external keyboard didn't help); so it was not possible to log in. I had the same problem when trying to freshly install Windows: the Windows setup program could not see the keyboard, so it was not possible to complete the installation (because I couldn't enter the user account details or licence key). The laptop now has only Linux, and it works fine, despite the dodgy hardware.
This is really a question of personal preference and of familiarity.
Since there are many flavours of Linux, and choices of desktop system, there are differences in the look and feel of Linux. If you choose Ubuntu (the most popular Linux for desktop systems) and opt for the Gnome desktop system (the default for Ubuntu), you will find all the windows controls that you are familiar with from Windows. In addition you will have a virtual desktop system (also available as a third-party add-on for Windows): there is a region in the taskbar to allow you to switch with one mouse-click between a number (configurable - I currently have my system configured for 8) of virtual desktops; each application window is visible in only one virtual desktop, which prevents your taskbar getting crowded when you have lots of windows open at once.
Personally, although I am equally at home with either Windows or Linux, I now find the Gnome desktop system under Linux easier to use.
You will hear lots of horror stories about how hard Linux is to administer, and how nearly everything has to be done through the command-line interface. This is mostly no longer correct. Great improvements have been made in this area, and almost all administrative tasks can be done via the GUI. If you look for guidance in the various on-line forums, you will probably notice that the advice often involves command-line administrative tasks, but in nearly every case the same can be done via the GUI.
Of course, since Linux can do more (share files over the network using Microsoft protocols or NFS, attach to USB disc drives formatted as NTFS, FAT32, ext2, ext3, etc.) there are more options to decide on when administering Linux.
One of the areas where things have improved hugely in the last couple of years is much better "plug-and-play" support (see the next section). This means that when you add a disc drive or other peripheral device, it just works (without any administrative actions, and without installing any software provided by the peripheral device vendor). This is an area where Linux is now better than Windows, and compares well with a Mac.
Plug-and-Play support under Linux is now excellent. Here are some examples.
I have an HP printer/scanner/copier. If I want to attach it to a Windows machine, I need the HP disc containing the driver (even if the printer is actually attached to another machine and shared over the network). If I want to attach it to a Linux machine, I need no driver disc; I just select the printer type from a pull-down list, and everything just works.
I have a Cannon EOS camera. If I want to connect it to a Windows PC, I need the Cannon disc containing drivers, photo editing software, etc. With Linux I just plug it in and it works; no configuration needed.
I have a Blu-Ray burner, from LG, connected to my Linux server via a USB port. I use it to burn CDs, DVDs and Blu-Ray discs for backup. I use it with Nero-Linux, which I had to buy, and it works excellently. Normal DVD & CD drives (burners or readers) are plug-and-play with Linux, but burners are not plug-and-play with Windows (the exception being if you buy a PC with a burner pre-installed, in which case you should get the necessary software pre-installed too).
I have a UMTS USB stick (it connects to the Internet using the 3G mobile phone data service), which I used for a while as my Internet connection. It comes with software to enable you to use it connect your PC to the Internet; this software is only for Windows. With Ubuntu Linux, such wireless devices (including wireless-LAN adaptors) are plug-and-play (of course, you need to enter your PIN), and I found that it worked perfectly.
I have quite a number of USB disc drives, from various vendors. Such external storage devices are plug-and-play under both Windows and Linux, as are internal disc drives (e.g. SATA drives). The only real difference is that normal versions of Windows only support Microsoft disc formats (NTFS & FAT32), whereas Linux supports those and a range of other disc formats. This means that Linux can read and write any drives that Windows can, but the reverse is not true.
Nowadays, pretty much everyone has a mobile phone. These normally come with software to connect them to your PC, but only if you use Windows. The software allows you to download music and ring-tones to your phone, upload photos from your phone to your PC, synchronise your contact list and calendar with your email client (e.g. Outlook), and also to install and configure additional applications on your phone. Many mobile phone users do not use this facility, and never even install the software on their PC. There is software which will allow you to do all the same things under Linux, but at the time of writing (December 2009) not all phones are supported, and it is certainly not plug-and-play. Nevertheless, I regularly synchronise my Nokia phone with my contacts and calendar (stored in Evolution), download music to my phone and upload photos from the phone, via Bluetooth (the same is possible via a USB cable).
The one area where Windows clearly beats Linux at the moment is handling hardware from Apple: iPods and iPhones. This is hardly surprising, since Apple deliberately makes their devices non-standard. If you want to use Apple hardware with Linux, there are two things to take care about:
There is no reason why you should not be able to interoperate several PCs on your home (or office) LAN, running different operating systems (even Mac-OS). Linux can share file systems and printers using Microsoft protocols, so that they can be accessed by Windows PCs, and can also access file systems and printers shared by Windows PCs.
Although I am not a Mac expert, I understand that the Mac-OS has the same flexibility as Linux in this respect.
Production video DVDs (Digital Versatile Discs), i.e. ones you buy in a shop, are always region coded. This is done so that you cannot bypass the release schedule of DVDs by buying one from another region where it is released sooner than where you live.
Windows, like commercial DVD players, enforces the region-code: once you set it the first time, you can change it only 4 more times, and then it is stuck on the last setting. This means that, for all practical purposes, you cannot play (or rip) DVDs from another region using Windows.
Linux does not enforce the region-code; you can play or rip DVDs from any region. This is very convenient if you want to buy DVDs of movies or TV series from somewhere else (e.g. the USA); you might want to do this if what you want is simply not available to buy in your region, or perhaps not in your language, or simply because you want to get it earlier than the vendors would like. The most convenient method is to rip the DVD (e.g. with DVD-Shrink, which makes it region-free) and then burn it onto a recordable disc so that you can play it on your DVD player.