Microsoft Windows vs Linux


Many people are surprised at my dislike of Microsoft Windows (less passionate now than it used to be). This dislike is shared by a number of people who generally have a love for Linux (including other Unix flavours - the Macintosh has such a base also). Here I intend to provide an overall comparison of Windows and Linux, showing the good and bad aspects of each. I'll be trying to minimize bias; to provide a balanced view; and to provide some reasons for criticisms on both sides.

  1. Windows costs money and Linux is free. This is the simple basis of much bias towards Linux. Microsoft is entirely justified in charging for their software. Users have a choice about which to choose. However there are circumstances in which this freedom is eroded as discussed below.

  2. It is difficult to obtain a laptop/notebook computer that does not have Windows pre-installed. It is possible, but the cost is generally high enough that most people will choose a machine with Windows and some may even delete it if they do not wish to use it. I personally do not understand why a laptop manufacturer cannot divert a number of pre-ordered machines from the assembly line, even with no disk drive installed. It was amusing to note that Toshiba now places stickers on their new machines stating that they will not provide a refund for Windows even if the purchaser disagrees with Microsoft's EULA.  They are prepared to go to that amount of trouble to force purchasers to accept Windows rather than giving them a choice. Apparently some manufacturers are starting to move against this trend by considering the provision of Linux preinstalled laptops, but attempts to do this have notably failed because most users do not have the patience to work with a new system, or because many software developers write for Windows only.

  3. Linux does not always install out-of-the-box (OOB) perfectly on a PC. For laptops this is significantly exacerbated (although by 2013 this is now much less of a problem). Ubuntu has attempted to provide a distribution that works OOB, and I was pleased that a non-geek friend installed it flawlessly on his PC on the first try. The main culprits are wireless networking and sound. This means that Linux may need to be installed by a technically competent person, which immediately makes it inaccessible to many ordinary users who will have little patience. The main reason for this is that hardware manufacturers rarely provide support for Linux, and sometimes refuse to provide information about their devices. Open-source developers must continually struggle to provide drivers for new devices that appear. There are also issues with patent restrictions that are incompatible with free software. In wireless networking there are legal requirements relating to power control for certain parts of the code not to be made open.

  4. When Linux needs to be configured to get unsupported hardware devices working, the user generally needs to find someone who has already solved the problem, and then they may need to invoke complex configuration and installation procedures that could involve compiling code. For a newcomer to Linux this can be overwhelming. Linux software also tends to have long chains of dependency on other packages which need to be identified and installed before this process will complete satisfactorily. There are other problems associated with this, discussed below, that may result in total failure to configure the software.

  5. Windows has strong support from hardware manufacturers and installs and works flawlessly in the vast majority of cases. For laptops of course it is nearly always pre-installed. Note that according tot he licence agreement, Windows 7 and later are not permitted to be installed by the home user. The installer must be a "Microsoft Partner" which requires a registered business name. Nonetheless it is still possible to do this.

  6. Once Linux is properly installed, it will work flawlessly as long as software is not upgraded to a later version (some distributions are very careful not to release updates too early, while others like to give users the latest versions). Problems with software upgrades are now very rare. Linux is fundamentally sound and rarely or never gives major problems that would require reinstallation of the operating system (hardware failures excepted). Unix was developed in a University research environment and made use of sound theoretical concepts at a time when multiuser computing was just emerging.

  7. Windows on the other hand appears to be fundamentally flawed, although in recent years this has improved considerably. After a period of time, various unexplained problems begin to appear. These can include hardware refusing to work, unexplained shutdowns and reboots and major corruption that requires reinstallation of the operating system. Examples in my recent experience include a critical machine that suddenly froze, then would not reboot. The simplest solution was to reinstall Windows. The office was put out of action for an entire afternoon. Other examples include two instances of DVD burners not working although Windows insisted there was no problem, and USB suddenly failing in the same way (what do you do if you have USB mouse and keyboard?). In both cases deleting the devices from Windows and rebooting, resulting in the reinstallation of the drivers, fixed the problem. Microsoft's "Knowledge Base" talks about every possible problem except this one. The users were about to purchase new hardware thinking it was at fault. This is indicative of a fundamental problem with Windows. I would not rely on Windows for any critical application. I believe this instability may arise from the use of the registry as a database for storage of configuration data. Ironically this was probably a major step forward in the mid 90s that allowed Windows to run on the limited hardware of the time. It is possible that third-party developers are misusing the registry and so adding to its complexity and instability.

  8. In addition to these fundamental problems, Windows is vulnerable to attacks by viruses, worms and other malevolent code. This is because Windows is so well established in the computing world that any flaws will be quickly exploited by vandals and criminals. Linux has always had certain strengths that limit possible damage by malicious code, although Windows is catching up in this area very quickly. Generally however Linux escapes these problems because of its relative obscurity. In a way this is a good thing as Linux and Macintosh users are spared the need to continually fight the onslaught of malevolence.

  9. Much of the Linux operating system and application base is developed by individuals and companies without any guaranteed commitment to long term support of their work. In most cases there are teams of developers, some very large and enthusiastic, which provide an ongoing support. Some commercial organizations have sprung up that will guarantee support for a fee. The rather nebulous support situation tends to make many organizations nervous about committing themselves to Linux, as well as a fear of the potential "amateurish" nature of the applications (not justified in most cases).

  10. The Linux application base lacks cohesion. Updating Linux can result in some applications failing to work because a dependent application or language or framework has had major changes made to its interfaces. This is disastrous if the users are relying on the application for their work. Other problems can arise because of the lack of comprehensive testing on different hardware. My most annoying experience was wireless networking failing on my laptop because a change to the core operating system caused it to break. The problem was fixed in a week or so, but the change did not appear in the main stream of updates for over three months. I could have recovered wireless networking by recompiling the kernel with the changes included, but I preferred to get on with my work using a dangling ethernet cable. In critical applications I am very wary of upgrading Linux as long as the machine is doing its job. This situation is improving and over the last few years there has been little problem with Ubuntu in particular.

  11. Windows has a large application base of quality third-party software. Many equivalent Linux applications are evolving at a much slower rate than commercial applications. A lot are now starting to mature, but there are still large gaps in the needs of organizations that would need to be filled with applications having very limited functionality. This has more than once turned me away from introducing a Linux desktop into an office environment. It could be helped along by the production of more commercial software running under Linux. It is interesting that it is now possible, with a small amount of work, to have a Linux application compiled for Windows. Generally it is very difficult to go the other way especially for software with a long development history.

  12. The commercial roots of Windows mean that the development of standards for all sorts of interfaces are distorted towards the choices that Microsoft has made and now makes. An example is that of document exchange, which has been dominated by the proprietary and undisclosed formats used by Microsoft Office. It is in the interest of commercial software developers to lock their users into their own formats in order to maintain ongoing business. This is a natural thing, but is unhelpful, restrictive and stultifying to development. Another example is Microsoft's release of applications that provide nominal support for standards as a "cut down form with enhancements". Such practice is simply not adhering to any standard, and it would be better if no pretence to do so were made. One area where this becomes insidious is Microsoft's web server support for non-standard webpages, so that only their IE browser is able to render them correctly.

  13. Linux struggles to be accepted as a desktop although now it competes strongly with Windows on that front. The appearance of LibreOffice as a strong competitor to Microsoft Office, and the Mozilla browser and email client, have allowed Linux to become viable in the office environment. However any office will still need to have Windows machines to run specific packages that are not available under Linux. There are some major gaps in applications such as groupware (shared calendars etc), mainly due to users' preference for familiar Microsoft applications that do not support international standards, and which require a proprietary and expensive Microsoft groupware server for full functionality.

  14. In server applications Linux reigns supreme. It is perfectly possible to have a web server and mail server providing flawless and reliable service for no cost apart from some work to install and configure the software. Most webservers on the Internet use the Apache opensource server.

  15. Microsoft provides minimal bundled tools for dealing with various configurations and problems in Windows. This means that the user must purchase expensive third-party tools to deal with quite simple problems. For example increasing the Windows system partition size needs tools that can cost more than Windows itself (Vista and Server 2008 now have inbuilt tools for this).

