|
Many
people are surprised at my passionate dislike of Microsoft Windows.
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 am going to
provide an
overall comparison of Windows and Linux, showing the good and
bad aspects of
each. An attempt is made to
minimize bias; to provide a balanced view; and to provide some reasons
for criticisms.
- 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.
- 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 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 Dell is
moving against this trend by considering the provision of Linux
preinstalled
laptops.
- Linux does not generally install out-of-the-box (OOB)
perfectly on a PC. For laptops this is significantly exacerbated.
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 must be installed by a technically competent person, which
immediately makes it inaccessible to many ordinary users who will have
little patience. The excuse is
that hardware manufacturers rarely provide support for Linux, or even
information about their devices, and
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.
- 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.
- 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.
- Once Linux is properly installed, it will work flawlessly
as long as software is not updated. Linux is fundamentally sound and
rarely or never gives major problems that would require reinstallation
of
the operating system (hardware failures excepted). It does not develop
random unexplained corruptions. Unix was developed
in a University research environment and made use of sound theoretical
concepts at a time when multiuser computing was just emerging.
- Windows on the other hand appears to be fundamentally
flawed. After a period of time, various unexplained problems begin to
appear. These include hardware refusing to work, unexplained shutdowns
and reboots and major corruption that requires reinstallation of the
operating system. Windows servers need to be rebooted regularly.
Examples in my recent experience include a critical machine that
suddenly froze,
then
would not reboot. The only solution was to reinstall Windows. The
organization was put out of action for an entire afternoon. Other
examples (all in the past few weeks of this writing) 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.
- 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.
- 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).
- 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 their interfaces. This is disastrous if the users are relying
on
the application for their work. At this point in time the one sure way
to gain a heap of problems is to update the kernel. Other problems can
arise because of the
lack
of
comprehensive testing. 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 preferred to get on with my work using a
dangling cable. In critical
applications I am very wary of updating Linux as long as the machine is
doing
its job.
- 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.
- 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.
- Linux struggles to be accepted as a desktop although now it
competes strongly with Windows on that front. The appearance of
OpenOffice 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 server.
- 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.
- 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 a tool that costs more than Windows
itself. The Windows tools allow any partition except the system
partition to be increased, yet that is the one that is most likely to
fill with updates and user home directories which are placed there
without option. There is no tool
provided to copy Windows across to another disk with a different
partition size, or to take a disk image that can be used as a cold
backup in case of disk failure.
|