|
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.
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 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.
Linux does not always 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 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.
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 (some distributions are very careful
not to release updates too early, while others like to give users the
latest). 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, 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.
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 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 cable. In critical
applications I am very wary of updating Linux as long as the machine is
doing
its job. This situation is improving and over the last year or two there has been little problem with Ubuntu in particular.
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.
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 groupware server for full functionality.
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 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.
|