Here is an anecdotal reason why I dislike the Windows culture:

Recently I was asked to update a Windows Vista machine to a recently released service pack, to try to resolve a heap of problems that the original Vista was giving. I went into the Windows Update tool, only to find that the SP wasn't mentioned there. A web search for the SP turned up a page on Microsoft's site offering the SP but stating that the strongly recommended way to install it was through Windows Update. So where was it?

Further web searching found the answer. Microsoft in her wisdom decided not to provide it because the PC hadn't satisfied the required technical conditions.  The Microsoft website and Windows Update tool clearly decided that the SP shouldn't be offered for reasons that were clearly known, yet there was no information provided to the user, not even that there was a problem. Nor were the requirements causing the problem revealed. We lowly users are simply left to discover this by searching the Internet!

Well there turned out to be a Microsoft webpage describing a list of 7 reasons why the SP may not be offered. The first was to ensure all required and recommended updates were installed. This had already been done. The other most likely cause was that certain device drivers had restrictions on the earliest version supported. Sure enough the first one I looked at on the PC was earlier than the required version. I went to the manufacturer's website to get the latest version. This was in fact the version that was already on the PC. So it looked like I was not going to be able to install the SP until the PC manufacturer decided to update the driver. Either that or try digging out later drivers somewhere else and trying those.

Do you Windows fans still think Linux is technically too hard? At least under Linux we can talk to developers and see things get done! And we aren't left to wonder why things don't work.

While pondering this I installed all the remaining optional updates (one had been causing a problem but I discovered why - no thanks to Microsoft's lack of information - and got it installed).

Suddenly the SP turned up in the Windows Update. So, contrary to the Knowledge Base article, it needed ALL updates installed, not just recommended ones, and it also DIDN'T need the drivers to be updated. So much for Microsoft's Knowlege Base!

Well I suppose when you have been fooling around with computers for so long you do get a bit grouchy.



First created 25 August 2007
Last modified 18 March 2013

Ken Sarkies 2007