Why I hate Microsoft
1 of 81
Why I hate Microsoft
"A personal, lengthy, but highly articulate outburst"
Table of contents
Introduction and abstract, or why this paper needed to be written
1. From the people who brought you EDLIN
Microsoft and innovation
2. The not-so-good, the bad and the ugly
The general quality of Microsoft products
3. The power to bind
Formats and standards
4. World domination
From business to megalomania
5. Bad practice, foul play
Exploring the limits of lawful conduct
6. Caveat Emptor
Think before you buy
7. Where are you forced to go today?
Price gouging and other monopolist practices
8. The road ahead
On diminishing returns and continuing trends
A brief overview of Windows’ most serious design flaws
Table Of Contents | Next chapter
"One OS to bring them all and in the darkness bind them..."
From the title of this paper you may have guessed that I am not very impressed with the
guys in Redmond. One might even say that my dislike for Microsoft is a pet hate gone
out of control in an almost quixotic fashion. Why is this?
Of course I have been accused of personal antipathy, of being jealous of Bill Gates and
his billions, and of being prejudiced against all things Microsoft without any reason
whatsoever. None of this is true. I have nothing personal against Bill Gates. Why
should I? I don’t know the man, I’ve never met him. I agree with those who say he
might be the most successful salesman in history. And I’ve always thought that even
one billion in almost any currency is more than I could reasonably spend.
Why I hate Microsoft
2 of 81
No. It’s rather his business practices, and that of his company, that I am opposed to, for
a large and still growing number of reasons, most of which are plain, verifiable facts.
Let me explain.
The following represents my own personal point of view. It does not necessarily
represent the points of view of my employers, clients, associates, Friends, relatives, pets
or houseplants. If they want a point of view, they can go and grow their own, so there. If
you read this document and a tree falls on your house as a result of any inaccuracy on
my part, I shall not be held responsible.
All registered trademarks mentioned in this text are the property of their respective
owners and are hereby acknowledged.
Microsoft controls the current PC software market and has a de facto monopoly on the
desktop. This monopoly has not been achieved and is not being maintained by offering
the user community better products than Microsoft’s competitors can offer. On the
contrary, Microsoft has earned a reputation for selling unreliable products, thrown
together from third-party technology. Windows is a technically inferior operating system
with a seriously flawed architecture, a weak security model and sloppy code, while other
Microsoft applications are equally kludgey. New Microsoft products offer no essential
improvements over previous or competing products, and their Return On Investment is
between small and zero, in spite of Microsoft’s boasts about being innovative and
Instead of making better software, Microsoft has focused on using brilliant but doubtful
marketing tactics to force their products upon the user community in order to establish
and maintain their monopoly. These methods include a tight integration of applications
into the operating system, the bundling of applications with Windows to force
competing application vendors out of the market, the mandatory bundling of Windows
with new computer equipment, deliberate limitations in the compatibility of their own
software with competing products, contracts that prohibit third parties to do business
with anyone but Microsoft, and retaliatory practices against non-cooperating vendors. In
addition to this, third-party developers are induced, through cheap or free development
kits and the sabotaging of alternatives, to develop applications that contain proprietary
system calls, are virtually non-portable, and are therefore bound to the MS-Windows
These methods only serve to further inflate Microsoft’s already obscene profit margins,
at the price of the interests of the user community, the IT market and the field of
computer technology as a whole.
Table Of Contents | Introduction | Next chapter
1. From the people who brought you EDLIN
"640k should be enough for anyone."
-- Attr. to Bill Gates, Microsoft CEO, 1981
Why I hate Microsoft
In 1975 Bill Gates and Paul Allen, who were students at Harvard University at the time,
adapted BASIC to run on the popular Altair 8800 computer and sold it to the Altair’s
manufacturer, MITS. The Altair BASIC interpreter was the first computer language
program to run on the type of computer that would later become known as the home
computer. Even though the BASIC programming language was already in the public
domain by then, there was no interpreter that could run it on home computers. Thus
Gates and Allen could be said to have created an original product; one might even call it
a true innovation. It would be one of their last.
Gates and Allen initially met at Lakeside School (an exclusive private school for rich
boys) where Gates became an adept at BASIC on a General Electric Mark II. Shortly
thereafter they got access to a PDP-10 run by a private company in Seattle. The
company offered free time to the Lakeside school kids to see if they could crash the
system. Gates proved to be particularly good at doing so. When the free time ran out
Gates and Allen figured out how to continue using the PDP-10 by logging on as the
system operator. About a year later the company that owned the PDP-10 went bankrupt.
This left Gates and Allen without a source of unpaid computing resources. Therefore
Allen went over to the University of Washington and began using a Xerox computer by
pretending to be a graduate student. Gates soon followed, and this went on until they
were caught and removed from the campus. They continued to break into university and
privately owned computer systems until about 1975. By that time Gates was a student at
Harvard University, and HP had been selling the 9830 calculator (an expensive system
for scientific and industrial math applications) for three years. The 9830 had a BASIC
interpreter, which opened up a whole new range of applications outside the field of
mathematical calculation. Whether or not Gates and Allen had actually seen a 9830
before they coded up their BASIC interpreter for the Altair is not known, but it is quite
In any case, the BASIC that Gates sold to MITS had been developed and tested on a
Harvard PDP-10, using an 8080-emulation program that Allen had adapted from earlier
code. In fact, by the time Gates contacted MITS to announce their product, it had never
seen an actual 8080 CPU. The demonstration Gates and Allen put up for MITS in New
Mexico was the first time the product actually ran on the system it was intended for.
Gates sold it by announcing a product that didn’t exist, developing it on the model of
the best version available elsewhere, not testing it very seriously, demonstrating an
edition that didn’t fully work, and finally releasing the product in rather buggy form
after a lengthy delay. From then on this modus operandi became Microsoft’s trademark.
After Gates sold the 8800 BASIC interpreter to MITS he left Harvard University, and
went into business for himself with Allen as a partner. Allen was also an MITS
employee at the time, which made his position somewhat questionable. Gates’
departure from Harvard is shrouded in controversy: some say he dropped out, others say
he was expelled for stealing computer time. Whatever the case may be, the fact is that
Gates did most of the work on his BASIC version in a Harvard computer lab without
having been authorized to use the computing resources for the project. Perhaps he did
not really steal unauthorized computer capacity, which was a valuable and expensive
commodity in those days, to develop his first commercially successful product. Yet he
has never offered any other explanation. He did however send his now-infamous "Open
Letter To Hobbyists" to every major computer publication in February 1976, in which
he decried the copying of Microsoft software by home computer hobbyists as simple
Be that as it may... Gates was brilliant enough at the time to realize that he was sitting
on a goldmine.
MITS demanded, and got, exclusive rights to the software but Gates insisted on a clause
3 of 81
Why I hate Microsoft
in the contract where MITS agreed to "commercialize the product". These "best efforts"
never panned out and Microsoft’s income began to dry up. In 1977 Gates and Allen sent
a letter of protest to MITS, whereupon MITS got a judge to restrain Microsoft from
disclosing 8080 BASIC code to any third party. Microsoft was saved from bankruptcy
only by payments for the 6502 BASIC from Apple Computer. (MITS only had the
rights to 8080 BASIC, so Microsoft was allowed to port it to other CPU architectures
and sell it all over again.) Then Microsoft sued their first customer MITS over the
exclusive rights on 8080 BASIC, and won. They immediately went on to sell BASIC
over and over again, to any other hardware manufacturer that would have it, from
Commodore in Europe to Radio Shack in the US. Thus Gates’ vision was one of the
important factors in the creation of the home computer market of the late 70’s and early
80’s. (The other was the increasing availability of affordable VLSI chips.)
It went more or less the same when IBM came to Microsoft for an operating system for
their new Personal Computer. Microsoft was still a small-scale operation in those days,
making mostly software for the hobby and home computer market and a few language
products. IBM had another preferred supplier at the time: they went to Digital Research
for an OS for their upcoming PC. Common lore has it that Gary Kildall (the author of
CP/M) wasn’t in Pebble Beach the day they arrived there for their appointment, and his
wife and lawyer wouldn’t sign the non-disclosure agreement until Kildall had returned.
(That mistake has gone on record as perhaps the most capital blunder in the history of
the PC industry.)
This, and time restrictions, led up to IBM’s visit to Microsoft who, as rumor has it, were
in the picture only because Gates’ mother happened to know someone at IBM. This last
detail may or may not be true; in any case it’s a fact that Microsoft was a small
company without management, without much administration or bookkeeping, with
employees who slept on the floor behind their keyboards, and with a corporate culture
based on shouting matches that were usually won by Gates. Microsoft had had only
worked on home computer software and programming languages at the time, and was
not a supplier of operating systems or other system software.
(Kildall himself has later added to this story that he did manage to contact the IBM
representatives upon his return, discussed the deal with them, and was left with the
impression that he had an agreement with IBM. Shortly thereafter he learned that IBM
had signed contracts with Microsoft. This may or may not be true, but in any case it’s
hardly relevant here.)
When the IBM representatives showed up at his doorstep, Gates recognized this lucky
break for what it was, and promised them an OS. Because he didn’t have one and
couldn’t make one (at least not good and fast enough) he bought the rights to a CP/M
clone from Seattle Computing Products, and filed off the serial numbers.
Again Gates demonstrated his commercial genius at that point. He realized that
although the PC was far from superior from a technological point of view, IBM’s
position as a hardware manufacturer would go a long way to unifying the personal
computer market, which had always been rather fragmented. Gates saw visions of
minor investments resulting in huge sales figures. Innovation did not come into it at all;
at the time the world’s buildings, bridges and aeroplanes were mostly developed on
VAX and Unix workstations.
So when IBM demanded exclusive rights to PC-DOS, Gates was adamant: IBM was
prohibited from licensing Microsoft’s software to third parties but Microsoft itself was
free to do so. Microsoft would sell MS-DOS to all interested clone manufacturers, just
as they did with BASIC when MITS lost their exclusive rights. Thereby Gates created
most of the basis for the PC market as we know it today.
This is Microsoft’s contribution to the field of computer technology: before they sold
BASIC and later DOS to any hardware manufacturer that would buy it, end users were
4 of 81
Why I hate Microsoft
completely dependent on a hardware manufacturer not only for hardware, but also for
platform-specific operating systems and application software. Microsoft’s marketing
strategy put an end to that, and contributed to changing the vertical computer market
into a horizontal one. For that the company deserves due credit.
But that’s all. Microsoft applied the right leverage at the right time, and the market’s
natural inertia did the rest. The IBM PC happened to be based on an Intel 8086
processor, Microsoft’s CP/M-descended products standardized on the 80x86 processor
architecture and weren’t portable to other platforms, and that in turn caused Intel to
continue the 80x86-based architecture. This symbiotic relationship known as Wintel
still continues today.
While Microsoft was the first to market (note the phrasing: market, not create) a
more-or-less functional operating system for the IBM-PC platform, the company has
never made any significant technological improvement since Altair BASIC. At best
they’ve modified and adapted existing technology, but nothing original or particularly
innovative has been created ever since. The first version of PC-DOS (later MS-DOS)
was little more than a revamped version of QDOS (or DOS-86), the code for which
Microsoft bought from Seattle Computing Products (SCP). QDOS, which stands for
"Quick & Dirty Operating System, was derived (pirated, it has been said) from CP/M,
which in turn had been written by Gary Kildall and was distributed by Digital Research.
Numerous features, including suspiciously Unix-like but rather broken support for
subdirectories, I/O redirection, and pipelines, were hacked into Microsoft’s 2.0 and
subsequent versions. This resulted in two or more incompatible versions of many
system calls in the DOS kernel, and MS-DOS programmers could never agree on basic
things like what character to use as an option switch or whether to be case-sensitive.
Not much has changed in the two decades that followed. Just look under the hood of
Windows ME: the QDOS and CP/M legacies from elder days stare you in the face.
(As an interesting aside, Tim Paterson of SCP compiled QDOS in under 6 weeks. He
left SCP in 1981 and joined Microsoft. Later Kildall allegedly went to IBM and pointed
out where his own copyright statement was still embedded in PC-DOS, but he did not
dare fight it out with the full force of IBM’s legal division. Kildall’s allegations of theft
by SCP, and the fact that the differences between QDOS and CP/M are minute at best,
can’t have escaped Microsoft’s attention at the time. This leads to the interesting
conclusion that if this is true, then Microsoft and IBM knowingly acted as fences, and
Microsoft founded a global empire on a crime.)
In any case MS-DOS thrived. It remained the only
PC operating system on the market for years, in
Microsoft team, 1978
spite of the fact that it was rather restrictive. In
fact the restrictions it imposed upon the application developers prolonged its success:
few developers were really happy with it, but they were stuck with it. MS-DOS offered
way too little functionality, so that application builders were forced to make their
application code carry out tasks that should have been performed by the OS. (Case in
point: the first version of Lotus-123 bypassed DOS entirely. In other products most
peripheral access, video and printer I/O had to be done by having the application access
the hardware directly in order to get a decent performance, and users had to remember
the IRQ and DMA settings for their various hardware components when installing and
configuring applications.) This resulted in application software less portable than the
Rocky Mountains, which effectively forced software developers to stick with the
MS-DOS platform in order to maintain their applications and protect their investments.
DOS itself was non-portable as well, being largely written in Assembly language and
containing a lot of low-level code and little structure. (I’ve personally seen the DOS 6
source code. It’s not a pretty sight.)
5 of 81
Why I hate Microsoft
By the time PC-DOS took hold, Gates had already shown that Microsoft’s future would
hold very little innovation indeed. Gates’ views on development are probably best
illustrated by the following:
From: ’Programmers at work’, Microsoft Press, Redmond, WA [c1986]:
Interviewer: "Is studying computer science the best way to prepare to be a
Gates: "No, the best way to prepare is to write programs, and to study
great programs that other people have written. In my case, I went to the
garbage cans at the Computer Science Center and I fished out listings of
their operating system."
Seldom have both Microsoft’s lack of innovation and their kludgey, ad-hoc approach to
software design been explained so concisely. It’s also interesting to note that while
many people have called Microsoft products copycat, trash or garbage, most of them
probably had no idea how close to the truth they really were.
Indeed MS-DOS has seen little innovation in the two decades or so when it dominated
the PC market. The most important improvement in DOS 2.0 was the addition of
subdirectories and device drivers, ideas that were borrowed from Unix. Later versions
came with a few extra functions in the kernel, and they boasted more tools and utility
programs, initially written by Microsoft but later bought from third parties. Except for
the additions in DOS 2 (subdirectories, device drivers) and DOS 5 (extended and
enhanced memory management on 80286 and 80386 CPU’s) DOS has only seen minor
development. In the meantime Microsoft briefly sold Xenix for a while (a rather
unimpressive Unix port which they bought outright from SCO) but when it failed to sell
in huge volumes they soon lost interest and concentrated on DOS.
MS-Windows could have been a new start, but (mainly for marketing reasons) it
wasn’t. It tightly clung to the mistakes of the past, being based upon the underlying
MS-DOS architecture for basic OS functions such as file system access. It added a
simple cooperative multitasker to MS-DOS, in a manner strangely like that of
DesqView (a multitasker for DOS that had been available from Quarterdeck for years).
It also sported a GUI that was enough like the one used by Apple to keep lawyers
occupied for years. But as far as innovation was concerned, that was it.
When Windows came into existence, Microsoft had been collaborating with IBM on
OS/2 1.x for some time. This collaboration sprung from the insight that with the advent
of the 80286 CPU and Intel’s plans for the 80386, DOS had become obsolete. IBM
worked mainly on the OS/2 kernel, which in its first incarnation was basically a 16-bit
successor to DOS with a command line interface. Microsoft concentrated on the
Graphic User Interface (GUI).
The idea for a Graphic User Interface was neither new nor original. Years before, Xerox
had demonstrated a mouse-controlled GUI in their Palo Alto Research Lab. This
demonstration featured the Alto computer, which in 1973 sported a GUI, WYSIWYG
technology, a mouse and an Ethernet interface. The demo was attended by Steve Jobs
(Apple) and Bill Gates, among others. Jobs liked the GUI and went on to implement the
idea into Apple’s OS and application software, while Gates decided to stick to a
text-based user interface. Later Gates was forced to revise his opinion about the GUI
when it turned out to be successful on the Apple platform. Thus it was decided that
OS/2 would have a GUI.
Soon Microsoft’s code began to diverge from IBM’s (especially from Presentation
Manager) and became increasingly incompatible with it. Meanwhile Gary Kildall of
Digital Research had already released the first version of GEM, a Graphic Environment
Manager for DOS. In order to sabotage this, Microsoft announced that they were
6 of 81
Why I hate Microsoft
working on their own, much better, graphic environment. Eventually they took the GUI
portion of what should have become OS/2 and sold it as a separate DOS product called
MS-Windows. They claimed to work on it in preparation for the upcoming OS/2. In the
meantime, application developers (e.g. Word Perfect Corp. and Lotus) spent huge R&D
budgets on rewriting their applications for OS/2, assuming that IBM (and IBM’s partner
Microsoft) would deliver as promised.
Initial versions of Windows were very bad, but Microsoft kept promising that a better
product would come out Real Soon Now, still as part of their joint OS/2 efforts with
IBM. But then they suddenly turned their backs on OS/2. They cried "innovation" and
went back to DOS in spite of earlier having admitted it to be obsolete. They went and
dropped out of the collaboration with IBM entirely. They took with them a lot of IBM
technology that had ended up in Windows 3, which they now suddenly positioned as
the operating system of the future rather than OS/2.
They were already selling applications for the Apple Macintosh. This gave them a good
look under the hood of Apple’s operating system software, and enabled them to muscle
Apple into granting them a license for portions of the MacUI. (They threatened to
withdraw all Mac applications, unless Apple would grant them a license to use MacUI
code to port Macintosh apps to the PC.) They then raided MacUI for extra ideas. The
remaining few bits (e.g. the font technology they later called TrueType) they bought,
occasionally bartering vaporware that later failed to materialize. They also threw in a
random collection of small applications, completely unrelated to an operating system
(e.g. Paintbrush) which they had bought from various sources to flesh things out a bit.
The resulting mixed bag of bits and pieces was massaged into an end product and
released as Windows 3.0.
It was not too difficult for Microsoft to adapt the Apple versions of Word and Excel to
run on Windows 3. There is some indication that Windows was adapted to Word and
Excel as much as Word and Excel were adapted to Windows. By the time Windows 3.0
materialized, competing application developers had already put their R&D money into
OS/2 versions of their products, on the assumption that OS/2 would be delivered as
promised by the IBM/Microsoft partnership. And even if most of them had been
wealthy enough to fund two parallel development efforts to upgrade their DOS
products, there was not enough time to do the Windows version before Windows’
projected release date.
So Microsoft shipped both an OS and an application suite several months before their
competitors had a chance to catch up with Microsoft’s last-moment switch to Windows,
and that was that. All those who had expected to sail with the IBM/Microsoft alliance
missed the boat, when Microsoft suddenly and deliberately decided to cast off earlier
and in another direction than originally promised. Most of them never recovered.
(IBM eventually went on to release their own version of OS/2, and botched it
completely. Of course they had a little bit of help from Microsoft, because by the time
IBM got around to releasing OS/2 most application developers had switched to
Windows. They used Windows development tools, so their code had become extremely
hard to port to another OS. Native OS/2 application software remained scarce, and
hardware support was even a bigger problem. Still IBM remains responsible for most of
the demise of OS/2. Even though it had a better architecture, OS/2 was killed off by
some of the worst strategic and marketing decisions in the history of the industry: lack
of drivers and hardware support, lack of development tools, lack of applications,
partnerships with hardware vendors to ship OS/2 with systems that lacked the power to
run it properly, lack of good advertising, requiring the end user to edit a 4-page
CONFIG.SYS file to configure the system in typical IBM fashion, et cetera ad
7 of 81
Why I hate Microsoft
After this debacle IBM withdrew from the desktop software market, which they had
never truly understood in spite of having created the original IBM PC.)
Creating a better software platform would have been a real innovation, but that would
have meant to abandon DOS, which was all that Microsoft had at the time. Since DOS
applications were practically non-portable, a new and better OS would have broken the
ties that bound developers (and therefore users) to Microsoft. In order to maintain their
market share, Microsoft chose not to innovate. So for reasons of marketing, Windows
3.x ran on top of DOS as little more than a hybrid multitasking shell.
The Windows ’95 architecture was merely a continuation of Microsoft’s uninnovative
strategy. When Windows ’95 was released no less than three years later (Windows ’93
was planned but never made it) it still turned out to be a disappointing rehashed
DOS-based product. It still ran on top of DOS as an application-level shell, although
DOS and Windows were now installed from a single bundle rather than as separate
products. Basically Windows ’95 was nothing but plain old Windows 3.x with a new
GUI and a souped-up memory manager, and the formerly separate DOS code integrated
in the bundle. This did not stop Microsoft from marketing it as a completely new 32-bit
OS, which of course it wasn’t. Granted, portions of the code were 32-bit, but there was
still a lot of 16-bit code running under the hood, and memory protection was partially
functional at best. Windows ’95 and its successors still relied heavily on obsolete DOS
code. Windows ’98 (Windows ’97 was planned but again never made it) was not a
significant improvement in this respect either. And Windows ME (ME stands for
Millennium Edition) is just more of the same tired old stuff. It’s still DOS-based,
although Microsoft has gone to great pains to hide that fact, through many cosmetic
changes and the bundling of application software with the OS. Basically there’s nothing
new to the whole Windows 95/98/ME product line; the design flaws from previous
Windows versions are still present, and many new flaws have been introduced. When
you get right down to it, Windows ME isn’t much more than the repackaged Windows
3.x descendant that Windows ’95 was, full of design flaws and based upon technology
that has been obsolete for decades, with a lot of extra bells and whistles thrown in to
confuse the issue.
None of this has stopped Microsoft from presenting all these minor upgrades as new
products and pushing them as recommended upgrades.
A thirty-two bit extension and GUI shell to a sixteen bit patch to an eight
bit operating system originally coded for a four bit microprocessor and
sold by a two-bit company that can’t stand one bit of competition."
(Anonymous USEnet post)
Windows NT finally appeared to be a step in the right direction. At least the NT product
line (which includes Windows 2000 and Windows XP) is the better one.
’NT’ stands for ’New Technology’, presumably because Windows NT is one of the few
products in the history of Microsoft that they didn’t buy outright. Instead they hired
David Cutler, who had played an important role in the development of VAX VMS at
Digital. (VMS was a successful and innovative industrial OS in its days, and Digital had
been working on it since the 1970’s.) Cutler took some 20 former Digital employees
with him, and he and his team began the development of NT. The project eventually
involved hundreds of other coders and testers, but Cutler and his core team of VMS
engineers provided most of the know-how that went into NT’s kernel code.
As a result, many design principles found in the VMS kernel ended up in Windows NT.
(The number and splitting of priority levels in the scheduler, the use of demand-paged
virtual memory and the layered driver model are only a few examples of many, many
8 of 81
Why I hate Microsoft
similarities.) The first version of VMS was released in 1977. Without trivializing the
efforts of Cutler and his team (they did a lot of work on the project) one has to wonder
what Microsoft really means with "New Technology". To illustrate, in a little known
out-of-court settlement Microsoft paid Digital Equipment $150 million in compensation
for using portions of an old Digital OS in Windows NT. New Technology...??
Even though its roots go back to the 1970’s, the Windows NT product line is a big
improvement over Microsoft’s DOS-based products. Unfortunately that doesn’t
automatically mean that it’s a well-designed operating system.
Cutler’s team had to operate within Microsoft’s additional design restrictions, and the
result was a tradeoff. Cutler took a number of design principles from VMS, which was
good. They expanded on that, so in a way NT can be said to contain at least some "New
Technology" and perhaps Cutler’s work even represented (dare I say it?) some
innovation. Had that been all, the end result could have been a good, efficient and
robust operating system. But Gates needed a product that would further Microsoft’s
marketing strategies. And of course much of the eventual coding on NT was done by
Microsoft engineers, so in the end the quality of NT’s final code wasn’t even in the
same league as VMS.
VMS was an industrial-strength operating system with native clustering, but NT was to
be a single-user desktop operating system. Account and data management were
rudimentary; the user home directory resided on the workstation’s local harddisk, under
the subdirectory that held the bulk of the operating system code. Applications and user
settings were system-based rather than account-based. Separation between OS code,
user settings, application code and configuration data became all but impossible;
application and GUI settings were stored along with vital operating system information
in an insecure central registry that was also system-based. Therefore network-based
user accounts could only be implemented with complex and cumbersome workarounds.
One of the biggest design mistakes in the history of Windows (the design of the DLL
subsystem) was perpetuated, and networking was initially based on the hopelessly
inadequate NetBEUI protocol. Even though NT followed a peer-to-peer networking
model, a separate "NT Server" version was shipped. (NT Server contained exactly the
same code as NT Workstation, with a few additions that amount to only a fraction of
the product’s total code set.) Initially there had been intentions of portability to
non-Intel hardware, the incorporation of a Hardware Abstraction Layer, and versions of
Windows NT on Digital and other platforms, but as the market became more and more
monolithic these good intentions fell by the wayside. Eventually Digital did the same.
So at the end of the day Microsoft’s marketing prevailed over Cutler’s engineering. The
result wasn’t pretty. NT became an OS based on a set of old VMS design principles that
were made compatible with everything that Microsoft had ever done wrong. It was full
of legacy API’s, it was kludged up to run applications written for OS/2 1.0 (which it
didn’t do very well), it paid lip service to POSIX but never offered anything more than
fractional POSIX compliance, and it sported a Windows 3 GUI that had its roots in both
Apple’s and IBM’s user interfaces. It even contained the entire Windows 3 kernel and
the bulk of its accompanying code (and Windows XP still does) in the original 16-bit
executables, as well as the complete set of decades-old DOS code. In short, it was a real
Microsoft product. All later versions of Windows that descended from this piece of
"New Technology", right up to Windows XP, suffer from this legacy.
Sic transit gloria Fenestrae.
It’s rather ironic that Microsoft prides itself on their "innovative role" in the IT market.
The sad truth is that Microsoft has rarely been an innovator. They purchased a CP/M
ripoff and named it MS-DOS, and they cobbled Windows together from various bits
9 of 81
Why I hate Microsoft
and pieces that they bought, stole or borrowed. The graphic user interface for Windows
was based on IBM know-how and the user interface of the Apple Macintosh, which was
in turn derived from technology developed by Xerox ages ago. NT was based on good
but old VAX VMS design principles. In short, all Microsoft OS products only
implement features and ideas that have been around for as much as a quarter of a
Later versions of Windows contain no significant improvement over previous versions.
Windows 98, ME, 2000 and XP are in fact ’point releases’; they’re nothing but minor
updates that contain mostly fixes, new bugs, and a few small extras that used to be sold
separately but are now bundled into the package. (For example: Windows XP comes
with application software for scanners and digital cameras, or the "remote desktop"
feature that was formerly sold separately by Cytrix.) The rest is nothing but cosmetics.
The whole product line remains riddled with serious design flaws, kludgey code to
work around those flaws, and tons of bugs. There’s been little reason to switch from
Windows ’95 to ’98 (except perhaps the discontinuation of support and maintenance)
and none at all to switch to ME. Windows 2000 and XP contain mostly bug fixes.
Neither 2000 nor XP offer a proper Return On Investment to NT users, and there’s little
or no demand for any of the extras that come with these versions. Nevertheless Bill
Gates called Windows XP "a very big thing" and Steve Ballmer said that "Windows XP
is a more significant advance forward than anything since Windows 3.0".
XP is the next version of the Windows NT/2000 product line, but is marketed as a
replacement for Window 9x/ME. It sports a seriously dumbed-down user interface (a
toy box that comes close to being insulting, apparently aimed at users aged 1 - 4 and
technophobes who are scared off even by Macintosh desktops) and it has a
Windows-2000 kernel under the hood. And of course there’s a lot of additional
application software bundled with it. And that’s about it. OK, it’s a real improvement
that Microsoft has finally decided to scrap the toy OS kernel that was Windows
’9x/ME, but that doesn’t make XP innovative. XP is a minor update of Windows 2000
that coincides with the discontinuation of the 9x/ME line, as part of Microsoft’s
repositioning of their Windows product lines. As a result of this (admittedly clever)
marketing trick, end users tend to compare XP with Windows 9x/ME and think of it as
a new product, which is of course rather misleading; it’s an overpriced point release of
Windows 2000 and nothing more.
This hasn’t stopped Microsoft from allocating a marketing budget of half a billion
dollars to the promotion of Windows XP. All the new cosmetic bells and whistles in XP
actually make it no more stable than Windows 2000 was, but that hasn’t stopped
Microsoft from marketing XP as the OS that "keeps on running" instead of crashing,
and protects the users from viruses. Ehm... Excuse me?
Incidentally, ’XP’ stands for ’eXPerience’. Apparently Microsoft thinks we need a new
’experience’ with our operating systems and applications, and that we sit at our
computers expecting to be entertained by OS features and a spreadsheet or two. And
indeed most of the ’improvements’ in XP are on the presentation level. If you look in
the executables in the Windows directory, you find internal labels like "ProductName:
Microsoft Windows (TM) operating system, ProductVersion: 3.10". There’s even DOS
5.0 code with a 1981-1991 copyright date. What a great new product. Of course it
makes sense to provide compatibility modes for old Windows applications, but to find
the bulk of Windows 3.10 and DOS 5 (all of it 16-bit code) up to and including
edlin.exe, installed under the hood of Windows XP makes you wonder about the design
principles that have gone into each "new" version of Windows.
In the application market things aren’t much better. MS Word isn’t quite the word
processor that WP5 was, a fact that MS attempted to gloss over by adding functions that
really belong to desktop publishing software (but cannot replace it for serious
10 of 81
Why I hate Microsoft
applications). As a result, Word lacks many features that users would like to have (such
as the option to view markup codes) but at the same time it has become so loaded with
other features that its complexity is actually counter-productive. Excel, originally
developed on the Apple platform, doesn’t really do anything that Lotus-123 couldn’t do
in the eighties (although it has a fancier user interface and more graphic capabilities)
and is loaded with macro bugs and version problems to boot. Microsoft Access is
something halfway between a ’flat’ database and a (somewhat buggy) front end to
serious relational database systems such as those based on SQL. PowerPoint merely
duplicates the functionality that other presentation packages already offered in the late
eighties. (Oops -- I forgot something: they have the Visual Basic hooks that virus
authors and hackers are having such a ball with.)
In fact, none of these products use any significant technology invented by Microsoft.
Sure, they’re all dressed up like maypoles with tons of gadgetry and flashy colors, and
the implementation of the old technology has become more streamlined, especially
when it comes to exchanging data between applications. They’ve been ported to
Windows so their user interfaces have a uniform look-and-feel (but are still
inconsistent) and IBM’s data exchange techniques such as OLE give the impression of
integration. But in fact it’s all old technology. This isn’t innovation. It’s recycling.
To illustrate: several of the files that come with Word ’97 (and perhaps with later
versions as well) still contain the text "Copyright WordPerfect Corporation 1994. All
rights reserved." I rest my case.
Microsoft’s future plans are full of the same kind of "innovation". The upcoming .Net
strategy involves simple client systems that will be used to access server-based or
network-based applications and services. This is in fact a somewhat more advanced
implementation of the ASP (Application Service Providing) concept. ASP moves
applications from the workstation to a central server. This does away with the need to
install, maintain and run application software locally on workstations.
Of course Microsoft claims that .Net is innovative. In truth there’s very little innovative
about it. Basically it’s a step back to the decades-old host-with-terminals approach.
Microsoft will almost certainly be able to rewrap it in a more attractive package, but
that’s as far as their innovation is likely to go. All you need to offer network-based
applications and services today (as well as twenty years ago) is a Unix server, a bunch
of applications and some graphic terminals. Granted, the X protocol (the most popular
graphic terminal standard on Unix systems) is more than somewhat ugly and unsuited
for anything but LAN’s, but the implementation of a more elegant and efficient
client/server protocol layer (e.g. ICA) is rather trivial. At that point all that Microsoft’s
developers need to do is to clean up their code so that resources are used efficiently (as
they should have done from day one) and move the applications back to the server
where they originated decades ago.
It’s business as usual in Redmond. More gadgets, more flashy colors, more overhead,
more old stuff with a new paint job, all marketed as new technology which they claim
to have personally invented from scratch. They dress up their "technological
innovations" with flashy names like Single Instance Store, to disguise the fact that
Single Instance Store is nothing but a slightly souped-up version of the symbolic links
that have been around on Unix systems for about three decades. Another "innovation" is
the addition of the Narrator text-to-speech converter as an aid for the visually impaired.
A useful feature, granted... but innovative? We’ve had commercial text-to-speech
conversion since the early eighties.
Microsoft apparently thinks that R&D stands for ’Rewrap & Disguise’. A baroque
excess of features that presents itself to the user serves mainly to hide the fact that the
software contains nothing that rightly could be called innovative. In spite of a marketing
11 of 81
Why I hate Microsoft
12 of 81
budget of some five billion dollars a year, the best Microsoft has managed to do is
repackage various ideas as their own, list TCP/IP under ’Microsoft protocols’ in
Windows, tout that they’ve "assisted with IPv6" (they did what, exactly?) and of course
they came up with an animated paper clip. Windows hasn’t added one basic service to
the PC that wasn’t available on, say, a Sun workstation in 1990. Yes, hardware has
become cheaper, smaller, faster and more powerful (just like all other electronics on the
market) so today’s PCs look much better than those old workstations. But basically no
new technology has been implemented into Microsoft products that really adds new
capabilities to a personal computer.
Microsoft Research, in spite of an astronomic budget, hasn’t come up with any truly
useful technology so far. Name one, just one, major piece of useful technology invented
or developed by Microsoft. One single original concept, that’s all I ask. Name it, and
I’ll tell you where they got it from.
Innovation? Yeah, right.
Table Of Contents | Previous chapter | Next chapter
2. The not-so-good, the bad and the ugly
"... it is easy to be blinded to the essential uselessness of them by the sense
of achievement you get from getting them to work at all. In other words ...
their fundamental design flaws are completely hidden by their superficial
-- The Hitchhiker’s Guide to the Galaxy, on the products of the Sirius
Let’s be honest: there’s no such thing as bug-free software. Initial versions of programs
may occasionally crash, fail to de-allocate memory, or encounter untested conditions.
Developers may overlook security holes, users may do things nobody thought of, and
not all systems are identical.
All software developers are human, and they make mistakes now and then. It happens.
But of all software vendors, Microsoft has the worst record by far when it comes to the
quality of their products in general.
Microsoft boasts a rather extensive product range, but in fact there’s less here than
meets the eye. Microsoft has forever been selling essentially the same software over and
over again, in a variety of colorful new wrappers.
Microsoft products can be divided into three categories: applications, operating
systems, and additional server products. The applications include the Microsoft Office
suite, but also Internet Explorer, Media Player, Visio, Frontpage, etc. The operating
systems involve desktop and server versions of Windows. On the desktop we find
Windows 9x/ME, NT Workstation, Windows 2000 and Windows XP, and on the server
end we have Windows NT Server and Windows 2000 varieties such as Windows 2000
Datacenter. The additional server products, e.g. Internet Information Server (IIS) and
SQL Server, run on top of one of the Windows server products. They add services (e.g.
webserver or database server functions) to the basic file, print and authentication
services that the Windows server platform provides.
Windows on the desktop comes in two flavors: the Windows 9x/ME product line, and
the Windows NT/2000/XP product line. The different versions within one product line
Why I hate Microsoft
are made to look a bit different, but the difference is in the details only; they are
essentially the same. Windows ’95, ’98 and ME are descended from DOS and Windows
3.x, and contain significant portions of old 16-bit legacy code. These Windows versions
are essentially DOS-based, with 32-bit extensions. Process and resource management,
memory protection and security were added as an afterthought and are rudimentary at
best. This Windows product line is totally unsuited for applications where security and
reliability are an issue. It is completely insecure, e.g. it may ask for a password but it
won’t mind if you don’t supply one. There is no way to prevent the user or the
applications from accessing and possibly corrupting the entire system (including the file
system), and each user can alter the system’s configuration, either by mistake or
deliberately. The Windows 9x/ME line primarily targets consumers (although Windows
’95 marketing was aimed at corporate users as well).
The other Windows product line includes Windows NT, 2000 and XP, and the server
products. This Windows family is better than the 9x/ME line; at least these versions use
new (i.e. post-DOS) 32-bit code. Memory protection, resource management and
security are a bit more serious than in Windows 9x/ME, and they even have some
support for access restrictions and a secure filesystem. That doesn’t mean that this
Windows family is as reliable and secure as Redmond’s marketeers claim, but
compared to Windows 9x/ME its additional features at least have the advantage of
being there at all. But even this Windows line contains a certain amount of 16-bit
legacy code, and the entire 16-bit subsystem is a direct legacy from Microsoft’s OS/2
days with IBM. In short, all 16-bit applications share one 16-bit subsystem (just as with
OS/2). There’s no internal memory protection, so one 16-bit application may crash all
the others and the the entire 16-bit subsystem as well. This may create persistent locks
from the crashed 16-bit code on 32-bit resources, and eventually bring Windows to a
halt. Fortunately this isn’t much of a problem anymore now that 16-bit applications
have all but died out.
Of course Windows has seen a lot of development over the years. But in fact very little
has really improved. The new features in new versions of Windows all show the same
half-baked, patchy approach. For each fixed problem, at least one new problem is
introduced (and often more than one).
Windows XP for example comes loaded with more applications and features than ever
before. While this may seem convenient at first sight, the included features aren’t as
good as those provided by external software. For example, XP insists on supporting
DSL ("wideband Internet" networking, scanners and other peripherals with the built-in
Microsoft code instead of requiring third-party code. So you end up with things like
DSL networking that uses incorrect settings (and no convenient way to change that),
scanner support that won’t let you use your scanner’s photocopy feature, or a digital
camera interface that will let you download images from the camera but you can’t use
its webcam function. WiFi network cards are even more of a problem: where
manufacturers could include their own drivers and client manager software in previous
versions of Windows, users are now forced to use XP’s native WiFi support.
Unfortunately XP’s WiFi support is full of problems that cause wireless PCs to loose
their connection to the wireless access point with frustrating regularity. Also XP’s
native WiFi support lacks extra functions (such as advanced multiple-profile
management) that manufacturers used to include in their client software.
And of course applications (such as Internet Explorer and Outlook) have been
integrated in the operating system more tightly than ever before, and more formerly
separate products have been bundled with the operating system.
All versions of Windows share a number of structural design flaws. Application
installation procedures, user errors and runaway applications may easily corrupt the
operating system beyond repair, networking support is poorly implemented, inefficient
13 of 81
Why I hate Microsoft
code leads to sub-standard performance, and both scalability and manageability leave a
lot to be desired. (See also appendix A.) In fact, NT and its successors (or any version
of Windows) are just not comparable to the functionality, robustness or performance
that the UNIX community has been used to for decades. They may work well, or they
may not. On one system Windows will run for weeks on end, on another it may crash
quite frequently. I’ve attended trainings at a Microsoft Authorized Education Center,
and I was told: "We are now going to install Windows on the servers. The installation
will probably fail on one or two systems [They had ten identical systems in the
classroom] but that always happens - we don’t know why and neither does Microsoft."
I repeat, this from a Microsoft Authorized Partner.
Be that as it may... Even without any installation problems or serious crashes (the kind
that require restore operations or reinstallations) Windows doesn’t do the job very well.
Many users think it does, but they generally haven’t experienced any alternatives. In
fact Windows’ unreliability has become commonplace and even proverbial; the dreaded
blue screen has featured in cartoons, screen savers and on t-shirts, it has appeared on
airports and buildings, and there has even been a Star Trek episode in which a
malfunctioning space ship had to be switched off and back on in order to get it going.
And even if Windows stays up it leaves a lot to be desired. On a fairly serious desktop
PC (e.g. a 450MHz PII CPU with 256MB RAM, something we could only dream of a
few years ago) four or five simultaneous tasks are enough to tax Windows’ multitasking
capabilities to their limits, even with plenty of core memory available. Task switches
will start to take forever, applications will stop responding simply because they’re
waiting for system resources to be released by other applications (which may have
crashed without releasing those resources), or kernel and library routines lock into some
unknown wait condition. Soon the whole system locks up entirely or becomes all but
unusable. In short, Windows’ process management is as bad a joke as its memory
protection and resource management is, and an operating system that may crash entirely
when an application error occurs should not be sold as a serious multi-tasking
environment. Granted, it does run several processes at once - but not very well. Recent
versions of Windows (i.e. 2000 and XP) are a little better in this respect than their
predecessors, but not much. Although they have been kludged up to reduce the impact
of some of the most serious problems, the basic flaws in the OS architecture remain; a
crashing application (e.g. a video player) can still lock up the system or throw it into a
sudden and spontaneous warm reboot.
Windows is quite fragile, and the operating system can get corrupted quite easily. This
happens most often during the installation of updates, service packs, drivers or
application software, and the problem exists in all versions of Windows so far. The
heart of the problem lies in the fact that Windows can’t (or rather, is designed not to)
separate application and operating system code and settings. Code gets mixed up when
applications install portions of themselves between files that belong to the operating
system (occasionally replacing them in the process). Settings are written to a central
registry that also stores vital OS settings. The registry database is basically insecure,
and settings that are vital to the OS or to other applications are easily corrupted.
Even more problems are caused by the limitations of Windows’ DLL subsystem. A
good multi-tasking and/or multi-user OS utilizes a principle called code sharing. Code
sharing means that if an application is running n times at once, the code segment that
contains the program code (which is called the static segment) is loaded into memory
only once, to be used by n different processes which are therefore instances of the same
application. Apparently Microsoft had heard about something called code sharing, but
obviously didn’t really understand the concept and the benefits, or they didn’t bother
with the whole idea. Whatever the reason, they went and used DLLs instead. DLL files
contain Dynamic Link Libraries and are intended to contain libary functions only.
14 of 81
Why I hate Microsoft
Windows doesn’t share the static (code) segment - if you run 10 instances of Word, the
bulk of the code will be loaded into memory 10 times. Only a fraction of the code, e.g.
library functions, has been moved to DLLs and may be shared.
The main problem with DLL support is that the OS keeps track of DLLs by name only.
There is no adequate signature system to keep track of different DLL versions. In other
words, Windows cannot see the difference between one WHATSIT.DLL and another
DLL with the same name, although they may contain entirely different code. Once a
DLL in the Windows directory has been overwritten by another one, there’s no way
back. Also, the order in which applications are started (and DLLs are loaded)
determines which DLL will become active, and how the system will eventually crash.
So there is no distinction between different versions of the same DLL, or between
DLLs that come with Windows and those that come with application software. An
application may put its own DLLs in the same directory as the Windows DLLs during
installation, and may overwrite DLLs by the same name if they exist.
What it boils down to is that the application may add portions of itself to the operating
system. (This is one of the reasons why Windows needs to be rebooted after an
application has been installed or changed.) That means that the installation procedure
introduces third-party code (read: uncertified code) to the operating system and to
other applications that load the affected DLLs. Furthermore, because there is no real
distinction between system level code and user level code, the code in DLLs that has
been provided by application programmers or the user may run at system level, i.e.
unprotected. This corrupts the integrity of the operating system and other applications.
A rather effective demonstration was provided by Bill Gates himself who, during a
Comdex presentation of the Windows 98 USB Plug-and-Play features, connected a
scanner to a PC and caused it to crash into a Blue Screen. "Moving right along," said
Gates, "I guess this is why we’re not shipping it yet." Nice try, Mr. Gates, but of course
the release versions of Windows ’98 and ME were just as unstable, and in Windows
2000 and XP new problems have been introduced. These versions of Windows use a
firmware revision number to recognize devices, so an update of a peripheral’s firmware
may cause that device to be ’lost’ to PnP.
Another, less harmful but mostly annoying, side-effect of code confusion is that
different language versions of software may get mixed up. A foreign language version
of an application may add to or partially overwrite Windows’ list of dialog messages.
This may cause a dialog window to prompt "Are you sure?" in English, followed by
two buttons marked "Da" and "Nyet".
Peripheral drivers also use a rather weak signature system and suffer from similar
problems as DLL’s, albeit to a lesser degree. For example, it’s quite possible to replace
a printer driver with a similar driver from another language version of Windows and
mess up the page format as a result. Printer drivers from different language versions of
Windows sometimes contain entirely different code that generates different printer
output, but Windows is unaware of the difference. This problem has been addressed
somewhat with the release of Windows 2000, but it’s still far from perfect.
Designing an OS to deliberately mix up OS and application code fits Microsoft’s
strategy of product bundling and integration. (See below.) But the results are obvious:
each file operation that involves executable code puts the entire OS and its applications
at risk, and application errors often mean OS errors (and crashes) as well. This leads to
ridiculous ’issues’ such as Outlook Express that may crash Windows NT 4.0, if NT is a
’high encryption’ version with the locale set to ’France’; replying to a message may
crash the entire system, a problem which has been traced to one of the DLLs that comes
with Outlook. (Are you still with me?)
In a well-designed and robustly coded OS something like this could never happen. The
first design criterion for any OS is that the system, the applications, and (in a multi-user
15 of 81
Why I hate Microsoft
environment) the users all be separated and protected from each other. Not only does no
version of Windows do that by default, it actively prevents you from setting things up
that way. The DLL fiasco is just the tip of the problem. You can’t maintain or
adequately restore OS integrity, you can’t maintain version control, and you can’t
prevent applications and users from interfering with each other and the system, either
by accident or on purpose.
Then there’s Windows’ lack of an adequate repair or maintenance mode. If anything
goes wrong and a minor error or corruption occurs in one of the (literally) thousands of
files that make up Windows, often the only real solution is a large-scale restore
operations or even to reinstall the OS. Yes, you heard me. If your OS suddenly stops
working properly and the files which you need to restore are unknown or being locked
by Windows, the standard approach to the problem (as recommended by Microsoft) is
to do a complete reinstallation. There’s no such thing as single user mode or
maintenance mode to do repairs, nor is there a good way to find out which file has been
corrupted in the first place, let alone to repair the damage. (The so-called ’safe mode’
merely swaps configurations and does not offer sufficient control for serious system
Windows has often been criticized for the many problems that occur while installing it
on a random PC, which may be an A-brand or clone system in any possible
configuration. This criticism is not entirely justified; after all it’s not practically feasible
to foresee all the possible hardware configurations that may occur at the user end. But
that’s not the point. The point is that these problems are often impossible to fix, because
most of the Windows operating system is beyond the users’ or administrators’ control.
This is of course less true for Windows 9x/ME. Because these are essentially DOS
products, you can reboot the system using DOS and do manual repairs to a certain
degree. With Windows NT this is of course completely impossible. Windows 2000 and
XP come with an external repair console utility on the CD, that allows you to access the
file system of a damaged Windows installation. But that’s about it.
This leads to ridiculous situations. For example, I tried to install a bugfix from
Microsoft for Windows NT, which included a DLL that replaced a previous version in
the system directory. However, since Windows keeps this DLL open and locked, this
cannot be done while the operating system is running. The README that came with
the patch blithely suggested that I reboot my computer using DOS, and manually
replace the DLL from the DOS prompt. Apart from the fact that NTFS system partitions
cannot be accessed from DOS, which I will ignore for the moment, this inability to
allow for its own maintenance is a good demonstration of Windows’ immaturity.
The inability to make repairs has been addressed, to a certain degree, in Windows XP.
XP comes with a ’System Restore’ feature that tracks changes to the OS, so that
administrators may ’roll back’ the system to a previous state before the problem
occurred. Also, the ’System File Check’ feature attempts to make sure that some 1000
system files are the ones that were originally installed. If a "major" system file is
replaced by another version (for example if a Windows XP DLL file is overwritten by a
Windows ’95 DLL with the same name) the original version will be restored. (Of
course this also prevents you from removing things like Outlook Express, Winfile.exe
or Progman.exe, since the specification of what is an important system file is rather
These workarounds are automated processes, and they are largely beyond the user’s
control. Disabling System File Check requires major surgery, and neither feature can be
stopped from undoing modifications that it thinks are incorrect but that may be
intentional. There’s still no maintenance mode. Even so this may be an improvement
over the previous situation: a certain amount of recovery is now possible. On the other
hand, this illustrates Microsoft’s kludgey approach to a very serious problem: instead of
16 of 81
Why I hate Microsoft
implementing changes in the architecture to prevent OS corruption, they perpetuate the
basic design flaw and try to deal with the damage after the fact. They don’t fix the hole
in your roof, they sell you a bucket to put under it instead.
The inefficiency of Microsoft’s program code is of course disastrous to Windows’
performance figures. (Where did you think the name ’Windoze’ comes from?)
Microsoft needs at least three or four times as much hardware to deliver the same
performance that other operating systems (e.g. Unix) deliver on much less. And that’s
not the only problem. Another issue is that most of Windows’ bells and whistles do not
increase productivity (the bottom line when it comes to ICT investments paying off) at
all. Today you need at least a 600 MHz Pentium III to do the same kind of typical office
work job under Windows XP that you used to do on a 12 MHz 286 under DOS... in
about the same amount of time. Productivity has only been fractionally increased at a
hugely inflated Total Cost of Ownership. Can you say "Return On Investment"?
Only 32 kilobytes of RAM in the Apollo capsules’ computers was enough to put men
on the moon. The Voyager deep space probes have on-board computers based on a 4-bit
CPU. An 80C85 CPU with 176 kilobytes of PROM and 576 kilobytes of RAM
controlled the Sojourner rover that drove across the surface of Mars and sent us a
wealth of scientific data and high-resolution images in full-color stereo. But when I
have a 233MHz Pentium II with 128 Megabytes of RAM and 30 Gigabytes of disk
space, and I try to type a letter to my grandmother using Windows XP and Office XP,
the job will take me forever because my computer is underpowered!!
Server-based or network-based computing is no solution either, mainly because
Windows doesn’t have any real code sharing capability. If you were to shift the
workload of ten 450MHz/512MB workstations to an application server (using Windows
Terminal Server, Cytrix Server or another ASP-like solutions) you would need a
theoretical 4.5GHz CPU speed and 5GB of RAM at the server end to maintain the same
performance, not counting the inevitable overhead which could easily run up to 10 or
And then there’s the incredible amount of inefficient, or even completely unnecessary
code in the Windows file set. Take the 3D Pinball game in Windows 2000 Professional
and XP Professional, for example. This game (you’ll find it under
\Program Files\Windows NT\Pinball) is installed with Windows and takes up a few
megabytes of disk space. But most users will never know that it’s sitting there, wasting
storage and doing nothing productive at all. It doesn’t appear in the program menu or
control panel, and no shortcuts point to it. The user isn’t asked any questions about it
during installation. In fact its only conceivable purpose would be to illustrate
Microsoft’s definition of ’professional’. No wonder Windows has needed more and
more resources over the years. A few megabytes doesn’t seem much, perhaps, but that’s
only because we’ve become used to the enormous footprints of Windows and Windows
applications. Besides, if Microsoft installs an entire pinball game that most users neither
need nor want, they obviously don’t care about conserving resources (which are paid
for by the user community). What does that tell you about the resource-efficiency of the
rest of their code? Let me give you a hint: results published in PC Magazine in April
2002 show that the latest Samba software surpasses the performance of Windows 2000
by about 100 percent under benchmark tests. In terms of scalability, the results show
that Unix and Samba can handle four times as many client systems as Windows 2000
before performance begins to drop off.
Another example is what happened when one of my own clients switched from Unix to
Windows (the reason for this move being the necessity to run some webbased
accounting package with BackOffice connectivity on the server). Their first server ran
Unix, Apache, PHP and MySQL and did everything it had to do with the engine barely
idling. On the same system they then installed Windows Server 2003, IIS, PHP and
17 of 81
Why I hate Microsoft
MySQL, after which even the simplest of PHP scripts (e.g. a basic 100-line form
generator) would abort when the 30 second execution timeout was exceeded.
Paradoxically, though, the fact that Microsoft products need humongous piles of
hardware in order to perform decently has contributed to their commercial success.
Many integrators and resellers push Microsoft software because it enables them to
prescribe the latest and heaviest hardware platforms in the market. Unix and Netware
can deliver the same or better performance on much less. Windows 2000 and XP
however need bigger and faster systems, and are often incompatible with older
hardware and firmware versions (especially the BIOS). This, and the fact that hardware
manufacturers discontinue support for older hardware and BIOSes, forces the user to
purchase expensive hardware with no significant increase in return on investment. This
boosts hardware sales, at the expense of the "dear, valued customer". Resellers make
more money when they push Microsoft products. It’s as simple as that.
Apart from the above (and other) major flaws there’s also a staggering amount of minor
flaws. In fact there are so many minor flaws that their sheer number can be classified as
a major flaw. In short, the general quality of Microsoft’s entire set of program code is
sub-standard. Unchecked buffers, unverified I/O operations, race conditions, incorrectly
implemented protocols, failures to deallocate resources, failures to check environmental
parameters, et cetera ad nauseam... You name it, it’s in there. Microsoft products
contain some extremely sloppy code and bad coding practices that would give an
undergraduate some well-deserved bad marks. As a result of their lack of quality
control, Microsoft products and especially Windows are riddled with literally thousands
and thousands of bugs and glitches. Even most of the error messages are incorrect!
Some of these blunders can be classified as clumsy design rather than as mere
sloppiness. A good example is Windows’ long filename support. In an attempt to allow
for long filenames, Microsoft deliberately broke the FAT file system. They stored the
extension information into deliberately cross-linked directory entries, which is probably
one of their dirtiest kludges ever. And if that wasn’t enough, they made it legal for
filenames to contain whitespace. Because this is incompatible with Windows’ own
command line parsing (it still assumes the old FAT notation) another kludge was
needed, and whitespace had to be enclosed in quotation marks. This confuses (and
breaks) many programs, including many of Microsoft’s own that come with Windows.
Another good example is Windows’ apparent case-sensitivity. Windows seems to make
a distinction between upper and lower case when handling filenames, but the
underlying software layers are in fact case-insensitive. So Windows only changes the
case of the files and directories as they are presented to the user. The names of the
actual files and directories may be stored in uppercase, lowercase or mixed case, while
they are still presented as capitalized lower case files. Of course this discrepancy causes
no problems in a Windows-only environment. Since the underlying code is essentially
case-insensitive, case is not critical to Windows’ operation. However as soon as you
want to incorporate Unix-based services (e.g. a Unix-based webserver instead of IIS)
you discover that Windows has messed up the case of filenames and directories.
But most of Windows’ errors and glitches are just the result of sloppy work. Of course
there is no such thing as bug-free software, but the amount of bugs found in Windows
is, to put it mildly, disproportionate. For example, Service Pack 4 for Windows NT 4.0
attempted to fix some 1200 bugs (yes, one thousand two hundred). But there had
already been three previous service packs at the time! Microsoft shamelessly admitted
this, and even boasted about having "improved" NT on 1200 points. Then they had to
release several more subsequent service packs in the months that followed, to fix
remaining issues and of course the additional problems that had been introduced by the
service packs themselves.
An internal memo among Microsoft developers mentioned 63,000 (yes: sixty-three
18 of 81
Why I hate Microsoft
thousand) known defects in the initial Windows 2000 release. Keith White, Windows
Marketing Director, did not deny the existence of the document, but claimed that the
statements therein were made in order to "motivate the Windows development team".
He went on to state that "Windows 2000 is the most reliable Windows so far." Yes,
that’s what he said. A product with 63,000 known defects (mind you, that’s only the
known defects) and he admits it’s the best they can do. Ye gods. And the story
continues. Windows XP Service Pack 2 was touted to address a large number of
security issues and make computing safer. Instead it breaks many things (mostly
products made by Microsoft’s competitors, but of course that is merely coincidence) but
does not really fix any real security flaws. The first major security hole in XP-SP2 was
described by security experts as "not a hole but rather a crater" and allowed
downloadable code to spoof firewall information. Only days after XP-SP2 was released
the first Internet Explorer vulnerability of the SP2-era was discovered. Furthermore SP2
leaves many unnecessary networking components enabled, bungles permissions, leaves
IE and OE open to malicious scripts, and installs a packet filter that lacks a capacity for
egress filtering. It also makes it more difficult for third-party products (especially
multimedia plugins) to access the ActiveX controls, which in turn prevents the
installation of quite a bit of multimedia software made by Microsoft’s competitors.
XP-SP2’s most noticable effect (apart from broken application compatibility are
frequent popups that give the user a sense of security. Apart from this placebo effect the
long-awaited and much-touted XP-SP2 doesn’t really fix very much.
All these blunders have of course their effects on Windows’ reliability and availability.
Depending on application and system load, most Windows systems tend to need
frequent rebooting, either to fix problems or on a regular basis to prevent performance
degradation as a result of Windows’ shaky resource management.
On the desktop this is bad enough, but the same flaws exist in the Windows server
products. Servers are much more likely to be used for mission-critical applications than
workstations are, so Windows’ limited availability and its impact on business become a
major issue. The uptimes of typical Windows-based servers in serious applications (i.e.
more than just file and print services for a few workstations) tend to be limited to a few
weeks at most. One or two server crashes (read: interruptions of business and loss of
data) every few months are not uncommon. As a server OS, Windows clearly lacks
Windows server products aren’t even really server OSes. Their architecture is no
different from the workstation versions. The server and workstation kernels in NT are
identical, and changing two registry keys is enough to convince a workstation that it’s a
server. Networking capabilities are still largely based on the peer-to-peer method that
was part of Windows for Workgroups 3.11 and that Microsoft copied, after it had been
successfully pioneered by Apple and others in the mid-eighties. Of course some code in
the server products has been extended or optimized for performance, and domain-based
authentication has been added, but that doesn’t make it a true server platform. Neither
does the fact that NT Server costs almost three times as much as NT Workstation. In
fact we’re talking about little more than Windows for Workgroups on steroids.
In November 1999, [email protected] Reseller’s Steven J. Vaughan-Nichols ran a test to compare
the stability of Windows NT Server (presumably running Microsoft Internet
Information Server) with that of the Open Source Linux operating system (running
Samba and Apache). He wrote:
Conventional wisdom says Linux is incredibly stable. Always skeptical, we
decided to put that claim to the test over a 10-month period. In our test, we
ran Caldera Systems OpenLinux, Red Hat Linux, and Windows NT Server
4.0 with Service Pack 3 on duplicate 100MHz Pentium systems with 64MB
19 of 81
Why I hate Microsoft
of memory. Ever since we first booted up our test systems in January,
network requests have been sent to each server in parallel for standard
Internet, file and print services. The results were quite revealing. Our NT
server crashed an average of once every six weeks. Each failure took
roughly 30 minutes to fix. That’s not so bad, until you consider that neither
Linux server ever went down.
Interesting: a crash that takes 30 minutes to fix means that something critical has been
damaged and needs to be repaired or restored. At least it takes more than just a reboot.
This happens once every six weeks on a server, and that’s considered "not so bad"...
Think about it. Also note that most other Unix flavors such as Solaris, BSD or AIX are
just as reliable as Linux.
But the gap between Windows and real uptime figures is even greater than
Vaughan-Nichols describes above. Compare that half hour downtime per six weeks to
that of Netware, in the following article from Techweb on 9 April 2001:
Server 54, Where Are You?
The University of North Carolina has finally found a network server that,
although missing for four years, hasn’t missed a packet in all that time. Try
as they might, university administrators couldn’t find the server. Working
with Novell Inc. (stock: NOVL), IT workers tracked it down by meticulously
following cable until they literally ran into a wall. The server had been
mistakenly sealed behind drywall by maintenance workers.
Although there is some doubt as to the actual truth of this story, it’s a known fact that
Netware servers are capable of years of uninterrupted service. I recently brought down a
Netware server at our head office. This is a Netware 5.0 server that also runs software
to act as the corporate SMTP/POP3 server, fax server and virus protection for the
network, next to regular file and print services for the whole company. It had been up
and running without a single glitch for more than a year, and the only reason we shut it
down was because it had to be physically moved to another building. Had the move not
been necessary, it could have run on for years and years - after all there’s no reason why
its performance should be affected, as long as nobody pulls the plug or rashly loads
untested software. The uptimes of our Linux and Solaris servers (which act as
mission-critical web servers, database servers and mail servers, and also run basic file
and print services) are measured in months as well. Uptimes in excess of a year are not
uncommon for Netware and Unix platforms, and uptimes of more than two years are
not unheard of either. Most OS updates short of a kernel replacement do not require a
Unix server to reboot, as opposed to Windows that needs a complete server reboot
whenever a DLL in some subsystem is replaced. But see for yourself: check the
Netcraft Uptime statistics and compare the uptimes of Windows servers to those of
Unix servers. The figures speak for themselves.
Microsoft promises 99.999% availability with Windows 2000. That’s a little over 5
minutes of downtime per year. Frankly I can’t believe this is a realistic target for
Windows. Microsoft products have never even approached such uptime figures. Even
though most of the increased availability of Windows 2000 must be provided through
third-party clustering and redundancy solutions (something that the glossy ads neglect
to mention) it’s highly unlikely that less than five minutes of downtime per year for the
entire Windows cluster is practically feasible.
Perhaps even more serious is the fact that, short of clustering, there is no adequate
solution for the many software glitches that jeopardize the availability of a typical
Windows server. A typical NT or 2000 server can spontaneously develop numerous
transient problems. These may vary from network processes that seem healthy but
20 of 81
Why I hate Microsoft
ignore all network requests, to runaway server applications that lock up the entire
operating system. Usually the only solution in these cases is to power cycle and restart
the system. I remember having to do that three times a week on a production server.
Believe me, it’s no fun. Perhaps it’s understandable that some network administrators
feel that the best way to accelerate a Windows system is at 9.81 meters per second
Does this make Windows an entirely unusable product that cannot run in a stable
configuration anywhere? No, fortunately not. There are situations where Windows
systems (both workstations and servers) may run for long periods without crashing. A
vendor-installed version of Windows NT of 2000 on an HCL-compliant, A-brand
system, with all the required service packs and only certified drivers, should give you
relatively few problems (provided that you don’t use it for much more than basic file
and print services, of course). The rule of thumb here is to use only hardware that is on
Microsoft’s Hardware Compatibility List (HCL), to use only vendor-supplied, certified
drivers and other software, and to use third-party clustering solutions for applications
where availability is a critical issue.
To be honest, Windows 2000 is somewhat better (or rather less bad) than NT4 was. It’s
less prone to spontaneous crashes and some of NT’s most awkward design blunders
have been fixed. (For example, the user home directories are no longer located under
the WINNT directory.) On most systems (especially on notebook computers) it is
considerably less shaky. Which goes to show that a few relatively minor improvements
go a long way, I suppose. But still, given the general quality of Microsoft products and
Windows in particular, there are absolutely no guarantees. And of course Microsoft
introduced a whole new set of glitches and bugs in Windows XP, which largely undid
many of the improvements in Windows 2000, so that Windows XP is less stable than
Windows 2000. But that’s innovation for you, I suppose.
The most frightening aspect about all this is that Microsoft doesn’t seem to realize how
serious these problems are. Or rather, they probably realize it but they don’t seem to
care as long as sales hold up. Their documents on serious problems (which are always
called ’Issues’ in Microsoft-speak) are very clear on that point. Take the ’TCP/IP
Denial Of Service Issue’ for example: a serious problem that was discovered a few
years ago. It caused NT servers to stop responding to network service requests, thus
rendering mission-critical services unavailable. (This should not be confused with
deliberate Denial Of Service attacks to which most operating systems are vulnerable;
this was a Windows issue only.) At the time there was no real solution for this problem.
Microsoft’s only response at the time was to state that "This issue does not compromise
sensitive data in any way. It merely forces a server to become unavailable for a short
time, which is easily remedied by rebooting the server." (NT administrators had to wait
for the next service pack that was released several months later before this problem was
And Microsoft thinks that this stuff can compete with Unix and threaten the mainframe
market for mission-critical applications?
I don’t think so.
In September 2001 Hewlett-Packard clustered 225 PCs running the Open Source Linux
operating system. The resulting system (called I-cluster) benchmarked itself right into
the global top-500 of supercomputers, using nothing but unmodified, out-of-the-box
hardware. (A significant number of entries in that top-500, by the way, runs Linux, and
more and more Unix clusters are being used for supercomputing applications.)
Microsoft, with a product line that is descended solely from single-user desktop
systems, can’t even dream of such scalability - not now, not ever. Nevertheless
21 of 81
Why I hate Microsoft
Microsoft claimed on a partner website with Unisys that Windows will outperform
Unix, because Unisys’ server with Windows 2000 Datacenter could be scaled up to 32
CPU’s. This performance claim is of course a blatant lie: the opposite is true and they
know it. Still Microsoft would have us believe that the performance, reliability and
scalability of the entire Windows product line is on par with that of Unix, and that
clustered Windows servers are a viable replacement option for mainframes and Unix
midrange systems. I’m not kidding, that’s what they say. If you’re at all familiar with
the scalability of Unix midrange servers and the requirements of the applications that
mainframes are being used for, you will realize how ludicrous this is. And if you’re not,
consider this: when Microsoft acquired the successful Hotmail free Email service, the
system had roughly 10 million users, and the core systems that powered Hotmail all ran
Unix. Today the number of Hotmail users exceeds 50 million, but in spite of
Microsoft’s claims about the power of Windows servers and their previous intentions to
replace Hotmail’s core systems with NT servers, Hotmail’s core systems still run Unix.
This is discussed thoroughly in a leaked-out internal paper by Microsoft’s Windows
2000 Server Product Group member David Brooks. He mentions the proverbial stability
of the Unix kernel and the Apache web server, the system’s transparency and
combination of power and simplicity. Windows on the other hand is considered to be
needlessly GUI-biased (Brooks writes: "Windows 2000 server products continue to be
designed with the desktop in mind") and also complex, obscure, needlessly
resource-hungry (Brooks: "It’s true that Windows requires a more powerful computer
than Linux or FreeBSD") and involving "reboot as an expectation" (sic).
Of course Hotmail is not the only example of Microsoft refusing to eat their own dog
food. The "We have the way out" anti-Unix website that Microsoft (along with partner
Unisys) put up in the first months of 2002, initially ran Unix and Apache (and was
ported to IIS on Windows 2000 only after the entire ICT community had had a good
laugh). And Microsoft’s own accounting division used IBM’s AS/400 midrange
platform for critical applications such as the payroll system, until the late nineties. Food
It should also be mentioned that Microsoft doesn’t know the first thing about
networking. A Windows system in a TCP/IP environment still uses a NetBIOS name.
Microsoft networking is built around NetBEUI, which is an extended version of
NetBIOS. This is a true Stone Age protocol which is totally unroutable. It uses lots of
broadcasts, and on a network segment with Windows PCs broadcasts indeed make up a
significant portion of the network traffic, even for point-to-point connections (e.g.
between a Microsoft mailbox and a client PC). If it weren’t for the fact that it is possible
to encapsulate NetBIOS/NetBEUI traffic in a TCP/IP envelope, connecting Windows to
the real world would be totally impossible. (Note that Microsoft calls the IP
encapsulation of NetBEUI packets ’native IP’. Go figure.)
In any case Windows PCs tend to generate an inordinate amount of garbage on the
network. I remember reading a document from Microsoft that stated that a typical PC
network consists of ten or at most twenty peer-to-peer workstations on a single cable
segment, all running Microsoft operating systems. And that explains it, I suppose. If
you want anything more than that, on your own head be it.
BTW: don’t believe me -- try for yourself. Take a good, fast FTP server (i.e. one that
runs on Unix). Upload and download a few large files (say, 50MB) from and to a
Windows NT or 2000 workstation. (I used a 233MHz Pentium-II.) You will probably
see a throughput in the order of 1 Mbit/s for uploads and 2 to 3 Mbit/s for downloads.
Then boot Linux on the same workstation and repeat. You will now see your
throughput limited only by the bandwidth or your network connection or by the
capacity of your FTP server, whichever comes first. On 10 Mbit/s Ethernet, 5 Mbit/s
upload and download throughput are the least you may expect. To further test this, you
22 of 81
Why I hate Microsoft
can repeat it with a really slow client (e.g. a 60 or 75MHz Pentium) running Linux. The
throughput limit will still be network-bound and not system-bound. (Note: this is not
limited to FTP but also affects other network protocols. It’s a performance problem
related to the code in Windows’ IP stack and other parts of the architecture involved
with data throughput.)
New Windows versions bring no relief here. Any network engineer who uses PPPoE
(Point-to-Point Protocol over Ethernet) with ADSL will tell you that the MTU (a setting
that limits packet size) should be set to 1492 or less. In XP it’s set by default to 1500,
which may lead to problems with the routers of many DSL ISP’s. Microsoft is aware of
the problem, but XP nevertheless persists in setting up PPPoE with an MTU of 1500.
There is a registry hack for PPPoE users, but there is no patch, and XP has no
GUI-based option which enables the user to change the MTU conveniently. (This
problem is rather typical for XP. Previous versions of Windows needed third party code
to support such features. This was inconvenient, but at least there was a chance to
obtain code written by developers who knew what they were doing. In Windows XP
Microsoft insisted on doing the job themselves, and botched it.)
On top of all this, readers of this paper report that according to John Dvorak in PC
Magazine, the Windows kernel maxes out at 483 Mbps. He remarks that as many
businesses are upgrading to 1 Gigabit Ethernet, Windows (including XP) just can’t keep
Now go read what Microsoft writes about Windows 2000 and XP being the ideal
platform for Internet applications...
The sloppy nature of Windows’ networking support code and protocol stacks also
makes the system more vulnerable to Denial of Service attacks. A DoS attack is nothing
but a form of computer vandalism, with the intention to crash a system or otherwise
render it unavailable. In a typical DoS attack a deliberately malformed network packet
is sent to the target system, where it triggers a known flaw in the operating system to
disrupt it. In the case of Windows, though, there are more ways to bring down a system.
For example, the kernel routines in Windows 2000 and XP that process incoming IPsec
(UDP port 500) packets are written so badly that sending a stream of regular IPsec
packets to the server will cause it to bog down in a CPU overload. And of course
Windows’ IPsec filters cannot block a 500/udp packet stream.
Another way to render a system unavailable is a Distributed Denial of Service attack. A
DDoS attack involves many networked systems that send network traffic to a single
target system or network segment, which is then swamped with traffic and becomes
unreachable. There’s very little that can be done against DDoS attacks, and all
platforms are equally vulnerable.
With all these DoS and DDoS vulnerabilities, it’s a worrying development that
Windows 2000 and XP provide new platforms to generate such attacks. The only real
’improvement’ in Windows 2000’s and XP’s IP stacks is that for no good reason
whatsoever, Microsoft has extended the control that an application has over the IP
stack. This does not improve Windows’ sub-standard networking performance, but it
gives applications the option to build custom IP packets to generate incredibly
malicious Internet traffic. This includes spoofed source IP addresses and SYN-flooding
full scale Denial of Service (DoS) attacks.
So far we have concentrated on Windows. Most of the problems with Microsoft
products originate here, since Windows is by far the most complex Microsoft product
line, and there are more interactions between Windows and other products than
anywhere else. But unfortunately most server and desktop applications are cut from the
same cloth as Windows is. The general quality of their code and design is not much
The additional server products generally run on a Windows server. This means that all
23 of 81
Why I hate Microsoft
the disadvantages of an insecure, unstable platform also apply to the server products
that run on those servers. For example, Microsoft SQL Server is a product that has
relatively few problems. It’s basically a straightforward implementation of a general
SQL server, using technology that Microsoft did not develop (as usual) but got off
Sybase instead. It’s not very remarkable or innovative perhaps, but it’s not a bad
product as far as it goes, certainly not by Microsoft standards. But any database service
can never be more stable than the platform it’s running on. (This goes of course for any
software product, not just for an SQL database server.) So all vulnerabilities that apply
to the Windows server directly apply to the database service as well.
Other additional server products come with their own additional problems, though.
Microsoft’s webserver product, Internet Information Server (IIS), is designed not just to
serve up web pages written in the standard HTML language, but also to provide
additional authentication and links to content databases, to add server and client side
scripting to web pages, to generate Dynamic HTML and Active Server Pages, et cetera.
And it does all these things, and more, but often not very well. IIS is outperformed by
all other major webserver products (especially Apache). IIS’ authentication is far from
robust (the lack of security in MS products is discussed below) and the integration of an
IIS webserver with a content database server is far from seamless. Dynamic HTML,
ASP and scripting require the webserver to execute code at the server end, and there
Microsoft’s bad process management comes into play: server load is often excessive.
Running code at the server end in response to web requests creates a lot of security
issues as well, and on top of all that the web pages that are generated do not conform to
the global HTML standards, they are only viewed correctly in Microsoft’s own web
Microsoft’s mail server product, Exchange, has a few sharp edges as well. To begin
with, its performance is way under par. Where one Unix-based mail server will easily
handle thousands of users, one Exhange server maxes out at about one hundred. So to
replace large Unix-based email services with Exchange generally requires a server
But a much bigger problem is Exchange’s lack of stability and reliability. To lose a few
days worth of corporate E-mail in an Exchange crash is not uncommon. Most of these
problems are caused by the hackish quality of the software. Exchange is designed to
integrate primarily with other Microsoft products (especially the Outlook E-mail client)
and it doesn’t take the Internet’s global RFC standards too seriously. This limits
compatibility and may cause all kinds of problems. Outlook Express also has a strange
way of talking IMAP to the Exchange server. It makes a bazillion IMAP connections;
each connection logs in, performs one task, sets the connection to IDLE-- and then
drops the connection. Since OE does not always close the mailbox properly before
dropping the connection, the mailbox and Outlook do not necessarily sync up. This
means that you may delete messages in OE that magically return to life in a few
minutes because those deletions did not get disseminated to the mailbox before the
Just like other Microsoft applications, the additional server products are tightly
integrated into Windows during installation. They replace DLLs belonging to the
operating system, and they run services at the system level. This does not improve the
stability of the system as a whole to begin with, and of course most of the code in the
additional server products is of the same doubtful quality as the code that makes up
Windows. The reliability and availability of any service can never be better than the
server OS it runs on. However most of Microsoft’s additional server products add their
own complexity, bugs and glitches to the system, which only makes it worse. The
resulting uptime and reliability figures are rather predictable. The inefficiency that
exists in Windows is also present in the additional server products, so as a rule of thumb
each additional service needs its own server platform. In other words: if you need a file
24 of 81
Why I hate Microsoft
and print server, a web server and a mail server, you need three separate systems
whereas Unix or Netware could probably do the job on only one system.
Microsoft desktop applications (like Word and Excel) are largely more of the same.
They’re in the terminal stages of feature bloat: they’re full of gadgets that don’t really
add anything useful to the product, but that ruin productivity because of their
complexity, and that introduce more errors, increase resource demands, and require
more code which in turn leads to increased risks. After years of patching and adding,
the code base for these products has become very messy indeed. Security, if any, has
been added as an afterthought here, too. For example, a password-protected Word
document is not encrypted in any way. Inserting a ’protected’ document into another
non-protected document (e.g. an empty new document) is enough to get around the
’protection’. And if that fails, a simple hex editor is enough to change the ’Password To
Modify’ in a document. Microsoft is aware of this, but now claims that the ’Password
To Modify’ is only intended to "prevent accidental changes to a document" and not to
offer protection from modifications by malicious third parties. Uh-huh.
Animated paper clips don’t really make Word a better word processor. We’d be better
off with other things, such as a consistent behavior of the auto-format features, the
ability to view markup codes, or a more complete spell checking algorithm and
dictionary. But in spite of all the "new" versions of Office and persistent feature
requests from their users, Microsoft still hasn’t gotten around to that. Instead we have
multi-language support that tends to ’forget’ its settings occasionally, and an
’auto-correct’ feature that’s limited to the point of being more annoying than useful.
Word documents have become excessively large and unwieldy, and occasionally they
are corrupted while being saved to disk so that Word will crash while trying to read
them at a later time.
We can be brief about Excel: it has similar problems, and calculation errors in
formula-based spreadsheets on top of that. Excel is full of frills and spiffy graphics and
animations, but essentially it’s still a spreadsheet that cannot count and that requires that
many formulas and macros be rewritten for each new version of Excel.
Menu interfaces in all Microsoft applications, even in those that are bundled in MS
Office, are inconsistent and non-intuitive. For example, the menu option to set
application preferences, which may be titled ’Preferences’ in some products but
’Options’ in others, may be found under the ’File’ menu, under the ’Edit’ menu, under
’View’ or somewhere else, depending on what product you’re currently using. To create
even more confusion, the same options in different applications do not work identically.
For example the ’Unsorted list’ button (to create a bullet list) handles indentation
correctly in Word but ignores it completely in PowerPoint (PowerPoint adds bullets but
messes up the left outline of the text). And the ’F3’ key activates the ’search again’
function for string searches in practically all Microsoft products, except in Internet
Explorer where it brings up a ’Find: all files’ window for no apparent reason.
Microsoft’s most important application outside MS Office is without doubt Internet
Explorer. In its first incarnation IE was a very unremarkable web browser; e.g. version
2.0 as it was shipped with Windows NT 4 was so backward that it didn’t even have
frame capability. This soon changed as Microsoft began integrating the web browser
with Windows as a part of their integration and bundling strategies (which are discussed
in detail below).
In all honesty it must be said that recent versions of IE (starting with version 6) aren’t
bad web browsers. They do what they’re supposed to do, and they do it pretty well. At
least they display standards-compliant HTML as correctly rendered web pages at a
speed that is by all means acceptable. Previous versions weren’t so good and even
contained deliberate deviations from the global HTML standards that were intended to
25 of 81
Why I hate Microsoft
discourage the use of standardized HTML in favor of Microsoft’s own proprietary and
The main drawbacks of Internet Explorer lie in the fact that it tries to be more than just
a web browser. It adds scripting support (with the ability to run Visual Basic or Jscripts
that are embedded in web pages) and it hooks directly into the Windows kernel. I’ve
seen web pages that would shut down the Windows system as soon as the page was
viewed with Internet Explorer. Microsoft doesn’t seem to have bothered very much
with basic security considerations, to put it mildly. And of course the installation of a
new version of Internet Explorer replaces (overwrites) significant portions of the
Windows operating system, with all the drawbacks discussed above.
Similar problems are found in Outlook, Microsoft’s E-mail client. Outlook is in fact a
separate application, but it isn’t shipped separately. There are two versions: one is
bundled with Internet Explorer (this version is called Outlook Express) and the other is
part of MS-Office (this version is named ’Outlook’ and comes with groupware and
scheduler capabilities). In itself Outlook is an acceptable, if unremarkable, E-mail
client; it allows the user to read and write E-mail. It comes with a few nasty default
settings, but at least these can be changed, although the average novice user of course
never does that. (For example, messages are by default sent as HTML file attachments
instead of as readable text, when a user replies to an E-mail the quoting feature
sometimes uses weird formatting that won’t go away without dynamite, and there’s
often a lot of junk that accompanies an outgoing E-mail message.) More serious is the
fact that both Outlook and its server-end companion Exchange tend to strip fields from
E-mail headers, a practice that is largely frowned upon. This also makes both network
administration and troubleshooting more difficult.
Outlook comes with a lot of hooks into Internet Explorer. IE code is being used to
render HTML file attachments, including scripts that may be embedded into an
HTML-formatted E-mail message. Again Microsoft seems to have been completely
unaware of the need for any security here; code embedded in inbound E-mail is by
default executed without any further checking or intervention from the user.
And that brings us to another major weakness of all Microsoft products: security, or
rather the lack thereof. The notorious insecurity of Microsoft software is a problem in
It all begins with Windows’ rather weak security. The number of reports on security
holes has become downright embarrassing, but it still keeps increasing regularly. On the
other hand, Windows security holes have become so common that they hardly attract
attention anymore. Microsoft usually downplays the latest security issues and releases
another patch... after the fact. If Microsoft really wanted to resolve these software
problems, they would take greater care to ensure such problems were fixed before its
products went on sale-- and thus reverse the way it traditionally conducts business.
Doing so would mean less resources wasted by its customers each year patching and
re-patching their systems in an attempt to clean up after Microsoft’s mistakes, but it
would also decrease the customers’ dependency on what Microsoft calls ’software
maintenance’. In the meantime, hackers are having a ball with Microsoft’s shaky
security models and even weaker password encryption (such as simple XOR bitflip
operations, the kind of ’encryption’ that just about every student reinvents in school).
Hackers, script kiddies and other wannabees get to take their pick from the wide choice
of elementary security weaknesses to exploit. Some recent and highly virulent worms,
for example, spread so rapidly because they could crack remote share passwords in
about twenty seconds. (This did not stop Microsoft from running an advertising
campaign in spring 2003 that centered on hackers becoming extinct along with the dodo
and the dinosaur, all because of Microsoft’s oh so secure software. Unsurprisingly, this
violated a few regulations on truth in advertising, and the campaign had to be
26 of 81
Why I hate Microsoft
Another large part of the problem is Windows’ lack of adequate separation between
code running on various system and user levels. Windows always assumes that code
runs with the highest privilege so that it can do almost anything, including malicious
intent. This makes it impossible to prevent malicious code from invading the system.
Users may (inadvertantly or deliberately) download and run code from the Internet, but
it’s impossible to prevent system level resources from damage by user level code.
The tight integration between the various Microsoft products does little to improve
overall security. All software components are loaded with features, and all components
can use each other’s functions. Unfortunately this means that all security weaknesses
are shared as well.
For example, the Outlook E-mail client uses portions of Internet Explorer to render
HTML that is embedded in E-mail messages, including script code. And of course IE
and Outlook hook into the Windows kernel with enough privileges to run arbitrary
malicious code that happens to be embedded in a received E-mail message or a viewed
web page. Since Outlook uses portions of IE’s code, it’s vulnerable to IE’s bugs as well.
So a scripting vulnerability that exists in Outlook also opens up IE and vice versa, and
if IE has a hook into certain Windows kernel functions, those functions can also be
exploited through a weakness in Outlook. In other words, a minor security leak in one
of the components immediately puts the entire system at risk. Read: a vulnerability in
Internet Explorer means a vulnerability in Windows Server 2003! A simple Visual
Basic script in an E-mail message has sufficient access rights to overwrite half the
planet, as has been proven by Email virus outbreaks (e.g. Melissa, ILOVEYOU and
similar worms) that have caused billions of dollars worth of damage.
A good example are Word viruses; these are essentially VBS (Visual Basic Script)
routines that are embedded in Word documents as a macro. The creation of a relatively
simple macro requires more programming skills than the average office employee can
be expected to have, but at the same time a total lack of even basic security features
makes Word users vulnerable to malicious code in Word documents. Because of the
integrated nature of the software components, a Word macro is able to read Outlook’s
E-mail address book and then propagate itself through the system’s E-mail and/or
networking components. If Windows’ security settings prevent this, the malicious virus
code can easily circumvent this protective measure by the simple expedient of changing
the security settings. How’s that for security?
Similarly, VBS scripts embedded in web pages or E-mail messages may exploit
weaknesses in IE or Outlook, so that viewing an infected web page or receiving an
infected E-mail is enough to corrupt the system without any further action from the user
(including manually downloading a file or opening an attachment). Through those
weaknesses the malicious code may access data elsewhere on the system, modify the
system’s configuration or even start processes. In March 2000, a hacker wrote (of
course anonymously) on ICQ:
21/03/2k: Found the 1st Weakness: In Windows 2000 [...] there is a Telnet
daemon service, which is not started by default. It can be remotely started
by embedding a COM object into HTML code that can be posted on a web
page, or sent to an Outlook client. Following script will start the Telnet
We’ve tried it and it really works. Only a Problem... we’ve put it into a
html page. When opening the page... our best friend "IE5" shows an alert
msg saying that "you’re going to run some commands that can be
dangerous to your PC...Continue?" We must fix it! No problem using
27 of 81
Why I hate Microsoft
It’s interesting to note that after patching no less than seven different security holes in
the Windows 2000 telnet code (yes, that’s seven security leaks in telnet alone!)
Microsoft released another patch in February 2002, to fix security issue number eight:
another buffer overflow vulnerability. Somehow I don’t think this patch will be the last.
If you don’t succeed at first, try seven more times, try, try (and try some more) again.
It’s not surprising that J.S. Wurzler Underwriting Managers, one of the first companies
to offer hacker insurance, have begun charging clients 5 to 15 percent more if they use
Microsoft’s Windows NT software in their Internet operations.
Microsoft knows exactly how bad their own product security is. Nevertheless they wax
lyrical about new features rather than accept their responsibility for their actions. To
quote Tom Lehrer:
"The rockets go up,
who cares where they come down?
That’s not my department,
says Werner von Braun."
Microsoft can’t be unaware of the risks and damages they cause. They have relied on a
third-party product to secure their own mail servers for many years. They always
claimed to use Exchange for their own corporate E-mail, but neglected to mention they
were using Interscan Viruswall NT (by Trend Micro, Inc.) to provide the essential
security that Microsoft’s own products lacked. Another interesting detail is that the
Microsoft servers were still running Viruswall version 3.24 in the summer of 2001. This
is a version for NT that is not Windows 2000 ’ready’. In other words, Microsoft had
prudently decided not to run Windows and Exchange 2000 on their own mail servers
yet. Only by the end of 2001 Microsoft had migrated to Windows and Exchange 2000
This is not the only example of Microsoft’s lack of trust in their own products.
Microsoft’s SQL Labs, the part of the company that works on Microsoft’s SQL Server,
is using NetScreen’s 500-series security appliance to defend its network against Code
Red, Nimda and other worm attacks. Apparently, the labs’ choice was made despite the
fact that Microsoft already sells its own security product touted as a defense against
worms. The Microsoft ISA [Internet Security and Acceleration] Server was introduced
in early 2001 and was hailed by Microsoft as their first product aimed entirely at the
security market. In fact, the most important reason businesses ought to switch to ISA
Server, according to Microsoft, was that "ISA Server is an [...] enterprise firewall and
secure application gateway designed to protect the enterprise network from hacker
intrusion and malicious worms". Still Microsoft’s SQL Labs prudently decided to rely
on other products than their own to provide basic security.
And it gets even better, because of the sloppy code found in many Microsoft products.
The many buffer overrun vulnerabilities can be combined with scripting weaknesses.
You don’t need to open E-mail attachments or even read an incoming E-mail message
to risk the introduction of malicious code on your system. Just receiving the code (e.g.
downloading E-mail from a POP3 server or viewing a web page) is enough. Yes, I
know, stories like this have long been urban legend, but Outlook has made it reality.
Microsoft explains: "The vulnerability results because a component used by both
Outlook and Outlook Express contains an unchecked buffer in the module that
interprets E-mail header fields when certain E-mail protocols are used to download mail
from the mail server. This could allow a malicious user to send an E-mail that, when
retrieved from the server using an affected product, could cause code of his choice to
28 of 81
Why I hate Microsoft
run on the recipient’s computer." This vulnerability has been successfully exploited by
Nimda and other malicious worm programs. Other worm programs (e.g. Code Red)
combine vulnerabilities like this with creatively constructed URL’s that trigger buffer
overruns in IIS. Even without the Frontpage extensions installed it is relatively easy to
obtain unencrypted administration passwords and non-public files and documents from
an IIS webserver. Furthermore, this "E-commerce solution of the future" contains a
prank (a hardcoded passphrase deriding Netscape developers as "weenies") in the code
section concerned with the access verification mechanism for the whole system. And
there are many more weaknesses like this. The list goes on and on and on.
IIS is supposed to power multi-million dollar E-commerce sites, and it has many
backend features to accomplish this application. But each and every time we hear about
a large online mailorder or E-commerce website that has spilled confidential user data
(including credit card numbers) it turns out that that website runs IIS on Windows NT
or 2000. (And that goes for adult mailorder houses too. I’m not quite sure what kind of
toy a Tarzan II MultiSpeed Deluxe is, but I can probably tell you who bought one, and
to which address it was shipped. Many E-commerce websites promise you security and
discretion, but if they run IIS they can only promise you good intentions and nothing
more. Think before you order...)
The Code Red and Nimda worms provided a nice and instructive demonstration of how
easy it is to infect servers running IIS and other Microsoft products, and use them for
malicious purposes (i.e. the spreading of malicious code and DDoS attacks on a global
scale). Anyone who bothers to exploit one of the many documented vulnerabilities can
do this. Some of the vulnerabilities exploited by Code Red and Nimda were months old,
but many administrators just can’t keep up with the ridiculous amount of patches
required by IIS. Nor is patching always a solution: the patch that Microsoft released to
counter Nimda contained bugs that left mission-critical IIS production servers
On 20 June 2001, Gartner vice president and analyst John Pescatore wrote:
IIS security vulnerabilities are not even newsworthy anymore as they are
discovered almost weekly. This latest bug echoes the very first reported
Windows 2000 security vulnerability in the Indexing Service, an add-on
component in Windows NT Server incorporated into the code base of
Windows 2000. As Gartner warned in 1999, pulling complex application
software into operating system software represents a substantial security
risk. More lines of code mean more complexity, which means more security
bugs. Worse yet, it often means that fixing one security bug will cause one
or more new security bugs.
The fact that the beta version of Windows XP also contains this
vulnerability raises serious concerns about whether XP will show any
security improvement over Windows 2000.
On 19 September 2001, Pescatore continued:
Code Red also showed how easy it is to attack IIS Web servers [...] Thus,
using Internet-exposed IIS Web servers securely has a high cost of
ownership. Enterprises using Microsoft’s IIS Web server software have to
update every IIS server with every Microsoft security patch that comes
out - almost weekly. However, Nimda (and to a lesser degree Code Blue)
has again shown the high risk of using IIS and the effort involved in
keeping up with Microsoft’s frequent security patches.
Gartner recommends that enterprises hit by both Code Red and Nimda
29 of 81
Why I hate Microsoft
immediately investigate alternatives to IIS, including moving Web
applications to Web server software from other vendors, such as iPlanet
and Apache. Although these Web servers have required some security
patches, they have much better security records than IIS and are not under
active attack by the vast number of virus and worm writers. Gartner
remains concerned that viruses and worms will continue to attack IIS until
Microsoft has released a completely rewritten, thoroughly and publicly
tested, new release of IIS. Sufficient operational testing should follow to
ensure that the initial wave of security vulnerabilities every software
product experiences has been uncovered and fixed. This move should
include any Microsoft .NET Web services, which requires the use of IIS.
Gartner believes that this rewriting will not occur before year-end 2002
In all honesty it must be said that Microsoft has learned to react generally well to newly
discovered security holes. Although the severity of many security problems is often
downplayed and the underlying cause (flawed or absent security models) is glossed
over, information and patches are generally released promptly and are available to the
user community without cost. This is commendable. But then the procedure has become
routine for Microsoft, since new leaks are discovered literally several times a week, and
plugging leaks has become part of Microsoft’s core business. The flood of patches has
become so great that it’s almost impossible to keep up with it. This is illustrated by the
fact that most of today’s security breaches successfully exploit leaks for which patches
have already been released. In fact the sheer volume of patchwork eventually became
sufficient to justify the automated distribution of patches. For recent versions of
Windows there is an automatic service to notify the user of required "critical updates"
(read: security patches) which may then be downloaded with a single mouseclick. This
service (which does work fairly well) has become very popular. And for good reason: in
the year 2000 alone MS released about 100 (yes, one hundred) security bulletins - that’s
an average of one newly discovered security-related issue every three to four days!. The
number of holes in Microsoft products would put a Swiss cheese to shame. And the
pace has increased rather than slowed down. For example, once you install a
"recommended update" (such as Media Player 7.1) through the Windows Update
service, you discover immediately afterward that you must repeat the whole exercise in
order to install a "critical update" to patch the new security leaks that were introduced
with the first download! It’s hardly reasonable to expect users to keep up with such a rat
race, and not surprising that most users can’t. As a result, many E-mail viruses and
worms exploit security holes that are months or years old. The MSBlaster worm that
spread in the summer of 2003 managed to infect Windows Server 2003 using a
vulnerability that was already present in NT4! In an age where smokers sue the tobacco
industry for millions of dollars, all Microsoft products had better come with a warning
on the package, stating that "This insecure product will cause expensive damage to your
ICT infrastructure unless you update frequently and allocate time every day to find,
download and install the patch-du-jour". Unfortunately they don’t, and Windows-based
macro and script viruses emerged at a rate of 200 to 300 a month in 2002.
An interesting side effect of the ridiculous rate with which patches need to be released,
is that some users now get the impression that Microsoft takes software maintenance
very seriously and that they are constantly working to improve their products. This is of
course rather naive. If they’d bought a car that needed serious maintenance or repairs
every two weeks or so, they probably wouldn’t feel that way about their car
And of course no amount of patching can possibly remedy the structural design flaws in
(or absence of) Microsoft products’ security. A patch is like a band-aid: it will help to
30 of 81
Why I hate Microsoft
heal a simple cut or abrasion, but for a broken leg or a genetic deficiency it’s useless,
even if you apply a few thousand of them. The obvious weak point in the system is of
course integration. Microsoft likes to call Windows "feature-rich" but when they have
to release an advisory on a serious vulnerability involving MIDI files it becomes
obvious that the set of features integrated in Windows has long since passed the point of
Lately Microsoft lobbyists are trying to promote the idea that free communication about
newly discovered security leaks is not in the interest of the user community, since
public knowledge of the many weaknesses in their products would enable and even
encourage malicious hackers to exploit those leaks. Microsoft’s Security Response
Center spokesman Scott Culp blamed security experts for the outbreak of worms like
Code Red and Nimda, and in an article on Microsoft’s website in October 2001 he
proposed to restrict circulation of security-related information to "select circles". And
it’s all for our own good, of course. After all, censorship is such a nasty word.
In August 2002, during a court hearing discussing a settlement between Microsoft and
the DoJ, Windows OS chief Jim Allchin testified how cover-ups are Microsoft’s
preferred (and recommended) course of action:
"There is a protocol dealing with software functionality in Windows called
message queueing, and there is a mistake in that protocol. And that
mistake, if we disclosed it, would in my opinion compromise a company
who is using that particular protocol."
In the meantime things are only getting worse with the lack of security in Microsoft
products. The latest incarnation of Office (Office XP) provides full VBA support for
Outlook, while CryptoAPI provides encryption for messages and documents, including
VBS attaches and macro’s. In other words, anti-virus software will no longer be able to
detect and intercept viruses that come with E-mail and Word documents, rendering
companies completely defenseless against virus attacks.
Clearly this is a recipe for disaster. It’s like a car manufacturer who floods the market
with cars without brakes.
Another worrying development is that leaky code from products such as IIS or other
products is often installed with other software (and even with Windows XP) without the
system administrators being aware of it. For example: SQL Server 2000 introduced
’super sockets’ support for data access via the Dnetlib DLL. It provides multi-protocol
connectivity, encryption, and authentication; in other words a roll-up of the different
implementations of these technologies in past versions of the product. A system would
only have this DLL if SQL Server 2000, the client administration tools, MSDE, or a
vendor-specific solution was installed on the box. However, with XP this DLL is part of
the default installation-- even on the home edition. One has to wonder how a
component goes from "installed only in specialized machines on a particular platform"
to "installed by default on all flavors of the OS." What other components and
vulnerabilities are now automatically installed that we don’t know about?
And the Windows fileset is getting extremely cluttered as it is. Looking through the
WINNT directory on a Windows 2000 or XP system, you’ll find lots of legacy
executables that are obsolete and never used: Media Player 5, 16-bit legacy code from
previous Windows versions as far back as version 3.10 (in fact the bulk of the original
Windows 3.10 executable code is there), files that belong to features that are never used
in most cases (e.g. RAS support) or accessibility options that most users fortunately
don’t need (such as the Narrator and Onscreen Keyboard features). Dormant code
means possible dormant security issues. The needless installation of such a roundup
reflects the laziness of Microsoft’s developers: if you just install everything but the
kitchen sink, you can just assume it’s there at a later time and not bother with the proper
31 of 81
Why I hate Microsoft
verifications. Of course this practice doesn’t improve quality control at all, it merely
adds to the bloat that has plagued Windows from day one.
The future promises only more of the same. Since Microsoft is already working on the
next versions of Windows, it seems a safe assumption that we’re stuck with the current
flawed Windows architecture and that no structural improvements are to be expected.
So far Microsoft has never seemed interested in cleaning up their architectures. Instead
they concentrate on finding workarounds.
A good example is Microsoft’s recommendation that PCs "designed for Windows XP"
no longer accept expansion cards but only work with USB peripherals. This clearly
indicates that XP still suffers from the architecture-related driver problems that have
caused so many Windows crashes in the past. In an attempt to get rid of the problem,
Microsoft tried to persuade PC manufacturers to abandon the PCI expansion bus. The
fact that this recommendation was immediately scrapped by the hardware industry is
irrelevant; the point is that Microsoft tried to get rid of expansion bus support rather
than improve XP’s architecture to make it robust.
This doesn’t bode well for the future.
A good look at Windows and Windows applications shows that it’s virtually impossible
for Microsoft to remedy the basic problems with their software. They would have to
redevelop their entire product range from scratch. Since robust design and Windows
compatibility are mutually exclusive in the foreseeable future, this would mean to give
up the limitations that bind the end user to the Microsoft platform. This is commercially
unacceptable for Microsoft. In order to maintain revenues, they must hang on to their
current software architecture, flaws and all. Lately Microsoft has been making a lot of
noise about how they’re now going to take security very seriously, but the bad overall
quality of their product code makes it impossible to live up to that promise. Their
Baseline Security Analyzer (which they released as part of their attempts to improve
their image) is a good indication: it doesn’t scan for vulnerabilities but merely for
missing patches, and it does a sloppy job at that with a lot of false positives as a result.
Another largely empty promise is the so-called ".Net Framework". This is the
development environment for the upcoming new .Net product lines. Its most touted
’innovation’ is "Zero Impact Install" which proposes to do away with the tight
integration between application and operating system. Instead of the current mess of
DLL’s being inserted into the OS and settings spread throughout an insecure registry
database, applications will live in their own subdirectories and be self-contained. Code
will be delivered in a cross-platform format and be JIT-compiled (Just In Time) for the
platform it runs on. While these things mean a dramatic improvement over the current
situation, their innovation factor is of course close to zero: the need for an adequate
separation between OS and application code makes sophisticated ICT professionals
long for Unix, mainframe environments or even DOS, and JIT-compilation is nothing
new either (it wasn’t even a new idea when Sun Microsystems proposed Java in the
mid-90’s). But more importantly: it remains entirely unclear how Microsoft will realize
all this. In order to come up with a really good and robust platform, they’d have to
replace Windows (and therefore their whole product range) with something that has an
essentially different architecture. But .Net is not going to be a ground-up rewrite of
Microsoft’s OS product line. Such a rewrite would detach Microsoft from their installed
base, so compatibility with (and therefore perpetuation of the shortcomings of) existing
Windows versions seems unavoidable.
Let’s face it: Microsoft’s promises about dramatic quality improvement are unrealistic
at best, not to say misleading. They’re impossible to fulfill in the foreseeable future, and
everyone at Microsoft knows it. To illustrate, in January 2002 Bill Gates wrote in his
"Trustworthy computing" memo to all Microsoft employees:
32 of 81
Why I hate Microsoft
"Today, in the developed world, we do not worry about electricity and
water services being available. With telephony, we rely both on its
availability and its security for conducting highly confidential business
transactions without worrying that information about who we call or what
we say will be compromised. Computing falls well short of this, ranging
from the individual user who isn’t willing to add a new application because
it might destabilize their system, to a corporation that moves slowly to
embrace e-business because today’s platforms don’t make the grade."
Now, for "today’s platforms" read "a decade of Windows, in most cases" and keep in
mind that Microsoft won’t use their own security products but relies on third party
products instead. Add to that the presence of spyware features in Windows Media
Player, the fact that Windows XP Home Edition connects to a server called
wustat.windows.com, hooks for the Alexa spyware in IE’s ’Tools/Show Related Links’
feature, and the fact that XP’s Search Assistant calls sa.windows.com as soon as you
search for information... and the picture is complete. Maybe Big Brother isn’t watching
you and nothing is being done with the knowledge about what you search for and which
websites you visit... but don’t count on it. And for those who still don’t get it: in
November 2002 Microsoft made customer details, along with numerous confidential
internal documents, freely available from a very insecure FTP server. This FTP server
sported many known vulnerabilities, which made gaining access a trivial exercise.
Clearly, Microsoft’s recent privacy-concerned and quality-concerned noises sound
rather hollow at best. They don’t even have any respect for their customers’ privacy and
Nor is this surprising. Stuart Okin, MS Security Officer for the UK, described security
as "a recent issue". During an interview at Microsoft’s Tech Ed event in 2002, Okin
explained that recent press coverage on viruses and related issues had put security high
on Microsoft’s agenda. Read: it was never much of an issue, but now it’s time to pay lip
service to security concerns in order to save public relations. And indeed Microsoft’s
only real ’improvement’ so far has been an advertising campaign that touts Windows
XP as the secure platform that protects the corporate user from virus attacks. No,
really - that’s what they say. They also make a lot of noise about having received
"Government-based security certification". In fact this means that Windows 2000 SP3
has met the CCITSE Common Criteria, so that it can be part of government systems
without buyers having to get special waivers from the National Security Agency or
perform additional testing every time. CC-compliance does not does not mean the
software is now secure, but merely means the testing has confirmed the code is working
as per specifications. That’s all"- the discovery of new security holes at least once a
week has nothing to do with it. But even so, Windows 2000 SP3 was the first Microsoft
product ever that worked well enough to be CC-certified. Go figure.
As if to make a point, a few weeks after Gates’ memo on Trustworthy Computing,
Microsoft managed to send the Nimda worm to their own Korean developers, along
with the Korean language version of Visual Studio .Net, thus spreading an infection that
had originated with the third-party Korean translators. How ’trustworthy’ can we expect
a company to be, if they aren’t even capable of security basics such as adequate virus
And of course since Gates wrote the above memo nothing has changed. Security holes
and vulnerabilities in all MS products, many of which allow blackhat hackers to execute
arbitrary code on any PC connected to the Internet, continue to be discovered and
exploited with a depressing regularity. Microsoft claims to have put 11,000 engineers
through security training to solve the problem, but all users of Microsoft products
continue to be plagued by security flaws. It’s obvious that real improvement won’t
come around anytime soon. Windows Server 2003 is marketed as "secure by design"
33 of 81
Why I hate Microsoft
but apart from a couple of improved default settings and the Software Restriction
Policies not much has changed. Shortly after Windows Server 2003 was released, the
first security patch (to plug a vulnerability that existed through Internet Explorer 6) had
to be applied, to nobody’s surprise.
Since Gates’ initial launch of the Trustworthy Computing idea, Microsoft’s plans on
security have been long on rhetoric and short of actions. Nothing really happened for
about 18 months, and then Ballmer made the stunning announcement that the big
security initiative will consist of... a lot of minor product fixes (yes, again), training
users, and rolling up several minor patches into bigger ones. Microsoft’s press release
actually used the words, quote, "improving the patch experience", unquote. So far this
"improvement" has mainly consisted of monthly patch packages, which had to be
re-released and re-installed several times a month in a ’revised’ monthly version.
Another sad aspect of Microsoft’s actual stance on security is neatly summed up by
internet.com editor Rebecca Lieb, who investigated Microsoft’s commitment on
fighting the epidemic flood of spam. She concludes:
"[Microsoft] executives are certainly committed to saying they are
[committed to helping end the spam epidemic]. These days, Bill Gates is
front and center: testifying before the Senate; penning a Wall Street
Journal editorial; putting millions up in bounty for spammer arrests;
building a Web page for consumers; and forming an Anti-Spam
Technology & Strategy Group, "fighting spam from all angles-technology, enforcement, education, legislation and industry
When I meet members of that group, I always ask the same question. Every
version of the Windows OS that shipped prior to XP’s release last year is
configured --by default-- as an open relay. Millions have been upgraded to
broadband. Ergo, most PCs on planet Earth emit a siren call to spammers:
"Use me! Abuse me!" Why won’t Microsoft tell its millions of registered
customers how to close the open relay?"
True enough, in 2004 over 75% of all spam is distributed via Windows PCs (on DSL
and cable internet connections) that have been compromised by email worms and
Trojan Horse infections. But rather than fix the vulnerabilities in their products,
Microsoft so far has concentrated on high-profile actions such as a collaboration with
the New York State Attorney General and a highly publicized cruisade against internet
Neither is Microsoft’s Sender Policy Framework, touted as a significant step in spam
reduction and introduces with a lot of fanfare, even remotely effective. Security
appliance firm CipherTrust soon found that spammers adopted the new standard for
email authentication much faster than legitimate emailers, and shortly after its
introduction more spam than legitimate email was sent using Sender Policy Framework.
While this is going on, implementors are balking at MS’s licencing policy for the
Sender ID system, which amounts to creating great dependency on Microsoft’s
permission to (continue to) use Sender ID.
Meanwhile Microsoft is branching into new markets and so far runs true to form. They
have already shipped their first cellphone products. Orange, the first cellnet operator to
run Microsoft Smartphone software on their SPV phones, has already had to investigate
several security leaks. On top of that the phones are reported to crash and require three
subsequent power-ups to get going again, call random numbers from the address book
34 of 81
Why I hate Microsoft
35 of 81
and have flakey power management. I shudder to think what will happen when their
plans on the automotive software market begin to materialize.
In spite of what Microsoft’s sales droids would have us believe, the facts speak for
themselves: developments at Microsoft are solely driven by business targets and not by
quality targets. As long as they manage to keep up their $30 billion plus yearly
turnover, nobody’s posterior is on the line no matter how bad their software is.
Microsoft products are immature and of inferior quality. New versions of these products
provide no structural remedy, but are in fact point releases with bugfixes, minor updates
and little else but cosmetic improvement. If it weren’t for additional security products
such as hardware-based or Unix-based filters and firewalls, it would be impossible to
run an even remotely secure environment with Windows.
MS products are bloated with an almost baroque excess of features, but that’s not the
point. The point is that they are to be considered harmful, lacking robustness and
security as a direct result of basic design flaws that are in many cases over a decade old.
They promise to do a lot, but in practice they don’t do any of it very well. If you need
something robust, designed for mission-critical applications, you might want to look
elsewhere. Microsoft’s need for compatibility with previous mistakes makes structural
improvements impossible. The day Microsoft makes something that doesn’t suck,
they’ll be making vacuum-cleaners.
Besides, 63,000 known defects in Windows should be enough for anyone.
Table Of Contents | Previous chapter | Next chapter
3. The power to bind
"One OS to rule them all
One OS to find them
One OS to bring them all
And in the darkness bind them.."
-- With apologies to J.R.R. Tolkien
Although an apology to Tolkien is probably in order here, the similarities between the
Rings of Power and the various Microsoft products are in fact striking. They will subtly
try to take control of you, and every time you give in to the temptation to use one, the
Dark Lord’s power increases.
And in this respect Microsoft’s control over document formats and standards for data
exchange are most certainly the One Ring of Power.
When it comes to supporting of the global standards used in today’s IT market,
Microsoft’s record has never been good. They have always been extremely sloppy in
following the standards’ specifications, they have attempted to appropriate the
standards for HTML, Java, E-mail and more, and they have tried to push proprietary
standards that are only supported by Microsoft applications. Fortunately, the Internet
community has resisted most of these attempts so far, although the ’Global XML Web
Services Architecture’ (announced by Bill Gates in October 2001 and since then part of
the more recent .NET plans) doesn’t bode well. Neither do Microsoft’s applications to
patent the "XML-Office" format. Microsoft obviously does not consider XML a format
that should promote any increase in document interchangeability.
Why I hate Microsoft
36 of 81
In the hardware market, especially where peripherals are concerned, compatibility is
also deliberately being limited. Far too often the label ’Designed for Windows’ means
’incompatible with anything else’. We’ve seen modems and printers that had no
standard interface or hardware API but a proprietary Windows driver instead, and we’ll
see more of it. For example, before Windows XP was released Microsoft tried (but
fortunately failed) to persuade PC manufacturers to discontinue the PCI bus and to
support USB devices only. Older versions of Windows, as well as Linux and other
Open Source products have limited or no USB support.
But it’s the application market where things are most serious. Microsoft’s huge market
penetration has flooded the world with documents in all kinds of proprietary formats.
According to calculations by Gartner, switching from MS Office to the OpenSource
alternative OpenOffice or StarOffice alone will cost, on average, $1200 per user,
mainly for document and macro conversion, learning a new user interface and lost
productivity during the migration.
The stranglehold that MS has on the IT market is a major problem for those who work
in a multi-vendor environment. Microsoft applications always produce documents in a
Microsoft-proprietary format, and they never run on anything but the Wintel platform.
(OK, Microsoft ported Internet Explorer to Solaris and the Mac during their marketing
war against Netscape, and they resurrected MacOffice as part of their anti-DoJ strategy
with a few half-hearted versions for the Mac that are full of compatibility issues. But
that’s about it.) The net result of this is that when someone sends you a PowerPoint
2000 document and you don’t have Windows, you have to switch operating systems in
order to view it.
(You may fail to see how ridiculous this really is. After all, it’s only reasonable to
expect office personnel to run Windows with MS-Office, isn’t it? Well... Think about it.
Things have deteriorated to a point where many people actually look at it this way.)
Here’s what Forrester Research said about Microsoft and standards:
Why Microsoft "Standards" Do Not Help
Work only for Windows (thus leaving out all other systems that do
not run Windows and are unlikely to do so in the future)
Increase Support Demands (since techies still must load, update and
maintain proprietary code on every computer)
Restrict Creativity (since Bill Gates’ troops are defining the generic
software layer, MS can tailor the interface to match its own
technology biases -- and shut out competing ideas
This is hardly in the best interest of IT.
Apart from the obvious inability to process documents from a Microsoft application in a
non-Microsoft environment, there’s also the limited inter-operability with Microsoft
products that makes life in a multi-vendor environment difficult. Microsoft’s deliberate
use of proprietary standards, proprietary extensions to global standards, and their own
incorrect implementations of global standards, often makes it extremely complicated to
use Microsoft products in anything but a Microsoft-only environment.
Some of Microsoft’s standardization efforts are relatively harmless and merely
irritating. The Joliet CD-ROM format extensions, for example, are annoying but not
really a problem. In the initial Joliet specifications Microsoft claimed that Joliet was
needed in order to enhance the interchangeability of CD-ROM based data, since the
bare ISO-9660 specs were too restrictive. Granted, ISO-9660 is far from luxurious, but
Why I hate Microsoft
MacOS and Unixen already had extensions to ISO-9660 that worked quite well and that
could have been adopted right away. For a long time Windows was the only platform
that could handle Joliet CD-ROM’s. Joliet support doesn’t even extend to the boot disks
that come with Windows 9x/ME: since these are DOS-based they can only handle
ISO-9660. That means that even Windows’ own installation software cannot read Joliet
CD-ROM’s. In order to make their own installer work, Microsoft still has to ship
Windows 9x/ME on ISO-9660 CD-ROM’s. How’s that for Joliet’s enhanced data
Another annoying example is the use of MS-TNEF file attachments in E-mail. This is
Microsoft’s idea of using ’Rich Text’ in E-mail messages, so that extensive formatting
(different fonts, headers, italics, etc.) becomes possible. If you tell MS-Word to E-mail
a document, this is what you get. Unfortunately, if the recipient of such a document
happens not to use Outlook to read E-mail, his or her PC doesn’t recognize the
MS-TNEF format, and trying to use MS-Word to read it won’t work either. In other
words, if a Microsoft application uses ’Rich Text’ to send a nicely formatted E-mail
message, the recipient of that message is forced to use Outlook (and therefore
Windows) to read it. Outlook also sends messages that contain all kinds of embedded
bells and whistles, MIME-attached business cards, message text in HTML format,
embedded VBS, et cetera ad nauseam. This nonsense will be attractively displayed if
the message recipient also uses Outlook (i.e. Windows) but is only so much garbage
when viewed with any other RFC-compliant message editor.
A side-effect of Microsoft’s indiscriminate use of non-standards and their sloppy
implementation of standards they happen to support, is that third-party developers are
under increasing pressure to support Microsoft’s deviations. If software is confused by
the way Outlook or Exchange treat message headers, customers who use Outlook tend
to demand that all products must handle mail from Outlook correctly, reasoning that
since Outlook is the most widely used client today, all the world must be expected to
support its quirks.
While these deliberate impediments to information exchange are extremely annoying,
they’re not all that bad in comparison to other issues. Microsoft violates a number of
’best practices’ that aren’t really standards but that nevertheless ensure interoperability.
For example, it’s common practice not to use whitespace in filenames, since many
operating systems use whitespace for command parsing and not all file systems can
handle it. But Windows uses filenames that contain whitespace by default, which leads
to problems when Windows systems send or share files through non-Microsoft
networking technology. For example, using FTP on a Unix file system that also acts as
an SMB share for Windows clients often causes problems at the Unix end.
There are also deviations from the official, stricter standards. The sloppy
implementation of the SMTP protocol in the Microsoft Exhange mail server, for
example, can affect the flow of E-mail in other parts of the Internet and in
non-Microsoft E-mail servers. Microsoft’s Directory Services products tout being
LDAP and ODBC compliant, but if you want an X.500 directory or a sync engine
(other than MS DirSync) to talk to it, you’ll need custom meta agents.
These issues are more than just annoying; they are serious hurdles in a multi-vendor
environment (such as the Internet) and mean a possible disruption to the interoperability
of both Microsoft and non-Microsoft systems.
Then there are the really nasty deviations from global standards that Microsoft has
deliberately introduced to sabotage interoperability and freedom of choice. Take HTML
and Java for example. The Frontpage web editor, the IIS webserver and the various
backend E-commerce products all generate proprietary extensions to HTML and
scripting languages that only Internet Explorer on Windows will handle correctly, and
37 of 81
Why I hate Microsoft
renders all other web browsers and platforms unusable. The same goes for Java support:
Microsoft Java does not follow the Java specifications. Again this means that applets in
this particular dialect can only be executed by Microsoft’s own Java engine on
Windows. Yet Microsoft used the Java label for products that were incompatible with
the Java standard. This caused Sun to file suit. Microsoft then dropped the global Java
standard entirely and now only supports their own Java dialect. The net result of this
whole procedure is that Microsoft web server products and development tools generate
code that needs Windows, Internet Explorer and the Microsoft Java engine at the user
end in order to work properly.
So the use of a simple consumer-level HTML editor like Frontpage can be the start of
complete vendor-dependence. Frontpage is mainly intended for consumer use, and at
the professional end of the scale we have IIS, ASP, scripting and other dynamic
technologies, and the backend and development tools to create them. The World Wide
error messages, or that works incorrectly or not at all, with Netscape Navigator or other
non-Microsoft browsers. Only with Internet Explorer on Windows these websites can
be displayed correctly. Recent versions of Frontpage, IIS and the assorted E-commerce
solutions increasingly use this proprietary scripting code for menus and navigation. This
makes correct support of these dialects (read: the use of IE on Windows) essential to the
usability of a website.
And this is not a transient problem, because competing browser manufacturers can
never keep up. Shortly after Microsoft releases an updated version of Frontpage, IIS or
other backend or development tools, older browsers will begin to show more and more
error messages, and users will be urged to upgrade to the latest version of Internet
Explorer. Some Microsoft web server products even use Active-X. That means that if
you access a website that uses Active-X (another Microsoft ’standard’), the server sends
commands to your browser which then makes system calls directly into your Windows
operating system code. These websites can only be fully and correctly accessed and
displayed by clients running MS-Windows. Non-Wintel systems (e.g. workstations
running Unix) are excluded from those web-based services.
Also, in 2003 Microsoft participated in the Web Services workgroup of the W3C (the
World Wide Web Consortium, a committee that maintains and guards the global web
standards that we all use) with hopes of getting some Microsoft proprietary technology
ratified as a global standard. Since the W3C was unwilling to do this (read: to promote
technology to be used on a royalty basis) the Microsoft representatives picked up their
marbles and left, stating that the purposes of the W3C did not match those of Microsoft.
Shortly thereafter Microsoft said that no major new versions of Internet Explorer as a
separate product are to be expected,, and announced that future major releases of IE will
be an integrated part of future (post-XP) Windows versions. Given the dependencies
they’ve created, this means that in order to access information on a global network,
we’ll need to buy the latest version of Microsoft Windows.
Microsoft’s contempt for HTML and related global standards is nicely illustrated by the
way Internet Explorer 5.5 and 6 alter HTML code before presenting it to the user. For
example, a web page header might contain a directive that an ISO (i.e.
platform-independent) character set be used, with the following command:
<META HTTP-EQUIV="Content-Type" CONTENT="text/html
But after downloading and saving the web page source code with Internet Explorer 5.5
or later, this line looks quite different:
<META http-equiv=Content-Type content="text/html;
38 of 81
Why I hate Microsoft
IE’s default behavior is to quietly modify the content of third-party web pages. This
default can be changed by doing something in the View->Encoding menu that many
users will find obscure and few will bother with, but that’s not the point. The point is
that without such tweaking a user will never see the original directive! And since many
web developers reuse code or at least look at it (many of us built their first web page by
modifying existing code found on the web) this platform-specific nonsense will
propagate. Granted, it’s a small detail, but it’s another typical step in spreading the
notion that "all the world is a Windows PC".
And then there’s of course the principle of the whole thing. If Microsoft will insert code
into IE to modify a character set declaration (that the author of the web page supposedly
put in there for good reason) this proves that they’re not above using their products to
manipulate the information that eventually reaches the end user.
In fact this is a form of censorship, intended to manipulate the general perception on
what practice is customary and what’s not. Microsoft has become the IT market’s
demagogue, not by controlling the media, but by taking control of global protocol
standards. Proprietary standards and products are presented so that they appear to have
been a general standard all along. And where that’s not possible or convenient,
Microsoft encourages the notion that global standards are Microsoft’s inventions. For
example, look in the Windows 9x/ME control panel for the TCP/IP protocol. You’ll
find it listed under ’Microsoft protocols’, along with NetBEUI. How’s that again?
(TCP/IP is a global standard that’s older than the Microsoft Corporation.)
Microsoft not only seizes global standards but also attempts to rewrite history -- a
practice not uncommon among those who want to control public opinion.
With the release of Internet Explorer 6, Microsoft finally seems to be responding to
criticism from the Internet community. In what looks like an attempt to play by the
rules, IE6 can be made to be less forgiving about HTML and CSS errors that earlier
versions of IE would take in stride. However this is not IE6’s default behavior, it needs
to be enforced with the right document type declaration in the webpage. It’s also fairly
significant that MS had to put an entire second rendering engine in IE6 to accomplish
this, which should tell you a lot about the rendering engine in previous versions of IE.
And then there’s the disturbing fact that the Windows and Macintosh builds of Internet
Explorer are based on different rendering engines and therefore react differently to the
same HTML or CSS. Also some new bugs are only present in the new second rendering
engine, so ironically enough the only workaround for these bugs is to write HTML code
that deviates from the standards enough to throw IE into ’quirk mode’ so that the older,
non-standard rendering engine is used.
Still the improvements in IE6 might be a good sign. On the other hand, Microsoft has
also submitted proposals to the World Wide Web Consortium (W3C) for ratification as
a global standard. At first sight this seems to be a Good Thing, until you read the small
print in the submissions: Microsoft reserves the right to charge royalties for use of their
technology even after it’s been ratified by the W3C as a global Internet standard. In
other words, they’re now trying to stick an ’independent standard’ label on their own
protocols and formats, and still charge for their use as proprietary technology. This will
effectively enable them to charge royalties on Internet traffic that uses a globally
standardized protocol proposed by Microsoft. Will they get away with this? Only time
In the meantime Microsoft continues to flood the market with products that use
proprietary technology rather than support global standards. We’ve got DNS on all
platforms and NIS on Unix -- Microsoft creates WINS. We’ve got NDS on Novell
NetWare, SUN Solaris, (Free)BSD or Linux, supported by major peripheral
39 of 81
Why I hate Microsoft
vendors -- Microsoft comes up with Active Directory, only available on recent versions
of Windows. We have printers and modems that will work with any system -- Microsoft
comes up with an API specification that enables hardware manufacturers to build
slightly cheaper devices but requires a proprietary interface in the form of a Windows
driver. And the list goes on and on.
Microsoft doesn’t mess with standards for nothing. Microsoft’s interests go way beyond
controlling the application market.
A good example is the "Browser War". Microsoft ignored the Internet completely until
Netscape made sudden and huge profits, whereupon Microsoft decided they wanted that
market share for themselves. Being the biggest fish in the pond, they just took what
they wanted, by bundling their own Internet Explorer with Windows. This killed off the
innovative Netscape in short order. A takeover by AOL didn’t save Netscape Navigator,
and in 2003 Microsoft bought off the whole conflict for a mere $750 million; big
money to most of us but chump change for Microsoft. Less than a week later Microsoft
announced the discontinuation of IE for the Mac.
This browser war was not just a battle between two competing application developers
(Microsoft vs. Netscape) for the biggest market share. It went much further than that: it
was a conflict between two philosophies, between vendor-dependence and
vendor-independence. On one side we had Microsoft, pushing a product that was (and
is) tightly bound to the Windows platform, and on the other side there was Netscape,
promoting a product that was (and is) available for many different environments.
Microsoft intended (and largely succeeded) by adding MS-specific features to Internet
Explorer, Java, scripting and HTML, to commit the Internet community to the
Windows platform. They’ve also used product bundling and other doubtful and illegal
methods, and finally succeeded in forcing Netscape out of the browser market. As a
result, more and more Internet services now expect the user to run IE and Windows on
their Internet client systems. If you access E-commerce websites based on Microsoft IIS
and backend products with anything else but Internet Explorer, you can expect
rendering and scripting problems.
This has led to an interesting side effect: intimidated by the many browser dependencies
in Microsoft-related web page code, web designers have taken to displaying an error
message instead of a web site whenever their products are accessed with anything but
Internet Explorer. Competing browser manufacturers soon reacted to that with
masquerading: browsers like Opera just tell the server that they’re another Internet
Explorer. Of course this has boosted the statistics to the point where 95% of the world
is said to use IE, which is exactly what Microsoft wants everyone to hear. More
advanced browser detection however shows that the real figure is closer to 60%.
It’s also interesting to note that the User Interface in Windows XP is based on a mix of
XML and proprietary HTML-derivatives, that can be understood only by portions of
Microsoft’s own Internet Explorer application code. This ensures the need for a fully
integrated version of IE that cannot be removed or replaced by a standards-compliant
browser without losing important UI functions (such as online help pages). Support for
the platform-independent Java programming language on the other hand has been
dropped entirely from Windows XP, which leaves only Microsoft’s own scripting and
language support. Microsoft claimed that this was done in response to legal actions
from Sun, but in truth the legal agreements allow them to ship Java with their products
for several years to come -- provided they follow the Java standard. Rather than doing
this, Redmond’s marketeers decided to remove Java from Windows XP entirely. Even
Microsoft hasn’t been able to explain how this benefits the user community. First they
attempted to corrupt Java by creating their own incompatible variety, but Sun filed suit
and won. Under the conditions of that legal settlement, Microsoft was forbidden to ship
their own incompatible product and call it Java, but they were allowed to support ’pure’
40 of 81
Why I hate Microsoft
Java. In an open letter to their customers, Microsoft claimed that "Sun resorted to
litigation to stop Microsoft from shipping a high performance Java virtual machine that
took optimal advantage of Windows" and that "Sun’s idea of choice is that you can
have any language you want, as long as it is Sun’s version of Java under Sun’s control."
So now Microsoft tries to kill of Java (and platform independence) by removing Java
support from Windows. After accusing Sun of restrictive policies, they now allow their
own customers to use only Microsoft’s version of Java under Microsoft’s control. Of
course the latter is available on Windows only, while Sun’s Java may be implemented
on any platform by any developer, provided that the Java standard is followed and
compatibility issues are respected.
These are all examples of how Microsoft attempts to limit the users’ freedom of choice
rather than compete by making better software that respects global standards and that
can interact and coexist with third-party products in a multivendor environment. While
most other major software developers contribute to Open Source Software and thereby
create new markets, Microsoft continues to slander OSS. Open Standards are
commercially unacceptable for Microsoft. Open Standards and cross-platform
technology bring people together. Microsoft on the other hand imposes deliberate
barriers between them; artificial walls that only exist to create an artificial need for
Gates and Windows.
In November 1998 an internal memo leaked out of Microsoft which clearly stated that
Open Source software not only performs and scales much better than Microsoft
Products (it discussed especially the quality and availability of Linux), but also
proposed that Microsoft attack these superior products by "de-commoditizing
protocols". In other words, when faced with a superior competitor, Microsoft’s
preferred approach is to corrupt global standards and to introduce proprietary protocols
that bind the user to the Microsoft environment.
Don’t believe me, see for yourself. Read the Halloween documents that have been made
available by The Open Source Foundation. (Microsoft has acknowledged the
authenticity of these documents.) It’s very interesting reading.
A good example of this policy in action (apart from the HTML and Java deviations
described above) is Microsoft’s attempt to appropriate the Kerberos protocol. Kerberos
is an authentication protocol developed by MIT, distributed as Open Source software.
Microsoft added an "innovative improvement" to Kerberos, by misusing a reserved
field to specify whether or not an NT machine was allowed to authenticate another
Kerberos system, rendering this corrupted version of Kerberos incompatible with Open
Source versions in the process. (The misuse of a reserved field, or any field for that
matter, is of course a gross violation of protocol standards.) Then Microsoft went on to
state that they had "created" an "improved version of Kerberos", called the result their
own intellectual property, and threatened to sue anyone who would dare to put it in
their software, including Kerberos’ inventor MIT. Only the global uproar that followed
caused Microsoft to reconsider this nonsense.
With the above and other standards deviations in mind, it’s rather ironic to read what
Microsoft wrote on a web page that opposed the Open Source initiative: "The next
generation Internet can only come into existence if we have standards that everyone
adheres to." (From the white paper "Shared Source" by Michel van der Bel, General
Manager Microsoft Netherlands.) Apparently we can only have a workable Internet if
Microsoft exclusively dictates proprietary standards, and everone obediently follows
them. Is this a developer license agreement which I see before me?
This is where Tolkien and the Rings of Power come to mind. Use any of the above
products or technology, and you’re automatically committed to Windows. Use
Windows, and Microsoft applications and protocols will automatically come with it,
41 of 81
Why I hate Microsoft
and more will follow. Slowly but surely, and often unnoticed, you are bound to
Appropriating standards for data exchange is only part of the job. Application
developers are bound to Microsoft just as much as the user community is. Only in this
case development standards, methods and programming environments play the crucial
Microsoft has always taken good care of application software developers. They learned
a lot about the care and feeding of developers when they were working on Windows 3.0
and few third party developers were willing to adapt their application code to the new
platform. This was not surprising: Microsoft’s strategy was rather muddy at the time,
IBM was preparing lawsuits against MS because the new Windows code was full of
technology that IBM felt MS had stolen, and few third parties felt there was any
percentage in partnerships. The initial Windows specifications weren’t too clear, and
what its future would bring was anyone’s guess. So nobody knew what kind of a life
cycle a partnership and the products resulting therefrom would have. All that was clear
to application developers, in 1989, was that 90% of their existing DOS application code
would have to be rewritten entirely. This meant that developing applications for
Windows meant a huge investment with doubtful returns. As a result there were almost
no native third-party Windows applications when Windows 3.0 was released. Initially
all that kept Windows alive was its backward compatibility with DOS.
Microsoft learned from all this, and Gates inspired trust by stating Microsoft’s total
commitment to Windows (and, it must be said, by putting his money where his mouth
was). From then on, application development preceded each new release of Windows
instead of following it. Long before the first beta version of Windows ’95 became
available, developers had been working with freely available SDK’s and other
development tools in order to have their new application code ready by the time
Windows ’95 hit the market. Long before Windows ’95 had reached beta stage,
developers would get all the inside information they needed about the operating system,
API’s would be readily available, pre-release versions of Windows could be used for
testing, and all development tools could be obtained for a song.
Unsurprisingly, the wealth of cheap tools and information attracted many developers to
the Windows environment to create new applications. Of course those applications
became tightly bound to the Microsoft platform, because of Window’s closed
architecture and API’s; Windows code is even less portable than DOS code was. But by
the time that realization took hold, most developers had already made a huge
investment in development costs and efforts, which they were reluctant to write off.
Unfortunately most people don’t pay too much attention to software development tools.
While the world argues, debates and even sues over Microsoft’s dominance over
applications and operating systems, the software we use every day is created by
developers. And Microsoft quietly controls the developers’ hearts, minds and digital
tool chests. This is the most insidious way to stamp out competition. As time goes by, it
becomes more and more difficult for developers to make a competing product or to
support competing technology.
Because of the stranglehold that MS has on the IT market, the majority of both users
and developers don’t even realize that not all the world is a PC. Users rarely see
anything but Microsoft applications and documents in some Microsoft format, and
yesterday’s users have become today’s developers.
Lately, MS is trying to ram ADSI down developers’ throats for creating new directory
service interfaces, and the poor schmucks don’t even realize what’s going on. All they
see is a toolkit that’s easy to use and that comes with a user interface like all the other
MS development products. They get their project done in half the time, and before they
42 of 81
Why I hate Microsoft
know it they’ve produced a Microsoft "standard" interface that borders on the
proprietary. Then they’re stuck with that non-portable code forever, or they’ll lose their
As a result, companies are forced to implement technologically challenged operating
systems in order to do trivial things like exchanging documents. Microsoft’s utter
disregard for any standard that they haven’t created themselves keeps getting in the way
of real technological improvement. This is not surprising, of course. After proprietary
standards have gained a solid foothold in the IT market, they’ll provide Microsoft with
more leverage to push Windows and Windows applications, and the cycle repeats itself.
For example, Windows Media Player 7 and up did’t run on Windows NT4, and soon
most of the content available on the World Wide Web will require Media Player 8 or
later in order to be accessed. Microsoft will make sure of that through "strategic"
partnerships and developer tools that crank out only the latest file formats. This
effectively forces customers to upgrade to the latest version of Windows (and perhaps
buy new and bigger PCs as well) in order to continue their access to multimedia
content. May 2003 saw Microsoft introducing their own DVD format, with movies only
playable on Windows Media Player 9. Microsoft also commented that "...the
forthcoming Office 2003 productivity software suite will enable users to designate who
whether they can print, copy or forward the data. A rights management add-on for
Internet Explorer will extend these protections to Web content." Great. In other words,
you won’t be able to do business with people using Microsoft’s rights management
unless you’re using Microsoft’s rights management too. And why did Microsoft bother
with MSN and MSNBC for years and years, while all these divisions did was add red
ink to the books? I’ll give you a hint: after putting Media Player and their own brand of
Digital Rights Management into Windows, Microsoft has now begun to sell music and
None of this is actually conducive to technological innovation. Applications could run
on any platform, and data formats could be documented and freely usable. The Open
Source community and much of the Unix application market thrives on such platform
independence. (And so does most of the Internet.) And not only Open Source software
is platform-independent. A web browser like Netscape Navigator, for example, runs on
all flavors of Windows, OS/2, a dozen flavors of UNIX, and MacOS. The Opera
browser is available for several OS’es as well. DivX video tools exist on Windows,
Unix, Mac and more. And many other serious applications, from database servers and
clients to office suites, are available for multiple operating systems. These applications
are typically developed on a non-Windows platform (thereby avoiding Windows’
inherent portability issues) and then ported to Windows in response to market demands.
I generally use about 20 different applications. At the office I may run them on several
systems, varying from desktop Unix workstations to the bigger midrange systems
(Solaris, AIX), the occasional Apple Macintosh, and even Windows PCs. When I’m
working at home or with customers, I run the same applications on Linux, in DOS
boxes or on Windows. None of these applications, needless to say, were developed by
Microsoft or Microsoft Partners, and few were originally developed on the Windows
platform. And of course most of them can’t handle documents in one of the many
proprietary and barely documented formats used by Microsoft applications.
Recently some attempts have been made to enable Microsoft applications to run on
other operating systems than Windows, with varying degrees of success. However,
there is a clause in the Office XP End-User License Agreement, which stipulates that
Office XP be used only on top of a Microsoft operating system. Apparently, Microsoft
is unwilling to rely on technical impediments to interoperability only, and has decided
to throw in legal obstructions as well to limit the users’ freedom of choice.
43 of 81
Why I hate Microsoft
44 of 81
It’s a simple strategy: divide and conquer. Prevent information exchange through
proprietary protocols and formats. Encourage or force users to use your applications
and bind them to your own protocols. Make them use software that will only run on
your own platform. Pollute existing global standards as much as possible, and induce
service providers to use proprietary protocol extensions. Force your business partners to
do the same. Do not provide new opportunities for the user community by offering
better technology, but instead sabotage the interoperability of other products and
standards, and smother any progress and development of competing technology.
Then make the users believe that they they benefit from "these exciting new
innovations" and point out that adherence to existing standards would impede progress.
Control the tools used by the developers who create the applications that we use every
day, and make it more and more difficult for them to follow a competitor’s path. Bind
users and developers to the Windows platform, slowly but surely, one step at a time,
until it’s impossible for them to escape.
That’s how it’s done... in the Land of Redmond, where the Shadows lie.
Table Of Contents | Previous chapter | Next chapter
4. World domination
"I am Billgatus of Borg. Resistance is futile."
Microsoft has been compared to the Borg Collective more than once.
Indeed, you don’t have to be a hard-core Star Trek fan to notice the
similarity between Microsoft and the Borg. Microsoft’s marketing
methods have always shown a certain hunger for power, but lately an
undisguised megalomania has set in.
"WE ARE MICROSOFT. LOWER YOUR FIREWALLS AND
SURRENDER. WE WILL ADD YOUR TECHNOLOGICAL DISTINCTIVENESS
TO OUR OWN. YOU WILL BE ASSIMILATED. RESISTANCE IS FUTILE."
It’s long been known that to oppose Microsoft means certain death (commercially
speaking of course). Microsoft’s marketing division just tramples the corpse of anyone
who thinks he can shift it left or right. Developments at Microsoft are directed only at
extracting more and more money from the customer, and at continuing to do so in the
future. The customers’ needs are irrelevant.
Microsoft’s preferred way of accomplishing this is sabotaging alternatives to Microsoft
products and using any means available to eliminate competitors, instead of bringing
real technological innovation.
Microsoft’s sheer marketing power has grown to the point where it can hurt competitors
even by merely threatening them. We see this curious effect throughout the entire
software market: as soon as Microsoft targets a certain part of the market, something
happens to the competing market leaders. They start to falter, their strategy becomes
erratic, the quality of their products suffer. Novell and Netscape, to name a few good
examples, have lost a good deal of their market share this way. Of course they have
made mistakes. Of course they have ruined the potential of superior products with
bungled marketing and disastrous commercial strategies. Of course Apple, IBM and all
the others have done the same. Of course they only have themselves to blame for an
inadequate reaction to a threat they should and could have expected. Of course the
Why I hate Microsoft
ability and the guts to deal with competitive pressure is a required part of doing
business: if you can’t stand the heat, stay out of the kitchen. But even so their fairly
typical behavior is a good illustration of the blind fear that Microsoft’s business
practices have managed to instill in would-be competitors, because everyone knows that
Microsoft’s use of FUD campaigns, corruption of standards, forced partner agreements,
product bundling and other monopolist practices have become almost impossible to
This fear is not without ground. Competitors who offer alternative and sometimes better
technology are ruthlessly crushed, not because MS offers a better product but because
Microsoft can manipulate the users and the software market to cut off anyone’s oxygen
supply without even making a dent in their profits, and still have their marketing
division make enough noise to drown out all the other players in the market.
If you’re a PC manufacturer, Microsoft’s got you by the balls: if you want to pre-load
an OEM version of Windows, then you will discontinue all products from Microsoft’s
competitors. If you won’t sign a contract to bundle a pre-loaded version of Windows
with all your shipped systems, you’ll face a hefty increase in Windows license fees. In
other words: either you sell a copy of Windows with all your shipped systems and
nothing else, or you face retaliatory measures from Microsoft (i.e. you won’t be able to
offer a copy of Windows at a competitive price). The same has been done in the past
when PC vendors were forced to bundle Windows 3.1 with new PCs in order to be
allowed to ship MS-DOS.
(Note: the above may not apply in all countries and to all OEM manufacturers. Local
policies vary, and smaller system integrators pay different prices and have different
contracts with Microsoft than huge companies do. Your mileage may vary.)
If you’re working in education, Microsoft wants to be your friend: for a few bucks per
seat you’ll get all the licenses you want. Since budgets in the educational sector are
usually tight, a batch of almost free software is a godsend. Or is it? The small print
prohibits running anything but Microsoft products on the systems that run under an
educational license, including free Open Source alternatives (e.g. Star Office). They’d
make it illegal to tell your students about non-MS products at all if they could find a
way to pull that off. And in August 2002 Microsoft made a controversial donation of
2.3 million dollars (!) to the University of Waterloo, Canada, on the condition that the
university would teach their students Microsoft’s new C# programming language as a
mandatory subject for students entering the university’s Electrical and Computer
Engineering programme. (With these things in mind it’s rather ironic that as part of
their settlement with the DoJ for anti-competitive practices in November 2001,
Microsoft agreed to supply schools with software, hardware and services. What a great
chance to control the curriculum and to expose the students to a Microsoft-only
environment before they enter the work force!)
If you’re a consumer, you’ll find that it’s nearly impossible to buy an A-brand PC
without a bundled Windows license. On a propaganda webpage aimed squarely at OEM
customers, Microsoft goes to considerable lengths to blacken the reputation of what it
terms "Naked PCs". A Naked PC is a PC that you can (or rather, you can’t) buy without
an operating system. Try it, you’ll find it’s really quite difficult in any case, and
Microsoft wants OEMs to make it even more difficult by refusing to sell you one.
"Think of selling a house without a roof - selling your customers Naked PCs leaves
them equally exposed", says Microsoft. "If you allow your customers to buy Naked PCs
- placing them at risk of acquiring pirated operating systems elsewhere - you expose
them to legal risks, viruses, and frustrating technical troubles." In other words the
customer has to buy Windows, it’s for his own good. In fact, it should be made illegal
to buy a PC without Windows, because Microsoft continues with: "And even if your
customer manages to illegally acquire and install operating systems elsewhere..."
45 of 81
Why I hate Microsoft
Apparently it’s either inconceivable or immoral to consider alternatives for Windows,
and installing an Open Source OS such as Linux is a crime.
In May 2001, Microsoft took this idiocy even further. Several local hardware
integrators in the US were offered rewards for reporting their customers who buy PCs
without a Windows user license. Yes, I’m serious. If you buy a PC and you plan to run
Linux or FreeBSD on it, you become a suspect and Microsoft puts a price on your head.
And there’s no way out of this nonsense. In cases where large customers build their
own PCs in order to avoid putting too much money in Microsoft’s pocket, they can’t
use their volume license programs as the basis for installing Windows. Those volume
programs only allow upgrades of systems that have been purchased with original
Windows licenses. They can’t even save some money and build their own computers or
buy them from a local whitebox shop without also tacking on a Windows license. By
contract the OEMs are required to report any customer that requests ’naked PCs’ and it
often triggers a software contract audit by Microsoft, sometimes followed by seven
figure surprise bills.
And Microsoft will enforce the conditions in their license agreements with a heavy
hand, if need be. Or rather, they use the BSA (Business Software Alliance) as their
enforcer. The BSA is a trade group that helps enforce copyrights and licensing
profisions for large business software manufacturers. Steve Ball, CEO of the famous
guitar string manufacturing company Ernie Ball, said in an interview:
"I became an open-source guy because we’re a privately owned company,
a family business that’s been around for 30 years, making products and
being a good member of society. We’ve never been sued, never had any
problems paying our bills. And one day I got a call that there were armed
marshals at my door talking about software license compliance. [...] They
basically shut us down. We were out of compliance I figure by about 8
percent (out of 72 desktops). [...]
How did this happen? We pass our old computers down. The guys in
engineering need a new PC, so they get one and we pass theirs on to
somebody doing clerical work. Well, if you don’t wipe the hard drive on
that PC, that’s a violation. Even if they can tell a piece of software isn’t
being used, it’s still a violation if it’s on that hard drive."
If you’re a competing software developer, things are even worse. A Microsoft version
of the software that keeps you in business could be integrated with the next release of
Windows, or given away for free as a separate product. Microsoft has used this and
other tactics (such as deliberate vaporware announcements) many times in the past to
smother innovation and break innovative developers.
If you’re too big to be eliminated like that, Microsoft still controls whether or not your
software will be compatible with future releases of Microsoft products. Remember
MS-Word on OS/2 and weep. And of course Windows XP wouldn’t run the
then-current versions of RealPlayer and Quicktime but of course it did come with an
integrated MS Media player. (Incidentally, when I subjected a brand-new Compaq
Deskpro (running NT Workstation) to the Windows 2000 Upgrade Compatibility
Check, guess what happened: all installed Novell products were found to be
incompatible with Windows 2000. Surprise, surprise... Well, my dustbin is Windows
And if all else fails, there’s always brute force. The blind fear that Microsoft’s legal
department has managed to instill in some independent developers (especially the
smaller companies) is nicely illustrated by what happened to Ghisler & co, a small
Swiss developer. Ghisler’s primary product, a file manager that is essentially a
Windows version of previous DOS-based file manager such as Norton Commander, is
46 of 81
Why I hate Microsoft
especially popular among power users and administrators. Ghisler had shipped
Windows Commander for no less than nine years, when a letter from Microsoft claimed
ownership of the word ’Windows’ in the product name ’Windows commander’ and
requested that the name be changed. Ghisler not only immediately complied to that
"request" to avoid legal repercussions, but also put Microsoft trademark notices on the
homepage of their website, released a bulletin that avoided the word ’Microsoft’
entirely but only referred to "the owner of the trademark ’Windows’", and even
requested their users not to make negative comments in their forums. Such is the
reputation of Microsoft’s lawyers. And this reputation is not undeserved. Seventeen
year old Canadian Mike Rowe decided, mainly as a lark, to put ’soft’ behind his name
and register his own domain. Microsoft’s lawyers then demanded that Rowe cease and
desist his "copyright infringements" and hand over his domain name. Rowe suggested
compensation. Microsoft’s lawyers offered Rowe 10 (ten) dollar. Rowe did not consider
that a serious offer and demanded more. The Microsoft lawyers then hit him with a
25-page document that accused him of price gauging and promised legal actions against
him. Remember, Rowe was still a 17-old kid at that time.
By now the field is littered with the carcasses of software companies that held a share of
the market that Microsoft decided they wanted. For example, does anyone remember an
upstart company called Argonaut? They were one of the few small companies that
made excellent 3D rendering software in the early nineties, years before the technology
became widely available on the PC. We had to wait all those years before it became
available, because Microsoft bought Rendermorphic, one of their competitors, and
started to give away their software licenses for free. This killed off all developments at
Argonaut and the other small 3D developers of those days in short order, and it meant
the end of another piece of innovation.
Selling vaporware is one of Microsoft’s favorite tactics to sabotage their competitors.
The idea is simple: announce a revolutionary, new product or technology that will make
your competitors’ products obsolete right away, and everyone becomes reluctant to
invest in those competing products. By the time you eventually release something (that
may or may not resemble whatever you announced) the competition will be gone, or at
least on the way out. And if truth be told, Microsoft has this technique down to a fine
art. Few others are as good at it as Redmond’s marketeers.
A good example of their masterful control of vaporware selling is the new .Net
initiative. .Net is going to be the future of computing, if we are to believe Microsoft.
And it’s hard not to believe them, because they are already advertising ".Net Connected
Software" as if it were a currently shipped product instead of a concept that hasn’t even
gotten around yet to laying down a set of final specifications. Currently the only thing
being shipped is a few old products with a .Net label on the box and a bunch of
development toolkits to tie down developers. Visual Studio.Net is a very good example:
it binds developers tightly to whatever .Net is eventually going to be, and allows them
to participate in the hype as well. And it works: in an attempt to capitalize on the latest
hysteria, third parties are falling over themselves to jump on the .Net bandwagon. It has
rapidly become fashionable to discuss it or to declare commitment to it. The press
especially pays a lot of lip service to .Net, and all major book and magazine publishers
are in a hurry to flood the market with .Net publications. Whole series of books about
.Net are being released, regardless the fact that .Net hasn’t materialized yet and even the
exact specifications do not yet exist! What’s even worse is that 90% of the people do
not even realize that in order to make true their promises about .Net, Microsoft will
have to rewrite their entire software code set (both Windows and Office) from scratch.
It’s taken them ten years (and then some) to get where they are now with that software.
Frankly I can’t see how Microsoft can ever deliver what they promise with .Net, even if
every device in the world is going to be turned into a Microsoft device (which .Net
needs in order to deliver). So eventually every major Microsoft products will be
47 of 81
Why I hate Microsoft
released under the .Net label, but that will almost certainly involve a lot of smoke and
mirrors to disguise the truth: apart from a few changes, nothing revolutionary will have
happened. It’ll be the Emperor’s new clothes all over again.
But vendors and competitors are not the only target for Microsoft’s forced-sale policies.
Many companies here in Holland have received threatening letters from Microsoft (and
Microsoft lawyers) with thinly veiled accusations of software piracy. Apparently
Microsoft assumes that large companies should have at least a certain number of
Windows and Office licenses, and at least as many Office licenses as they have
Windows licenses. Large companies with a smaller number of licenses than Microsoft
thought they should have were ordered to present complete and accurate information
about their number of servers, PCs and software licenses. Failure to comply with this
order in full would result in audits and legal procedures. Apparently Microsoft
considers it unthinkable that PCs can be used for purposes other than running Windows
A few months later Microsoft hired a law firm to target an even broader selection of
small businesses, who were more or less ordered to submit a complete and
comprehensive list of all Microsoft products in their possession. Again there was the
thinly veiled threat that failure to comply with this order would have "legal
What other type of company but an utterly ruthless monopolist would have the
arrogance to threaten and intimidate their own customers like this?
Microsoft Products are sold not on their technical merits, but by brute force and sheer
marketing violence. IT Managers become convinced that they have to switch to
Microsoft products because everyone is using Windows and it must therefore be a good
thing. (The same thing could be said about pot, with as little validity. But you can’t Just
Say No to Windows.) Or perhaps they read in their investment magazine that Microsoft
Is The Future. That’s the way Microsoft peddles their products: through high-level
selling. Large account managers directly approach the top managers of the companies
they wish to target. During lunch meetings they spin a glorious tale about how
switching to Windows would have "strategic advantages" for the whole company. They
make sure to use terms like "target threshold" repeatedly. They cite success stories, they
mention Fortune 500 companies, they emphasize the importance of strategic decisions
on executive levels. They mention in passing that Windows has removed the need for
computer techies to make informed decisions about computing, so corporate managers
are now qualified to select operating systems as part of their corporate strategy
planning. And if the technical staff happens to disagree about the wisdom of switching
to Windows, well, that’s only because the techies feel that their turf is being threatened
by the introduction of an operation system that removes the need for skilled personnel
and they lack insight into strategic matters.
And of course these marketroids never even mention such unimportant details as the
need for more and bigger servers than other products would require, or the fact that
uptime and availability are only a fraction of that of competing products. Oh no. They
also gloss over what the people in the field think about what goes on under the hood of
Microsoft products (after all, techies have never been realists) and they blissfully ignore
the numerous implementation problems (excuse me, I mean ’issues’) that come with
each new version of any Microsoft product you care to mention. Instead they emphasize
that all large companies are "switching to Windows", so it has to be a Good Thing.
They promise that Windows Server 2003 will speed up the business and save millions
of dollars per year, but of course they forget to mention that they’re comparing it to
Windows NT 4.0 Server which was released in 1996. And if that doesn’t do the job,
they cinch the deal with an offer that the customer can’t refuse, such as a 50% discount
48 of 81
Why I hate Microsoft
on software licenses, and if it’s about a choice between a Windows environment and
Open Source software, they’ll even happily give away licenses for free. Not that those
licenses are so overpriced that they’d still make a profit at half the price or less, oh no,
of course not, the offer should be seen as a quantity discount for an especially valued
No, I’m not making this up. I’ve seen it happen in large companies all around me. This
is how the game is being played. For example, the following response from a Britsh
corporate user (who wishes to remain anonymous) illustrates this fairly well:
We decided to use FreeBSD, Apache, mySQL+PostgreSQL, Perl+PHP [as
Open Source alternatives to Microsoft products]. The company I am
working with is a pure-Microsoft company, i.e. they only used to use
Microsoft software, and they even didn’t know anything about Open
When the local Microsoft rep "heard" about it (someone inside the
company tipped them off), they asked to meet my team(!) and discuss the
reasons for our Open Source use.
In fact, it was a meeting of 2 1/2 hours with 3 Microsoft sales/consulting
reps trying to persuade us not to use Open Source (mainly they talked
about Linux until we told them that we don’t use Linux and that we don’t
understand what they are talking about :-) because "it is inherently
insecure, unreliable" and, what was their biggest argument, "there is
nobody in this country who could give you any support for Open Source",
Also, they wanted(!) (actually they required) us to tell them the reasons
why we are using Open Source instead of the already introduced and
long-time proven Microsoft Software in this company. Then I started
explaining [...] and when we came to the point of ’Licensing Costs’, they
offered us to give the Windows server licences for free.
I am not kidding. When I told them that I’d need at least ten licenses and at
$400/each, this would be too much for me for the beginning, they offered to
give us the license for free - and not only for now, but also for the future
when we kept working on Microsoft.
Of course, they knew that if we implement successful projects based on
Open Source in the New Media Group, this might extend to other areas,
too, e.g. data servers (we are in fact planning to create a print archive fully
based on Open Source now that the technicians in the company see that
Open Source can be successfully implemented).
Commercial violence is not the way to introduce new software standards. If software
retail stores open at midnight so that people can rush off with a new Windows ’95
package the very minute it is released, it’s obvious that OS implementation is no longer
based on common sense or rational decisions, but merely on a stampeding software
market that has been hyped into hysteria. It’s obvious that something here is very, very
I’m not into conspiracy theories, but still I think it’s interesting to note how Microsoft
has progressed from an upstart software company to a party that attempts to control not
only the market but even public opinion.
Educating the masses was an important step in Microsoft’s strategy. It had long been
common knowledge that "computers were difficult to use". Indeed, a system like Unix
or DOS has never been known for its user-friendliness, with commands like ’ls’, ’rm’
(Unix), ’REN’ or ’DRIVPARM’ (DOS). The steep learning curve ensured that users
49 of 81
Why I hate Microsoft
would eventually be fairly computer-literate (which was good) but also that few would
succeed in or even start the time-consuming, difficult and expensive learning process
(which was definitely bad).
The Graphic User Interface (GUI) in MS-Windows put an end to all that. It offered an
attractive, accessible and friendly-looking interface, designed so that it wouldn’t scare
the novice user. This has made the PC available to the masses, and Microsoft deserves
due credit for that, even though GUI’s aren’t and have never been Microsoft
But in their attempts to shield the poor novice user from confusing or intimidating
glimpses at the underlying technology that might frighten them, Microsoft has actually
oversimplified the interface. Users simply drag and drop, unable to determine the
difference between local ’folders’ and those on network servers. They don’t know that a
local ’folder’ is not the same as a server mapping, and they’re unaware that ’My
Documents’ is in fact a subdirectory that may reside on a local disk or on a network
server. In fact, usually they have no idea what a subdirectory is. So they simply
right-click a document (which is represented by an icon) to ’send it’ to a ’mail
recipient’ without knowing that they are in fact pumping an uncompressed 12 megabyte
BMP file through an E-mail server and an Internet link.
At least the pre-Windows user interfaces eventually stimulated the user to gain some
insight in what he or she was doing, and what the results of seemingly innocent actions
could be. Nowadays even the computer-literate have trouble understanding what goes
on behind the facade of the Windows GUI. Users are actually being conditioned to
associate daily tasks with Window GUI elements. By the time they have managed to
change your preference settings so that Windows displays filename extensions and they
can see what kind of file they’re dealing with instead of just seeing ’documents’,
they’re no longer average users.
Apart from all that, expecting a systems or network administrator or an experienced
user to work with the user interface that comes with Microsoft products is a bad joke at
best. Imagine an operating system that won’t let you tell it what you want, but lets you
point at a picture instead and then does for you what it thinks best. I can imagine a
three-year-old preferring it that way, but not a mature ICT professional. Of course
GUI-based system administration has its advantages, at least from a certain perspective,
i.e. a Windows-using ICT manager’s perspective. Large-scale, properly set up Windows
networks with a ton of hardware and GUI management tools all over the shop needn’t
cost a lot in terms of machine minders, whereas a Unix or Open Source based network
without these tools will need the requisite number of skilled geeks to mumble
incantations over shell prompts. But this is comparing apples and pears: the geeks will
serve you better than the deskilled machine minders will when something goes badly
wrong (which it will). The GUI has put on a lot of weight in recent years, but in the end
it serves more to restrict than to enhance, limiting the users’ understanding of, and
control over, their computers and software. The GUI removes all transparency from the
system, so that power users and sysadmins no longer have access to the underlying
processes. (And as an additional bonus it hides the mess that is the actual code
It’s interesting to see how a lack of options is often confused with ease of use. Granted,
any appliance that only has one big red button marked ’On’ is easy to use. But don’t
expect it to be useful for more than one major purpose, or otherwise flexible.
Windows advocates often argue that only Windows (and certainly not its main
up-and-coming rival Linux) has understood the users’ needs to use a computer as a tool.
They say: "Could it be perhaps that Microsoft got to be a multi million dollar company,
precisely because it set out to build a simple to use, easy to understand operating
system? One that just works, out of the box. Without the need to be a geek and spend all
50 of 81
Why I hate Microsoft
day configuring complicated services and settings every time you want to make
One enraged reader even wrote:
"I own a computer repair centre and deal with literally thousands of home
users a year. I would say 80% of my customer base are exactly that,
’Users’. They know how to turn the thing on, they know what the big blue
’e’ in the middle of the desktop is for. Some of them can even word process.
But for the vast majority of them that’s as far as it goes.
The problem with geeks is, they seem to inhabit their own little world,
where everyone is a computer ’expert’ and all the answers are black and
white. Meanwhile here in the real world companies like Microsoft
understand that the majority of their customers are not. That they view
there computer as a functional item, a means to an end and base their
software purchasing decisions on which product will allow them to do what
they need to do, as simply and as quickly as possible. Not for its technical
merits or because they get aroused at the thought of tweaking their system
This is essentially true. A computer should be a tool, a means to an end. However,
Windows advocates often confuse a lack of options with the lack of a need for options.
The world is full of people who make you realize why, say, an electric hand mixer
needs a warning label advising users to switch it off before licking icing from the
beaters. These geniuses are far better off with, say, a well-configured Linux box that
lets them do their jobs and still prevents anyone without a root password from doing
any damage. Windows on the other hand can be damaged by the mere installation of an
application, yet does not offer many options for a professional to track down and fix the
Contrary to popular belief, a GUI is not ergonomic. For example it requires users to
take their hands off the keyboard and their eyes off the screen in order to operate the
mouse during word processing, and graphic fonts and black-on-white text cause more
eye strain than the old text-based equipment used to do. Neither is a GUI conducive to
productivity; although the learning curve is steeper, after some training many users can
perform most operations faster through keyboard commands than with a mouse.
Another headache for sysadmins is that GUI operations are essentially impossible to
script, so that with large numbers of servers it is impractical to use the GUI to carry out
installation tasks or regular maintenance tasks. Desktop users face the same problem: in
the early nineties it was possible to produce large amounts of personalized
correspondence using nothing but Word Perfect macros, a simple database and a few
batch files. In Windows most of these jobs have to be done by hand, over and over
again. In short, Microsoft tried to create products that even a fool could use, but they
ended up with something that only a fool would want to use. Still the public in general
has been, and is being, conditioned to regard using Microsoft products as a sole option.
But then again, Microsoft’s regard for their user community is best illustrated by the
useful tips in MS Word, my favorite of which is "Don’t run with scissors". And of
course there’s the ’log-on help’ in Windows 2000 Professional: an explanation on how
to press the Ctrl, Alt and Delete keys, complete with a graphic animation of those keys
being indicated and depressed. The animated question mark ("Any time you need help,
click me with the mouse or press the F1 key. I’ll be right here if you need me!") in the
Windows XP Professional installer is even more annoying and bears an uncanny
resemblance to the animated help in MS Office. These ’professional versions’ target the
’professional’ user, who is apparently assumed to be unable to handle complex
51 of 81
Why I hate Microsoft
operations such as accepting defaults in an install program or even logging on without
animated graphics as a guideline. :-(
Of course, technophiles have always been exasperated by the ’ignorance’ of
non-techies. But these days we’re dealing with a generation of users that can’t even
understand the need to know the basics. All they have to do is double-click on a
document, and things start to happen. Of course as soon as the document’s file
extension (which is hidden by default in the first place) isn’t properly associated with an
application, the average user is immediately lost. Users have never been invited to
learn. They’ve been told that they no longer need to know about the basics of driving,
so they just expect their cars to take them wherever they want to go today.
As a result of all this, average users don’t even realize that computers and Windows
aren’t a necessary combination, or that there is a distinction between operating systems
and the applications that run on it. They’ve been taught to think of Windows as
something that comes with your PC, or even as something that is part of your PC. They
have been told that Windows XP is a multimedia environment. The idea that Windows
XP is an operating system that could, but not necessarily should, run multimedia
applications is completely beyond them. The thought that Windows is one of the many
operating systems that could be installed on a computer, is just as alien to most of them.
To them "all the world is a PC running Windows". The rot has now spread so far that
this also goes for many software developers. Web designers automatically assume that
their web sites will be viewed on a PC, and if you’re lucky they’ll write code that runs
on both Netscape and Microsoft browsers. (As if those were the only ones around.)
Application developers usually aren’t much better either. They write software for
Windows, period. Even they just don’t know any better. Even in Windows itself you
can see that portions of the code have been created by junior programmers who have
never known a more robust environment.
Nor is this surprising. Most IT students only encounter Windows these days. Most of
them have never seen a text-mode interface, they don’t know that there are other OS’s
than Windows out there or how they work, and their understanding of what lies beneath
the Windows GUI is rudimentary at best. They’ve never seen robust software, let alone
learned how to write any. Still these students are supposed to become tomorrow’s IT
Quality standards have steadily dropped. The average user routinely endures buggy
software, computer crashes and loss of data. Think about it: To have several computer
crashes or forced reboots a week is considered acceptable and even normal!
(If you don’t understand why it isn’t normal and should not be accepted, chances are
you’ve never used anything but a PC with Windows.)
Today most computer users know computer technology only through Microsoft
products. They no longer learn about computing; the Windows user interface
discourages anything beyond point-and-click actions. Like toddlers they point at small
pictures and they think they are knowledgeable about computers, while the marketroids
wax lyrical about how easy and exciting it is, as long as we all keep buying more and
more of the same junk.
that is the basis on which many IT managers choose the platforms for their future
investments! That and the comforting knowledge that "nobody ever got fired for buying
God help us.
I used the word ’megalomania’ above. You’ll understand why if you take a good look at
Microsoft’s plans for the future. Controlling the PC market is not enough for Microsoft.
In the near future we can expect to see them move into different markets.
52 of 81
Why I hate Microsoft
They’re well on their way to flooding the market for handhelds with Windows CE.
They’re trying to get Windows on the road by embedding it in automotive electronics.
They’ve briefly courted TV networking. They’re spinning up their marketing machine
to take over the cellphone software market, starting with Ballmer’s claim that 25% of
all multimedia cellphones will run Microsoft’s Smartphone 2002 operating system
within three to five years.
One of the biggest new initiatives is Windows Media Center. This is a special
pre-installed version of Windows XP (dubbed Windows XP Media Center Edition) that
was planned to be sold by the end of 2002 but didn’t quite make the deadline. Windows
Media Center won’t be sold separately but comes with Multimedia Entertainment
Systems (read: PCs with a TV tuner and a remote control). This version incorporates
entertainment features like DVD-playing, recording TV programmes, and an
application to manage and view digital photos. It comes with a simplified user interface
that can be read from across the room. None of this is very innovative, but Media
Center PC is likely to be just the opening salvo in Microsoft’s bid to control home
entertainment in the same way it already dominates home computing. In five years, a
personal computer (or something essentially like one but with a more purpose-specific
design) could be the center of many families’ entertainment centers, and Microsoft will
attempt to exercise control over it just like they do with the PC market. At WinHEC
2003 Gates presented further plans to integrate your TV, stereo, VCR, phone etc.
(devices that switch on immediately and then just work) into the Windows PC (the
device that doesn’t).
Microsoft has also begun to sell their own gaming hardware with the release of the
Xbox gaming console. The reason that Microsoft is getting into games is not readily
apparent. Their remark that they wanted to save the world from Playstation domination
is of course not to be taken seriously. Essentially their reasons are fairly simple. PCs
and hardware have gotten faster and more powerful all the time, but the only
applications that really tax those resources are games (and lately, but to a much lesser
degree, digital video). Gamers tend to keep their hardware (and the supporting
operating systems) up to date, and therefore games are a powerful contribution to the
update frenzy that Microsoft thrives on. But game consoles have always been a
competitor to the PC, and therefore a threat to Windows. Microsoft has always tried to
exterminate all competition with fire and sword, but in order to do that they needed to
enter the market for game consoles themselves. Furthermore, Microsoft will attempt to
control the gaming community through online services, on which many Xbox features
will become heavily dependent in the future. This fits in with Microsoft’s plans to tie
their customers down into internet-based subscription services to protect revenues.
Hence the Microsoft Xbox, which Microsoft introduced in the US on a 500 million
dollar PR budget. Half a billion US dollars to introduce a gaming computer -- what will
they think of next?
But the most important new business for Microsoft is web services. Microsoft is really
getting into web content with MSN, their Passport services and other, related projects.
Windows XP comes loaded with features designed to lure the user into buying music
online (from Microsoft), have digital photos printed at the click of a mouse (through a
Microsoft online service), to browse MSN (which boosts Microsofts advertising
revenues) and to shop online (using Microsoft’s passport and payment services in the
With these first steps, Microsoft has begun a gradual but deliberate change. Microsoft
the software monopolist is about to become Microsoft the web services monopolist.
Also note that MSN does not make any profit. Instead Microsoft needs to spend in the
order of half a billion US$ each year (!) to keep it operational. Obviously this
investment contributes to inflated profits elsewhere.
53 of 81
Why I hate Microsoft
After more than a decade of having milked Windows for all it was worth, it’s becoming
increasingly obvious that Windows revenues won’t last forever. The answer is both
simple and complex: Microsoft needs to find a new way of ensuring revenues in future
years. Since Microsoft Windows and server products are an excellent means of tying
the user community to proprietary protocols and services, it stands to reason to use it to
leverage the user community into a new dependency.
Enter Microsoft’s new .Net ("dot-net") strategy.
The idea is simple. Start partnerships with large information and service providers on
the Internet. Then set up a bunch of web services, and bundle clients that use those web
services with Windows, so that the user will get it ’for free’. Gradually discontinue
support for the service in software. Start with trivial things like software activation and
registration, user authentication and software maintenance, and then move on to things
like payment services, address books and appointment schedulers, and finally to
web-based applications. Initially offer the new services for free or for a low entry fee,
and when user dependency is at a sufficiently high level, start charging serious
subscription fees. And there you are.
And this future has already begun. The first implementations of this new strategy are
already visible in Windows XP.
Microsoft already controls the kind of software we buy and use. The next step into the
future is to seize control of the work that we do and the way that we do it.
Microsoft.Net is an implementation of the ASP concept. The idea is that Microsoft will
host our Office applications for us, and we’ll access them using only a (thin) client
system. Microsoft promises huge reductions in TCO, mainly because server and
application administration will be outsourced.
Of course Microsoft claims that ASP (Application Service Providing) and the .Net
concept are innovative, but don’t be fooled. Basically it’s a step back to the decades-old
mainframe-with-terminals approach, and all you need to become an ASP today is a
Unix server, a bunch of applications and some graphic terminals. Granted, the
X-protocol is rather ugly, and unsuited for anything but LAN’s, but the implementation
of a more elegant and efficient client/server protocol layer (e.g. ICA) is rather trivial.
Other aspects of the .Net Framework (such as the much-touted "Zero Impact Install"
merely involve the abandoning of some of Windows’ more spectacular flaws and going
back to design principles that date back to DOS’ predecessors.
Notwithstanding the fact that .Net is retro-technology, at first sight it might not seem
such a bad idea. After all, we won’t have to bother with local software maintenance,
and we’ll only be charged for the actual use of services and not for software licenses.
This should simplify things no end.
Think about it. The whole idea is that Microsoft will take the application software that
we now run locally, and host it for us on their own Windows-based servers. First of all
this raises questions about reliability: will Microsoft technology be up to a job that is
mission-critical for a large part of the planet? The prospects aren’t good: in July 2001,
some 30 million users had problems with the MSN Messenger instant messaging
service, caused by a malfunctioning disk controller on a buddy list database server and
which took Microsoft over a week to fix.
Secondly, Microsoft will take the application software that we now buy, and rent it out
to us on a subscription or per-use basis. Yes, we’ll save money on one-time licenses and
on local administration. How very decent of Microsoft - after they inflated the costs of
licensing and ownership themselves. But will we actually save money in the long run?
We’ll have to buy and run local client software from Microsoft. You can say what you
54 of 81
Why I hate Microsoft
want about Microsoft products, but Lean & Mean is not the way to describe any of
them, they’ll need serious hardware and bugs and implementation problems are
common. On top of that, .Net will only shift the workload (and cost center) from local
server and application administration to internetworking and network administration,
simply replacing one problem with another.
Of course we’ll be forced to buy the client software from Microsoft (most likely
bundled with an advanced PC) since adherence to open standards is something not even
the most naive optimist has reason to expect. Microsoft.Net is going to be a closed
system. Microsoft will control it, and therefore control the operational costs. Instead of
having to pay a rather steep (but one-time) license fee, we’ll now regularly pay a
subscription fee, to be set by Microsoft. After all, Microsoft’s office application
division is facing a revenue problem, as more and more users refuse to upgrade to yet
another version of MS-Office for the sake of a few trivial improvements. And we’ll
keep paying, because once we’ve switched from locally administered software to the
ASP model, we’ll be committed to it. (Trust me: a back-out from Microsoft.Net will be
costly.) But we won’t have any choice: the .Net platform will be gradually incorporated
in all new versions of major Microsoft products. So each time we’re forced to buy
another upgrade in order to maintain compatibility with the rest of the world, a piece of
the .Net framework comes with it, so eventually the whole scheme will be forced upon
us. Microsoft has announced that the extensions to implement the .Net Framework in
existing OS products will be free. Right. Where have we heard this before? Microsoft
has given away products for free in the past: web browsers and media players come to
mind. Each and every time they gave away free software their ultimate purpose was to
kill off a competing product that might have offered a viable alternative to the user. And
now the .Net Framework extensions will be free? Sure...
Timeo Danaos et dona ferentes.
Financial ties aren’t the only kind of control that Microsoft will have under the .Net
initiative. Microsoft also controls how we do our daily work. Currently we may choose
to purchase software for a one-time license fee and decide not to upgrade it. We may
choose not to follow dubious concepts or empty hypes. We may choose to wait, or to
skip products or versions. Under the .Net concept, Microsoft won’t allow us the
freedom to do that. Microsoft controls our software, period.
Take the auto-update features in the client software, for example. Our client software
will automatically be updated whenever Microsoft wants it to, installing new drivers,
patches-du-jour and additions, and of course uninstalling everything that has to go in
Auto-update has enormous possibilities:
Microsoft will control which drivers are present on our client computers. Soon
we’ll see ’strategic partnerships’ emerge between Microsoft and peripheral
manufacturers, and if we want to connect a printer from a brand that competes
with one of Microsoft’s favored partners we’re stuck.
Microsoft controls document compatibility and exportability. As part of an
update, the software may helpfully convert your existing documents and files to
the new format. Today you may be able to export data to Oracle, tomorrow you
might be limited to MS-SQL.
Exclusive control over the driver and application software will make it that much
easier to appropriate open standards.
Applications that worked well in 64 megabytes of RAM yesterday suddenly need
twice that amount today.
In order for auto-update to work, Microsoft will need serious access to all the
files on your harddisk. Of course they’ll promise us that that access will be
55 of 81
Why I hate Microsoft
limited to the files that make up the operating system... Just like all the other
spyware manufacturers did.
All of this will be completely automatic. We won’t have to worry about it... which
means that we won’t have any control over it. Essentially, the auto-update feature is a
trojan horse. And the beauty of it is that we won’t have to wait until .Net really takes
off; in Windows 2000 and XP the first incarnation of the auto-update feature is already
hard at work. And sure enough, the above concerns have already been proved not to be
entirely unjustified. In June 2002 Microsoft injected a critical security patch for
Windows Media Player into the auto-update channels. The patch itself was harmless
enough (though of course it destroyed RealPlayer’s association with audio CD’s) but
during the automatic installation process the user was quietly required to agree to a
brandnew clause in the software license agreement. This clause gives Microsoft the
right to "provide security related updates to the OS Components that will be
automatically downloaded onto your computer [and] may disable your ability to copy
and/or play Secure Content and use other software on your computer." Whenever this
happens, Microsoft promises to make a "reasonable effort" to post notices on a website
somewhere. It’s clear from the wording that MS has absolutely no intention of bringing
this behavior to our attention. Instead, Microsoft just assumes the right to surreptitiously
install code of its choosing on your computer. You will not be warned; you will not be
offered an opportunity examine the download or refuse it. MS will simply connect
remotely and install what it will, or install it secretly when you contact them. This
means MS will have administrator privileges on your personal computer. What they
feed you may be infected with viruses; it may break your applications, corrupt data
files, destroy weeks or months or even years of work, but you’ll have no recourse if it
does. By downloading this WMP critical security patch, which you must do to operate
WMP safely, you’ll agree to give Microsoft deed and title to your personal property and
to leave Microsoft immune from legal retaliation if they damage your machine. If they
break your machine, their responsibility ends with "Sorry".
To illustrate that this was more than incidental, a few weeks later Microsoft released
Service Pack 3 for Windows 2000 with a similar clause in the license agreement, that
essentially gives Microsoft the right to go into your systems, gather whatever
information they think they need, including an inventory of what software you’re
running, and "disclose this information to others, but not in a form that personally
identifies you". Similar things are going on with recent updates of Internet Explorer,
during the installation of which you grant Microsoft permission to collect information
about OS version numbers and product identification numbers, IE version number,
version numbers of other software, and Plug-and-Play ID numbers of hardware devices.
All these updates are to a great extent exercises in fixing bugs in something you have
already bought, and are an outrageous imposition for Microsoft to seize more rights for
itself as a condition of those fixes being applied.
The automated software control character of .Net have other effects as well.
Auto-update will also do away with most of the distribution channel, which will not
only give Microsoft even more direct control over the end user, but also inflate
revenues as an added bonus. And then there are the monthly fees for regular trivial
updates that we otherwise might have decided to skip, but that we now have to accept
as a matter of course.
(As an interesting side note, the Computer Incident Advisory Capability office (CIAC)
has issued an official warning against Windows XP and Office XP. (CIAC bulletin
M-005c.) CIAC officials were displeased with the error reporting feature in these
products. After a crash, Windows and Office XP send information (i.e. memory dumps)
to Microsoft so that developers may do a ’post-mortem’ on the data to see what went
56 of 81
Why I hate Microsoft
wrong. These memory snapshots are likely to contain (possibly sensitive) user data, e.g.
the document or spreadsheet that the user was working on at the time. Microsoft’s
promise that any "accidentally" received sensitive data would not be used in any way
did not impress the CIAC.)
But the most worrisome aspect of the whole Microsoft.Net idea is not only our
complete and utter day-to-day dependence on Microsoft for earning our daily wages
and how we’ll be forced to keep paying whatever subscription fees Microsoft chooses
to charge us. It’s also that Microsoft will be able to control and monitor our daily work.
Microsoft controls our applications, Microsoft controls which services and software
products will be available to us, Microsoft will know about it each and every time we
start an application (i.e. request a service from Microsoft.Net) and if Microsoft wants to
monitor each and every keystroke in said applications or even look into our own
corporate data, I’m sure they’d have no problem doing so. If Microsoft isn’t interested
in our corporate data, I’m sure someone will be. And that someone will be very happy
with the appalling lack of security in any Microsoft product so far.
This is how Microsoft proposes to seize full control of what we do and how we do it.
We’ll be fully dependent on a proprietary Microsoft ASP network on a day-to-day
basis, we’ll continuously be charged through the nose to keep whatever functionality
we have (provided Microsoft does not decide to discontinue it), they’ll be able to raise
subscription fees at their whim and get away with it. But best of all: Microsoft will
control what we’ll be able to do and force us to open up completely about our daily
business. Microsoft will be able to look over our shoulder all day long, and they’ll be
able to cut off our oxygen supply whenever they choose to.
Scary? Try ’Orwellian’...
But wait -- it gets better. One of .Net’s many features is a simpler authentication system
that will effectively enable us to log in to the whole planet with one single password.
Personal information, passwords, a virtual identity, credit card information and many
other types of data will be bundled in one system (codename Hailstorm). The first step
in this plan was called Microsoft Passport and has even been operational. Microsoft
Passport would allow us to log on to all affiliated websites (including E-commerce
sites) with one and the same password. Apart from the huge security weakness such a
had the right to use the service, period. Microsoft reserved all other rights, including the
right to use the information you provided as they saw fit, the right to change conditions
without notice, and the right "to exploit any proprietary rights" that you may hold. It’s
interesting to note that they used the word ’feedback’ for all user-supplied information
(which included each and every mouseclick). This legally gave them the right to
monitor and track everything you do on the web. In their Passport privacy statement
they stated a commitment (in less than legally airtight terms) to provide secure user
interfaces and transmissions for your data, but little more. In fact, they explicitly stated
that they will "disclose Personal Information if required to do so by law or in the
good-faith belief that such action is necessary...". In return, they continued to state that
"If Microsoft becomes aware of ongoing site-specific consumer concerns or problems
with Passport participating sites, we will take these issues seriously..." Well, that should
protect our privacy and legal rights.
In November 2001, the inevitable happened: Microsoft’s Passport wallet system was
cracked, and credit card information became available for unauthorized access.
Microsoft .Net product manager spokesman Adam Sohn said there was no evidence that
data security was compromised, but the fact that Microsoft took the Passport wallet
service offline until the security holes had been patched up is a fair indication that
57 of 81
Why I hate Microsoft
things just might have been a little bit more serious. Sohn also stated that Windows XP
users were not affected because of XP’s "improved security". What he in fact meant
was that cross-site scripting is a little harder to do with XP, and his statement illustrates
Microsoft’s naive ideas about security models rather well.
And it gets better - or worse, depending on your point of view. Less than a month after
the security breach, Microsoft changed their policy about sharing your personal
Passport information. Hotmail users were required to sign up for a Passport, and in so
doing were added to the Passport database. Microsoft Messenger suddenly came with
compulsory Passport subscription too. And several eatures in Windows XP nag
mercilessly, offering all sorts of goodies to get you to divulge your name, address, age,
phone number, and the like, as an incentive.
And then all users who signed up for Hotmail (or anything else linked to Passport)
before December 2001 got a big surprise. It seems that Microsoft quietly changed the
rules, and unilaterally decided to pass along personal information to other companies
that used Passport on their Web sites. This personal information included the user’s
email address, birthday, country and zip code, gender and occupation. They did this by
the simple expedient of adding check boxes to the users’ personal options to indicate
whether or not data may be shared, and checking those boxes by default.
And this was only the beginning. ZDnet’s David Coursey, a self-admitted "non-MS
[.Net] will start simply and helpfully as online services learn to interact
with your desktop computer. It will become easier to log on: A single
password will give you access to many more services, and you will only
enter it once. You’ll ask to be notified of events that are important to
you--and the notification will just appear on your desktop, or perhaps on a
cell phone or pager. The system will know where you are and how to reach
That’s how .Net will start: It will link things together that have never been
linked before and it will seem like magic. Or maybe not. Most of what .Net
wants to do can already be done, but not as flexibly and certainly not on an
anything-to-anything basis across multiple vendors or systems.
THINK OF IT AS GOD’S ADDRESS BOOK. To accomplish this ultimate
linkage, Microsoft will create, perhaps with partners, a giant database to
collect, manage, and dispense information from what amounts to God’s
address book: Everything you might want to know about everyone will be
Which is to say Microsoft wants to have all your personal information, like
calendars, contact lists, E-mail inbox, credit card information, banking
data, and so forth, in this giant database, so that .Net applications can use
the information to do your bidding. You won’t reveal it all at once, of
course, but as you ask .Net to do more for you, more will be revealed.
Imagine: God’s own database... with your private E-mail address, your private
cellphone number, your bank account and credit card numbers, your financial
administration, who your doctor is, what prescription medication he gave you...
This should be good. A database that knows where you live and what you recently
purchased, whether or not you have been treated for venereal diseases in the past,
possible rejections from your health insurance company because of genetic defects in
your family, where telemarketeers can reach you or send unsolicited E-mail, and of
course your social security number, occupation, income... You name it, it’s in there,
maintained by Microsoft and "protected" from the eyes of the ungodly by the ridiculous
58 of 81
Why I hate Microsoft
kind of security schemes that Microsoft has become rightly notorious for. (Such as the
leak discovered in April 2003, that allowed password changes with just a user name and
no password. Microsoft responded by disabling password changes... in May.) And then
there’s the government’s demands for backdoor access into such a database.
Forget Orwell, forget 1984 -- this is much better.
Eventually the entire Hailstorm project was put on hold. This was not only in response
to criticism concerning security and the ownership of privacy-sensitive data. The main
reason for the holdup (and fortunately the eventual demise) of the concept was that
Microsoft didn’t manage to inspire enough trust in potential implementation partners.
The intended adopters of Hailstorm feared that control over the accumulated data would
enable Microsoft to interpose themselves between the partners and their customers.
Initial negotiations with five interested companies had already taken place, but even
those five potential early adopters didn’t trust Microsoft enough to do business with
them on such a scale.
By the end of 2004 Passport was discontinued. In spite of Microsoft’s best marketing
efforts and greatest sales pitches, nobody trusted them enough to participate in, or even
pay lip service to, the Passport initiative.
This should tell us a lot about Microsoft’s reputation.
Another indication of where Microsoft is going with regard to privacy breaches is the
spyware embedded in Windows Media Player 8. Computer Bytes Man Richard M.
"Each time a new DVD movie is played on a computer, the WMP
software contacts a Microsoft Web server to get title and chapter
information for the DVD. When this contact is made, the Microsoft Web
server is given an electronic fingerprint which identifies the DVD movie
being watched and a cookie which uniquely identifies a particular WMP
player. With these two pieces of information Microsoft can track what DVD
movies are being watched on a particular computer. As of Feb. 14, 2002,
Since then we’ve seen a new version of Windows Media Player (version 9) which has
even bigger backdoor options for Microsoft.
Where is all this going? Well... Microsoft has taken to putting some very odd language
in some of their updates: things like requiring that you agree not to benchmark their
software, or publish the results if you do. This should give us pause. And of course
there’s also the ridiculous clause in the Office XP EULA that prohibits you from
running it on anything but Windows. Then, too, XP requires "activation," which gives
Microsoft some information about what you’re running, and is the first step toward
letting them into your system as a "trusted" associate. Which itself wouldn’t be a big
problem if there weren’t a lot of talk about Palladium chips being put onto
motherboards. In fact, some hardwar manufacturers (e.g. IBM) have been quietly
putting Palladium chips into their motherboards for some time now, and others are
likely to follow soon.
The Palladium chip runs a system that when you boot up decides what software is
trusted and legitimate and thus allowed to run, and what is forbidden. After its
introduction, Palladium has been renamed into ’Next Generation Secure Computing
Base’. That should help. NGSCB is expected to be released as part of Longhorn in
2005, but analysts don’t expect any adequate security improvements before 2008.
Whatever part of NGSCB is going to be materialize within the next few years is more
59 of 81
Why I hate Microsoft
60 of 81
likely to focus on digital rights management and extending control over the user’s
desktop than on security. The first thing Palladium (excuse me, NGSCB) will do is to
enable software manufacturers to decide when their products will run and when not. It
will allow them to bind software products to a single PC, which means that you’ll have
to get their permission to replace your hardware. It will allow them to make their
software run only for a certain time, which will enable them to enforce regular
payments for "subscription renewal". It will enable them to limit or prevent the making
of backups. It will enable them to track versions of products on your system, link your
internet access to your hardware identity and later to your own (their infamous Passport
plans come to mind) and keep track of what data you download, use and distribute.
In short: control, control and more control. Apparently Microsoft’s definition of
’secure’ has more to do with protecting their own interests and extending their control
over the user than with actual system security. Their current plans only extend that
control further and further, under the guise of enhancing security, protecting third party
copyrights and working for the common good.
Food for thought.
Table Of Contents | Previous chapter | Next chapter
5. Bad practice, foul play
"The greatest joy a man can know is to conquer his enemies and drive them
before him. To ride their horses and take away their possessions. To see
the faces of those who were dear to them bedewed with tears, and to clasp
their wives and daughters to his arms."
-- Genghis Khan
Doing business with Microsoft has never been without risk. They have earned a
reputation for dirty deals and backstabbing their business partners whenever that
happened to suit them. Time and again small but innovative high-tech developers
entered into partnerships with Microsoft, only to find that Micosoft broke agreements,
stole their technoloy, did not deliver, then dumped them on the edge of bankruptcy. It’s
also not uncommon for Microsoft to take over a small but innovative company and to
put it in the trash can right away, just to keep new and competing bits of technology
entirely off the market.
Of course there are plenty of other companies who play dirty tricks in order to get ahead
in the market. Microsoft is merely one of the biggest companies who have routinely
used foul tactics. But then that’s one of the normal risks of doing business. "If you can’t
stand the heat, stay out of the kitchen", as the saying goes. Still the risks of a
partnership with Microsoft must be considered.
The customer on the other hand has not chosen to be part of this particular fight for
commercial domination. Microsofts clients, and the clients of their business partners,
are being promised, pay for, and are thus entitled to expect, good products. Instead they
get bad products, or none at all, and they end up as pawns in Microsoft’s foul play to
establish a complete monopoly. Often they start out with buying bad products, and
eventually they find themselves dealing with a supplier with a reputation for illegal
As I have already mentioned, there are many things wrong with Microsoft products.
Why I hate Microsoft
Bugs and design flaws are common. Of course, all ’issues’ with MS software will be
dealt with in the next release... But not right now. That’s the whole point: instead of
fixing bugs, Microsoft actually uses these flaws as an excuse for an aggressive update
policy. Microsoft doesn’t fix bugs, but continuously releases new versions. They call
this "innovation", but in truth the only purpose of this strategy is to inflate Microsoft’s
already obscene profits even further.
You buy a newly-built house from a real estate company. As soon as it starts to rain,
you discover that the roof leaks. When you complain about it, the real estate company
either ignores you or they tell you that this kind of roof is a brand-new innovation; the
sort of house they used to sell never had such a beautiful roof. Instead of fixing your
roof they promise that the next house they’ll build won’t leak. Eventually they complete
their next house, three years or so behind schedule, and you have to pay a hefty price
for it... only to find that it comes with a patched roof, and now the water seeps through
the walls instead. The new house has an extra wing added to it that you didn’t ask for,
but as soon as you enter it the floor collapses, and if you try to save yourself you find
Would you accept such nonsense? Of course not! You’d file complaints, you’d sue! But
this is what Microsoft has been doing with their software products, and the user
community has been taught to accept this.
Of course new releases are necessary if software is going to evolve at all. But are these
new versions indeed as innovative as Microsoft would have us believe? Or is it merely
a chance to integrate the separate Microsoft products more tightly and to increase the
users’ vendor dependence?
Let me put it this way: if a new version of an application comes with documents in
Microsoft’s .CHM format (a Microsoft-proprietary version of HTML, used for help
files and such) I’m forced to install Internet Explorer (which means installing Outlook
as well) because no other application correctly supports the .CHM format. The update
file for HTML Help support (HHUPD.EXE) requires that IE3.02 or later be installed,
but Microsoft advises the user to install IE5 and Outlook 5.) Since IE under Windows is
designed to conflict with other browsers (e.g. Netscape Navigator) something as simple
as online documentation in a "product update" forces me to discontinue competing
products in favor of a Microsoft-only environment.
And what good is such an update, really? What are the innovations in, say, the ’97
version of MS Office (Word ’97, PowerPoint ’97, Access ’97, etc.) over previous
versions? How do Office 2000 or XP represent innovation? The most significant
’improvement’ is that all new versions produce documents that are incompatible with
older versions of the same applications. If I create a document in a current version of
MS-Word (e.g. Word 2000 or XP) and mail it to a friend who still uses an older version
(say, Word ’97), he cannot read it, view it, print it or anything else. He’s forced to let
Microsoft ram an unwanted upgrade down his throat before he can use my document.
And it doesn’t stop there. Let’s take a look at Office 2000. Quoting PC-World, June
"An interesting issue is that Office2000’s HTML format is incompatible to
some extent with almost any other program, including MS’s. So you can
create all sorts of groovy Word, XL, or PP documents, and only people
with Office2000 can read them. Even IE4 and 5, and Front Page 2000
can’t read XL or PP files in HTML format without significant distortions in
61 of 81
Why I hate Microsoft
New releases of Microsoft products generally don’t contain any significant innovations
whatsoever. Still we have to keep buying new versions at steep prices in order to
maintain document compatibility with our fellow users. Microsoft calls this "the
freedom to innovate", and waxes poetic about "all this exciting new technology that has
been invented by Microsoft".
As if the document’s version-dependence wasn’t enough, Microsoft also discontinues
serious support for each product version soon after a new version is released. (Although
by the end of 2002 Microsoft announced prolonged support in the future for their major
products.) If you have problems with any Microsoft product, you are invariably
encouraged to buy a new version, usually at a rather steep price. But when you do,
you’ll find that the bugs haven’t been fixed, that new bugs have been introduced, and
that all design flaws have been perpetuated.
Microsoft forces us to buy substandard, proprietary technology along with Windows.
Take ADSI for example. The Active Directory capabilities in Windows 2000/XP are
much harder to integrate into a multi-platform environment (e.g. in combination with
Novell Netware or Unix systems) than the more primitive domain services (which could
be taken care of by means of a simple redirection mechanism). Of course Microsoft has
done little to facilitate the integration of ADSI with other products; ADSI is engineered
to promote Microsoft-only environments; it’s an immature product that can’t handle
multi-vendor or multi-platform environments and scales poorly.
After only a few months of use in the larger corporate environments, ADSI’s limitations
were already painfully obvious: only 5000 users per group, single points of
authentication (which means that remote offices are dependent on the availability of
WAN links for local log-on) and most painful of all: the lack of adequate record
locking, which means that two simultaneous updates of one record will result in serious
loss of data.
ADSI’s limited scalability was again confirmed by the Gartner Group in August 2000:
large corporations will suffer from excessive overhead and network load when
implementing ADSI over, say, 300 offices or more (something that can be, and has
been, successfully done with NDS). Microsoft’s counterargument was that their own
ADSI-based network contains some 39,000 PCs, but they neglected to mention that
those PCs are scattered across multiple non-integrated domains. And of course this
"metadirectory solution" touts being LDAP and ODBC compliant, but if you want an
X.500 directory or a sync engine (other than MS DirSync) to talk to it, you’ll need
custom meta agents.
Draw your own conclusion; mine is that Microsoft has again released a half-baked
product that hasn’t been seriously thought through by qualified networking software
architects, and no amount of patching or service packs will be able to remedy all the
basic design flaws.
And of course real Active Directory support is available only on the Windows 2000
platform which doesn’t have native NDS support, but still users will have to adopt it
eventually. (Soon most applications and drivers will demand it, and of course Microsoft
has already discontinued serious support and code maintenance for NT versions
previous to XP.) Also, Microsoft has shamelessly admitted that the flaws in ADSI
mentioned above would not be fixed before Windows XP, thereby effectively forcing
large customers to accept another mandatory "upgrade" and of course even more
So much for freedom of choice.
Microsoft has always claimed that the bundling of application software with Windows
was only intended to improve quality, and that consumers are better served by the fact
that both operating system and applications are produced by the same company. Well,
62 of 81
Why I hate Microsoft
63 of 81
we’ve seen how that goes. Word Perfect was a better word processor than MS-Word
ever was (read: it delivered a better quality of word processing, whereas Word only
contains more gadgetry). But when Windows 3 was released, few application
developers had caught up with the need to entirely rewrite their application code. Only
the Microsoft Applications Group was ready. It turned out that the latest release of
Word at the time was fully compatible with Windows as soon as it hit the market, while
WP Corp. struggled to get their DOS-version ported to Windows - with an unsurprising
lack of success, as they had previously been forced to write DOS-dependency into the
program code due to DOS’s lack of decent device support. And WP Corp. wasn’t the
only one: when Windows was first released most competing software vendors soon
discovered that porting their existing DOS applications to Windows looked easier than
it was, and that nothing less than a complete re-write was needed in order to produce
efficient and stable code. It’s also common knowledge that MS applications perform
much better under Windows than competing products ever can, since MS controls the
API (Application Program Interface) and uses undocumented features to enhance their
own products. Compare Netscape Navigator and MS Internet Explorer, for example: IE
hooks directly into Windows’ internals while Netscape is limited to documented API
calls.) Still Microsoft denies having an unfair advantage over competing developers of
application software and calls it "The Freedom To Innovate".
Let’s take a good look at this idea. Are a monopoly and the bundling of products really
conducive to innovation?
Imagine for a moment that Standard Oil hadn’t been stopped by the Sherman Anti-trust
Act at the beginning of the 20th century, and had gone on to seize complete control of
the fuel market. Let me stretch your imagination even further: suppose Standard Oil had
also bought the Ford Motor Company. Owning virtually every gas station around, SO
could have switched to a type of fuel uniquely suited for their own automobile products,
and less well suited (and eventually unsuited) for competing cars. Consumers would
have had no choice but to switch to SO-powered Ford automobiles. Both competing
fuel vendors and automobile manufacturers would have been history.
If this had actually happened, what would car traffic look like these days? Think about
it: would we have had a wide choice from affordable, safe and dependable
mass-produced cars running 50 miles to a gallon? Or would we be driving a glorified
Model T instead, in any color as long as it’s black, at the original price or more,
corrected for a century of inflation? (Today most people can afford a car. A century ago
automobiles were far beyond most peoples’ budgets.) And what would we pay for a full
tank of gas, with oil prices being whatever the sole supplier says they are?
This is why monopolies and the wholesale bundling of products are bad. To illustrate:
In November 2003 Microsoft declared a quarterly turnover of $2.81 billion (!) for their
Windows division, with a $2.26 billion net profit. Read: an 80.5% net profit margin on
a multi-billion dollar turnover. MS-Office did slightly less well, with a mere $1.63
billion net profit, on revenue of $2.29 billion. On 30 September 2003 Microsoft had
$51.62 billion on the books. And this at a time when the entire ICT industry can’t afford
to spend any money that can possibly be saved!
But that’s what happens if a monopolist has been allowed to eliminate all serious
competitors. By contrast, other Microsoft divisions such as Home Entertainment still
have to compete with other players in the market, and these divisions declared losses up
to a few hundred million dollars.
And as if that wasn’t enough, subsequently Microsoft’s fourth fiscal quarter showed not
only a 15% increase in turnover, but over 80% increase in net profit.
An important principle in Microsoft’s marketing is that it’s far
more important what the customer thinks he’s getting rather than
Why I hate Microsoft
what’s actually being delivered. Another major strategy is to
hide the fact that Microsoft can never deliver what they promise,
so that the customer will keep purchasing new versions over and
Of course hardball sales tactics have never been the exclusive
domain of any one corporate software company. And all is fair
in love, war and marketing... Or is it? What about foul play?
What about the distinction between competition, the prevalence of sales targets over
ethics, and illegal practices?
For most of the past decade Microsoft has been the subject of investigation by the US
Department of Justice. This has culminated in the late nineties with the so-called
anti-trust trials. The testimony from Microsoft’s competitors was especially interesting
to hear. IBM, for example, declared that they had been forced to drop OS/2 when
Microsoft threatened to raise their prices for Windows OEM licenses. Netscape was
given the choice between surrendering or getting trampled. (Netscape resisted, and
Microsoft started an offensive to "cut off Netscape’s oxygen supply". Internet Explorer
was integrated with Windows, and only a takeover by AOL and SUN kept Netscape
alive.) Digital Research demonstrated how Windows 3.11 was tweaked to crash when
running on top of DR-DOS instead of MS-DOS. And the list goes on and on.
Microsoft claimed in defense that this was all "innovation" and that the integration of
Internet Explorer was a technical necessity. The Department of Justice (DoJ) then went
on to demonstrate that this was a blatant lie, and made short work of Microsoft’s entire
defense plea. Microsoft in turn didn’t even manage to present credible witnesses; all
those who testified either had a significant interest in Microsoft or could be put at a
significant disadvantage by Microsoft. Ironically, Microsoft’s own witnesses, and even
Gates’ own testimonies, did their own case more harm than good.
On 5 November 1999 the DoJ published their Findings of Fact, and concludes, to
condense the original document into a nutshell, that Microsoft has used foul play, has
manipulated the market, has impeded progress, has harmed the IT market, the user
community and consumers, and has violated anti-trust regulations:
"The ultimate result is that some innovations that would truly benefit
consumers never occur, for the sole reason that they do not coincide with
On 3 April 2000, the DoJ went on to state their Conclusions of Law and Final Order,
leaving even less to the imagination:
"[Software bundling] cannot truly be explained as an attempt to benefit
consumers and improve the efficiency of the software market generally, but
rather as part of a larger campaign to quash innovation that threatened
[Microsoft’s] monopoly position. [...]
In essence, Microsoft mounted a deliberate assault upon entrepreneurial
efforts that, left to rise or fall on their own merits, could well have enabled
the introduction of competition into the market for Intel-compatible PC
operating systems [...] thereby effectively guaranteeing its continued
dominance in the relevant market. More broadly, Microsoft’s
anticompetitive actions trammeled [sic] the competitive process through
which the computer software industry generally stimulates innovation and
conduces to the optimum benefit of consumers."
I won’t bore you with the rest of the legalese (which you can read for yourself, if you’re
64 of 81
Why I hate Microsoft
so inclined, in the original document) but the bottom line is that Microsoft was found
guilty as charged.
This ruling was in part (not in whole) reversed by the U.S. Court of Appeals and sent
back to a lower court for reevaluation, not because the facts that led to the initial ruling
were invalid (the court unanimously found that Microsoft engaged in unlawful conduct
to maintain its dominant position in the operating systems market) but mainly on the
grounds of unprofessional conduct by judge Thomas Penfield Jackson, who discussed
his personal feelings about the case in the press immediately after the ruling. Although
Microsoft claimed victory after this partial reversal of the original ruling, the essence of
that ruling still stands, and Microsoft has still been found guilty of illegal monopolist
practices and other unlawful conduct, such as:
Exclusive agreements with PC manufacturers to bundle Microsoft products
Overruling the users’ decision to use Netscape Navigator
Mixing Windows and browser code to prevent the removal of Internet Explorer
Agreements with ISP’s to exclusively promote Internet Explorer
Exclusive agreements with developers to create software that forces Internet
Explorer to be the default browser
Making Internet Explorer the exclusive browser on the Apple platform, by
threatening to halt the development of MS Office for MacOS
Lying to Java developers about Microsoft Java being cross-platform
Pressuring Intel to discontinue development of their own cross-platform Java
Shortly after this ruling Microsoft suddenly lifted the ban on the shipping of competing
application software with Windows by PC manufacturers. This gesture was part of their
attempts to mend their fences with the DoJ, but it’s too little and much too late to make
any real difference as far as the IT market is concerned.
The release version of Windows XP proved to be nothing more than a continuation of
Microsoft’s monopolistic and anti-competitive practices. After being found guilty of
forcing Netscape (now AOL Time Warner) out of the market with Internet Explorer and
HTML, they continued the practice against Real Networks, and they are thumbing their
nose at the DoJ and at AOL Time Warner by bundling MSN Messenger and
MediaPlayer with the OS. You cannot have Windows XP without MSN Messenger, and
it is cumbersome to install either of the other Instant Messaging Services into Windows
XP. RealPlayer has already lost much of its market share to the bundled MediaPlayer,
and is likely to be the next victim of Microsoft’s product bundling strategies and suffer
the same fate as Netscape did. How long do we have before people give up on AIM or
Even consumer organizations are getting worried now, as shown in a study by four
major consumer organizations in the US in September 2001.
In the aftermath of the legal wrangling that followed, both Gates and Ballmer claimed,
and repeated, that it is technically impossible to remove application software like
Internet Explorer and Media Player from the Windows distribution, and that Microsoft
would have to take Windows off the market if a court order forced them to remove it
anyway. This is of course nonsense. Microsoft has always claimed to be able to make
anything that can be called software, and they have never refrained from doing so. They
can put anything into Windows they want, and now they’re unable to remove something
from it and to implement a workaround to deal with any side effects? Oh come on.
And true enough, by the end of May 2002 Microsoft announced, in response to earlier
legal settlements, that Windows XP Service Pack 1 would incorporate changes to allow
consumers and PC makers to override Microsoft’s default media products, and replace
them with products from Microsoft’s competitors, such as AOL Time Warner and
RealNetworks. After systematically lying about the impossibility of doing so, and Steve
65 of 81
Why I hate Microsoft
Ballmer’s rather hyperbolic statements about having to take Windows off the market if
Microsoft was ever forced to do so, it turns out that Microsoft can simply take care of it
with nothing more than a service pack. That should tell us two things.
First, Microsoft admits having lied about this for years. (So what else have they lied
about? They said Media Player could not be overridden. They also said, in court, that
Internet Explorer couldn’t be overridden. Perjury is such a nasty word, don’t you
think?) Second, Microsoft’s claims about how this puts an end to unfair conduct and
anti-competitive monopolist practices should be seen against a long history of
consistent lying. We should not be surprised to discover that Microsoft’s removal of the
offending components is limited to hiding the associated icons. In any case, we’d better
not expect miracles. At least not if the beta version of Media Player 9 is any indication:
beta testers found that after installing Media Player 9, the application could not be
removed from Windows ME and XP. Removing it from earlier versions of Windows is
no problem, but in Windows ME and XP Media Player 9 replaces parts of the OS. Even
Service Pack 1 can be uninstalled, but MP9 can’t. Furthermore, Windows XP Service
Pack 1 also makes other changes to the system to make Windows ’in compliance’ with
recent court rulings concerning Microsoft’s illegal monopolistic actions. The change
made to Outlook Express is especially interesting in this respect. It enables a setting that
is disabled by default. It has to do (supposedly) with the way Outlook Express prevents
potentially dangerous file attachments to be opened or saved. When this feature is
enabled (as is the result of installing XP service pack 1) Microsoft’s competitors’
documents are labeled as dangerous. In particular, Adobe Acrobat 4.0 document
attachments are tagged as dangerous. However, the number one virus carrier in the
world --Microsoft Word Documents with macros-- are not blocked...
In short, it’s still business as usual.
Ironically, after having testified in April 2002 that too many versions of Windows
would be bad for consumers and for competition, since then Microsoft has essentially
doubled--to about two dozen--the number of "current" versions of the operating system
software. Between November 2002 and April 2003, for example, Microsoft has released
three new versions of Windows XP alone. This should tell us a lot about the
trustworthiness of Microsoft’s testimonies...
Let’s face it: even after officially being found guilty, Microsoft has little to fear. The
sad truth is that the company has grown too big to be seriously affected by something as
trivial as law and order. Microsoft could buy large portions of the United States if they
wished to. Microsoft could buy several small countries. Microsoft knows the inside of
the software that powers much of the world’s economy; software that runs on
government computers, including those used by the DoJ, the CIA, FBI and KGB...
But I digress. Suffice it to note that, according to a study by Common Cause, Microsoft
has spent over $16 million on political lobbying, doling out large sums across a wide
spectrum of political activities since 1997. And 16 million is a mere pittance for
Microsoft. Should the political climate turn unfavorable, I’m sure a few hundred million
could easily be reallocated from the marketing budget to politics.
As much as I applaud the efforts of the DoJ to expose the practices of Microsoft for
what they really are, I have to admit it’s always been unlikely that effective action
against Microsoft would ever be taken, and that the DoJ’s ideas on how to make
Microsoft cease and desist (e.g. the proposal that the company be broken up into
different business units) would have the desired result, or even that such measures
would actually be enforced. When the dust settled, Microsoft was still standing,
grinning and raising a finger at the world, the user community and a powerless DoJ.
To illustrate: in January 2003 Microsoft settled one of their big anti-trust cases in
California. Under the terms of the settlement, Microsoft agreed to pay back $1.1 billion
to their customers. If part of that sum is not claimed, Microsoft will donate 2/3 of the
66 of 81
Why I hate Microsoft
remainder to schools, under the condition that at least half of the donation be spent on
Hang on -- how’s that again? Microsoft promises not to do it again... as they have done
so many times before without keeping their promise even once. Then they’ll spend 1.1
billion dollars-- a sum that won’t make a big dent in their annual revenues. Since in
cases like this usually less than 25% of the money is claimed, they’ll end up using a big
part of it to give away to schools and have those schools convert it into free software,
thereby eliminating the competition in just about the only market that Microsoft hasn’t
managed to monopolize yet. And they get away with it.
Something’s very wrong here.
And nothing will change. Things will just continue to get worse. Even after the DoJ’s
ruling, all available evidence suggests that Microsoft persists in practices that have been
found unlawful. The second beta version of Whistler (the development code name for
Windows XP) came with built-in versions of Internet Explorer 6 and Windows Media
Player 8 so tightly integrated into the system that they’re practically hard-coded, right
after the DoJ’s ruling.
No matter how spectacular the innovations by competing vendors (e.g. Netscape or
RealNetworks) may be, the chances that they will be able to offer us these innovations
so that we may benefit from them are practically zero, since competing (and probably
conflicting) software will already have been forced upon us with the installation of
Windows. In Windows XP, for example, the media players from Apple (Quicktime)
and RealNetworks (RealPlayer) won’t work any more, for no apparent reason. The user
has to download patches or updates from Apple or RealNetworks in order to get these
players to work. And Windows XP comes bundled with tons of multimedia applications
to start with, of course.
Even during many trials, Microsoft shows no signs of cleaning up their act. Arguing
that conduct remedies were insufficient to stop Microsoft’s anti-competitive and
unlawful conduct, the DoJ reported that on July 11, 1999, "Bill Gates wrote an E-mail
directing that Microsoft redesign its software to harm competitors" who make personal
digital appliances. It indicated "a willingness to change the details of its Office
applications to favor devices that run on Windows, even if doing so would disadvantage
other customers who now rely on the Palm Pilot", officials said. The department noted
that this was less than 30 days after the company’s 78-day trial ended, in which it was
accused of using similar tactics against Netscape and others. (Microsoft went on to
release PocketPC, the successor to the Windows-CE operating system for hand-held
devices. Initially the above allegation of unlawful conduct was denied, but then
Microsoft requested that Gates’ E-mail be placed under court’s seal.)
The near future doesn’t look very promising either. A leaked-out beta version of
Internet Explorer 6 contained hardcoded links to Microsoft websites and appeared to be
designed as an integral part of Windows (to be more precise, at the time it didn’t look
like IE6 would be available as a separate product and would be impossible to remove
from Windows). Although IE6 was released as a separate product after all, this was
undoubtedly part of Microsoft’s latest plans: the Microsoft.Net initiative, a strategy to
bind customers to Microsoft on a day-to-day basis.
.Net will target (read: attempt to appropriate) Internet Services, and promises to
introduce even more proprietary standards than before. Microsoft still owns the
proprietary API’s (the documentation they released as part of a legal settlement in
August 2002 was incomplete and virtually worthless, not to mention full of errors that
were obviously the result of sloppiness rather than of malicious intent). Therefore
Microsoft controls what will work or not for third-party software. During Microsoft’s
announcement of their new Internet strategy, Bill Gates conceded that "while all .Net
devices will have access to Microsoft’s .Net infrastructure, those based on the Microsoft
67 of 81
Why I hate Microsoft
Windows platform will work better". Sounds familiar?
If you haven’t got the full picture by now: Gates told the audience at the MS Developer
Conference on 13 July 2000 that, quote, "the next two releases of Windows is where
you’ll see .Net built into the user interfaces.", unquote. He went on to outline "the most
profound changes in the User Interface" that can be expected in the near future.
"Remember it’s Microsoft we’re talking about," said an official with one of Microsoft’s
software partners, who requested anonymity. "Microsoft’s number one priority in the
post-Windows-2000 era is the same -- to make sure all devices are Microsoft-based."
As a taste of things to come, MSN users noted in October 2001 that MSN suddenly
required the use of Internet Explorer. Users of other (competing) browsers were
redirected to a webpage where they could download IE. After considerable public
pressure Microsoft dropped this requirement (thereby proving that there was no
technical necessity for such a browser-dependency, but that it was a commercial issue
only). However, a Microsoft spokesman warned that users of competing browsers
would have a "slightly diminished experience" because non-MS browsers "do not
support MSN’s HTML standard". Go figure.
Some examples of untruth in Microsoft marketing are even funny. In the first months of
2002, Microsoft (along with partner Unisys) put up a website with the title "We have
the way out". This website was part of a campaign that used slogans such as "Unix
makes you feel boxed in. It ties you to an inflexible system." The ICT community was
vastly amused: this website runs on Apache and Free BSD Unix. While touting the
advantages of Windows over Unix, Microsoft knows how little truth their is in their
own statements and relies on Unix instead of Windows. They won’t eat their own
dogfood - after all they know what’s in it. (Later this website was ported to IIS on
Windows 2000, but by then everyone already knew about it, of course.) And in August
2003 Microsoft changed its DNS so that requests for www.microsoft.com no longer
resolve to machines on Microsoft’s own network, but instead are handled by the
Akamai caching system, which runs Linux.
On top of all this, Microsoft continues to, how shall I put it, adhere to rather peculiar
ideas of what’s true and what isn’t. Spreading FUD (Fear, Uncertainty and Doubt) and
other forms of misinformation is normal business routine for Microsoft. For example,
on 22 December 1999 the Microsoft website blandly stated that:
"These are just a few of the features Windows 2000 Server offers that
aren’t found in NetWare:
Integrated namespace support, file compression, configurable block size,
mirroring, duplexing, striping with or without parity, removable device
support, link tracking, integrated content indexing, user-definable file
properties and a tracking log to audit storage services utilization."
They went on to state that NDS is known for its poor scalability, then they emphasized
that Active Directory supports LDAP and DNS (yes, for Microsoft that’s a novelty all
right) and to cap it all they called Active Directory "secure", I shit you not.
While I’m not sure what they mean with buzzwords like "link tracking" or "integrated
content indexing", I’ve found practically all the above features in Netware 4 since 1993
(!), while NDS has already been scaled to handle billions of objects. On the other hand,
Microsoft fails to mention important weaknesses in Active Directory, such as the
inability to adequately protect sensitive data from the Administrator account. Granted,
Administrator’s access rights to an Organizational Unit can be revoked, but the
Administrator account can retake those access rights at any time. In other words, it’s not
possible to adequately shield sensitive data from the Administrator. OK, it is possible to
68 of 81
Why I hate Microsoft
detect unauthorized access (e.g. through a security audit) after the fact. But that’s all.
This weakness was also present in Novell’s bindery-based architecture, which Novell
abandoned in 1993 with the release of Netware 4.0 and the switch to NDS.
In April 2001, Microsoft spread the rumor that Novell was moving out of the software
business and even managed to get it published on TheStreet.com. Microsoft eventually
modified the statement in response to demands from Novell. However they repeated
this nonsense on 1 October 2001 in a direct mailing to Novell customers. This
marketing piece suggested that Novell server products would "expire" at some
unknown date in the near future. (This is not true; there is no "expiration date" on
Novell server products, they keep working indefinitely). It also claimed that Novell,
after its merger with Cambridge Technology Partners, would discontinue software
development and shift to consultancy. It implied that Novell customers would soon be
left with a server platform without the full support of its manufacturer, which would
therefore rapidly become obsolete. This outright lie caused Novell to file suit.
Even in their own certifications Microsoft attempts to misinform their audience. A
reader of this paper reports the following:
I have recently been forced to acquire A+ certification. The content of the
exam was weak at best and tested a minimum of skills (after using their
prep materials I STILL hadn’t found a good explanation of memory
timings, but that didn’t stop me from getting a perfect score on the exam).
It wasn’t the sloppiness of the exam that bothered me, though...it was the
fact that the whole curriculum is used to peddle M$ as the champion of
computing (or as the only existing option) and Windows as the only OS a
"professional" would consider.
M$ through their puppet companies (CompTIA, PrepLogic, etc...) use these
exams as written infomercials, and they LIE to do it. Example: The
PrepLogic Network+ practice exam has a question that asks which
Network Operating Systems are X.500 (LDAP) compliant-- apparently
Windows NT 4’s NTDS and Windows 2000 Active Directory are FULLY
X.500 compliant, while "Linux in any flavor does not have a directory
service of this type"... Go figure - the LDAP daemon I run dailly doesn’t
In November 2001 Microsoft spread more lies when they published a whitepaper on
their website that compared Embedded Windows XP with embedded Linux. Among
other inaccuracies, the paper touted the superiority of embedded XP, called it "proven
performance and reliability" (blithely ignoring the fact that XP is Windows and
therefore known for its unreliability, and that XP is brand new and barely tested). It
claimed that Linux is "a follower, not an innovator", based on the fact that Microsoft
continues to integrate support for new "standards" in their products that the Open
Source community struggles to keep up with.
Nor is this the only example of the way Microsoft attempts to distort reality. On 14
February 2001, MS’s Windows Operating System chief, Jim Allchin, stated that freely
distributed software code such as rival Linux could stifle innovation and that legislators
need to understand the threat. The result [of Open Source initiatives] will be the demise
of both intellectual property rights and the incentive to spend on research and
development, Allchin claimed. He went on to call Open Source an intellectual-property
destroyer, and stated that nothing could be worse than this for the software business and
the intellectual-property business. In May 2001, Microsoft CEO Steve Ballmer stated in
an interview that "Linux is a cancer that attaches itself in an intellectual property sense
to everything it touches". And to top it all off, the user license for the second beta
version of Microsoft’s Mobile Internet Toolkit comes with a condition that the product
69 of 81
Why I hate Microsoft
not be used "in combination with potentially viral software". The document goes on to
name examples of what Microsoft calls "potentially viral software": software that is
distributed under the Gnu Public License (the most common license for Open Source
software) but also the Lesser General Public License, the Mozilla Public License and
the Sun Industry Standards License.
And it keeps going on: in October 2004 Steve Ballmer wrote an edition of ’Executive
E-mail’ titled "Comparing Windows with Linux and Unix" in which he stated, among
other things, that an MS customer who ran Linux "migrated to Microsoft Windows
Server System, and reduced its total cost of ownership by 25 percent. It also
consolidated its server population by 50 percent, reduced maintenance time by 50
percent, and boosted developer productivity by 200 percent." He also writes that "A
number of third-party reports have questioned how safe the Linux platform really is"
and continues to suggest that Windows is at least as secure as Unix, quoting another
success story in which "the core reason for selecting Microsoft was the increase in
network security, complemented by the ability to reduce patch-deployment time by 50
percent while cutting unsolicited e-mail by half." I have to admit that Ballmer writes
brilliantly: he even manages to pass off the ridiculous amount of security patches
released by Microsoft as an indication of how well Microsoft’s products are being kept
secure, rather than as an indication of how many security holes are still being
discovered on a daily basis in products that should have been stable for at least a year or
so. After this nonsense, his conclusion that "it’s pretty clear that the facts show that
Windows provides a lower total cost of ownership than Linux; the number of security
vulnerabilities is lower on Windows, and Windows responsiveness on security is better
than Linux; and Microsoft provides uncapped IP indemnification of their products,
while no such comprehensive offering is available for Linux or open source." almost
comes naturally. There are lies, damn lies, and Microsoft "facts".
In the meantime Microsoft’s marketing continues to make groundless promises.
Windows Server 2003 is being marketed as a huge cost saver. Advertising campaigns
promise (without qualification) that you’ll "save a nickel on every transaction" just by
switching to Windows Server 2003, or that you’ll reduce the complexity of your
infrastructure by implementing Active Directory and "save two million dollars a year".
Of course such unqualified promises are meaningless without being put into any context
(such as what kind of infrastructure and ICT environment you have) but that’s all
irrelevant when Microsoft salesmen step into the boardroom. Another distorted aspect
of the whole Windows Server 2003 campaign to "do more with less" is Microsoft’s
announcement that their latest and greatest will save you "millions of dollars" because
now users can restore their own accidentally deleted documents. Wow. What a great
feature! Users of Novell Netware especially will appreciate it. After all, they’ve been
using Netware’s SALVAGE features since the 1980’s. If this simple feature alone is
supposed to save millions on user support, does that make Windows 2003 a must-have?
Microsoft would like us to think so. Windows’ lack of such an elementary feature and
the extra millions wasted as a result are of course never mentioned.
Decades of non-innovation and monopolist practices, legal procedures and finally a
ruling by the DoJ. Nothing but rewrapped old technology, misinformation, FUD and
lies on a web page aimed at wannabee marketroids to tell them how to convince their
customers that Windows is a Good Thing. Suggestions that IP is a Microsoft protocol, a
claim that the integration of Internet Explorer in Windows ’98 is a technical necessity,
unrealistic promises about saving costs and increasing reliability, and attempts to paint
the Open Source community as being fascist.
Lies, lies and more lies. In fact Microsoft has been proven guilty of most of the things
they accuse their rivals of, and then some. Can you say "dishonest"?
70 of 81
Why I hate Microsoft
71 of 81
Table Of Contents | Previous chapter | Next chapter
6. Caveat Emptor
"If I can have honesty, it’s easier to overlook mistakes."
-- James T. Kirk, in Star Trek episode "Space Seed", stardate 3141.9
Obviously Microsoft doesn’t have the slightest respect for their customers (note how I
try to avoid the word ’contempt’ here). Their track record speaks louder than words on
this point. Microsoft is a truly digital company: Microsoft is number one, and the
millions of consumers who use their products are the zeroes.
Before doing business with any company, most customers like to know if they’re
dealing with a reliable party. Well - to summarize:
Microsoft rarely fixes user problems. Granted, service packs for Windows ’95,
NT, Office and such have been released, but only in an attempt to fix blunders
that should never have been released in the first place. And each new service
pack introduces new (and untested) features to Windows, so the problem is
Instead of solving problems with new interim releases, MS issues only major new
releases with ’additional features’ and loads of extra bells and whistles that
distract the attention from the main issue: software quality. Could someone tell
me what the real structural improvements are in the latest Windows ME release?
Microsoft does not seem to have a quality plan, carries no ISO900x (or any other)
quality certification that I know of, and apparently does not intend to acquire any.
Worse, Microsoft does not seem to have full control over the contents of their
own software. The ’Weenie Issue’ in IIS and the ’gray hair’ feature in Windows
2000 (Q281923) are good examples. Granted, these may be relatively harmless
bits of code, but the point is that if these can pass through Quality Control, so can
security backdoors and the like. That’s assuming that quality control is actually
part of Microsoft’s production process and that it’s intended to do a serious job.
Frankly I can’t see how serious quality control could have missed the flight
simulator and pinball games that are hidden in Excel and Word ’97, or have
permitted them to be shipped with the final product. (Such deliberately hidden
features are called ’Easter Eggs’ and are usually put in by developers as a prank.)
In 1998 Microsoft released one of their major products (Windows ’98) that turned
out not to be millennium-proof. After no less than five service packs for NT4,
users still needed to install several post-SP Y2K hotfixes by the end of 1999.
(Can you say "Quality Assurance"?)
Microsoft refuses to support their own products if those products have been sold
to the customer through an OEM distributor.
Microsoft products are designed to benefit Microsoft. Even in the days of
Windows 3.11, they incorporated code to display an incorrect error message if the
competing product DR-DOS was detected. How does the customer benefit from
Why I hate Microsoft
72 of 81
this? Microsoft uses their customer base as a pawn in the battle for market
domination. Windows ’98 forces the user to run Internet Explorer, regardless of
the needs, desires and wishes of said user. There is no technical reason to do so, it
is a monopoly issue only, as has been proven in the course of legal procedures
against Microsoft. And who else but Microsoft would put a feature in MSN
Explorer to spam your entire address book with endorsement messages gushing
praise about "this exciting new product from Microsoft"? (Incidentally, this spam
has your name on it. It’s your reputation going down the drain.)
Microsoft manipulates the market by making it cumbersome to use competing
products instead of offering truly better alternatives, enforces proprietary
extensions to otherwise open standards and introduces deliberate version
Microsoft is not above playing fast-and-loose with the law when it comes to
killing off alternative suppliers. They prefer to use pressure and force to restrict
the consumer’s free choice, rather than to allow true and healthy competition
based on the merits of different products. Their methods to accomplish this can
be called doubtful from a legal point of view, to say the least.
Microsoft lies to the customer (yes, they LIE) to deny the quality of competing
products and to make their own look more favorable. Microsoft will look you
straight in the face and tell you that NDS is known for poor scalability, that
Netware doesn’t support basic file system features such as sub-allocation and
compression, and that Windows outperforms Unix.
With the introduction of Office XP, Microsoft resorts to a new upgrade policy:
force-feeding. You’ll upgrade whenever Microsoft tells you to and meet their
deadline, or else face a huge cost increase the next time you upgrade. That’s the
kind of freedom of choice that Microsoft gives you: either pay up now for
something you don’t really need, or pay much more a little later when (not if)
new products will be made incompatible with previous versions.
Still Microsoft hails the free market and tells the customers that they benefit from this.
Table Of Contents | Previous chapter | Next chapter
7. Where are you forced to go today?
"Remove me from this land of slaves,
Where all are fools, and all are knaves,
Where every knave and fool is bought,
Yet kindly sells himself for nought.
-- Jonathan Swift
Microsoft has such a nice slogan. "Where do you want to go today?" But in truth
Microsoft couldn’t care less where you want to go. All they care about is inflating their
Why I hate Microsoft
revenue at your expense. They’ll tell you where to go. And you will go along with it.
You can go easy or you can go hard...
A good example is the enormous market share that has been conquered by Outlook and
Internet Explorer. Well, of course these products are the most widely used in the world!
It’s practically impossible to buy a PC without Windows these days, and Windows
comes with Outlook and IE. Setting up Windows for its initial use involves the
procedure for entering account data in Outlook and the use of IE as the system’s default
browser. Switching from these defaults to alternative products involves a consious
effort on the part of the user, removing Outlook and IE is practically impossible.
But coercing the user to stick with Microsoft-supplied Internet applications is only a
Microsoft’s prices have always been
rather steep, but Windows XP offers
another striking example of Microsoft’s
price gouging policies. Windows XP
comes in two flavors: the ’home edition’
and the ’professional edition’. Of course
they’re essentially the same product: the same kernel, the same user interface and the
same bundled applications. At least Windows NT and Windows 95 were products of an
entirely different caliber. Microsoft had intended to sell Windows NT and 2000 to the
corporate sector and Windows 95/98/ME to the home and SOHO markets, but many
companies used Windows 9x in the office. So now the home edition of Windows XP
lacks a few features that are required in an office environment, such as network client
support, group policies and roaming profiles. You don’t really get much more software
for your money when you buy the professional edition, but the few parts that are
missing from the home edition are exactly the parts you can’t do without in a corporate
environment. No matter how you look at it, it’s obvious that Microsoft has decided to
remove these portions from the XP home edition in order to force the corporate sector
to use the professional edition of XP, which is about twice as expensive as the home
Imagine that your automobile dealer wants to sell you a new car. You tell him that you
will use it to go to the office in the morning and perhaps to visit a few customers as
well. He tells you that for professional use you must buy the professional version of the
car you wanted, which costs twice as much but comes with a nice ’professional’ sticker
on the doors.
Would you do business with him?
And it gets even better. A fine example of Microsoft’s policy of force-feeding their
products to their customers, and a fair indication of what Microsoft has in store for us,
is the latest initiative to "simplify" their upgrade policy. Instead of having to agonize
over the decision when to upgrade and having to choose between CUP, VUP, PUP or
other upgrade schemes, we are now reduced to only one simple option: we are required
to buy and install an update whenever Microsoft tells us to.
Under the so-called "Software Assurance Program", which has become the only game
in town as it replaces all existing upgrade policies, users had to upgrade to Office XP
before 1 October 2001 (notwithstanding the fact that Office XP didn’t hit the market
before 31 May 2001!) or else be charged the full price for a new license the next time
they upgrade. (This included a necessary hardware upgrade in many cases, since the XP
product line doesn’t run well on pre-1999 hardware.) Existing upgrade agreements were
terminated on 1 October 2001. Just like that.
In fact the new update policy is an enforced subscription model. Software Assurance is
only available for ’current’ versions of Microsoft products, and Office 2000 was NOT
73 of 81
Why I hate Microsoft
CONSIDERED TO BE A CURRENT VERSION as of 1 October 2001, since Office
XP had been released on 31 May, four months earlier. Furthermore, Microsoft has
carefully neglected to emphasize that this extortionist scheme applies to all Microsoft
products and not just to MS-Office. As of 1 October 2001 all server products, all
desktop products and all application software had to be made ’current’ and maintained
under the Software Assurance Program, at a price of 29% of the original software cost.
Microsoft also intends to "reevaluate" this percentage after two years. (One exception:
the enforcement of Software Assurance doesn’t apply to operating system
products -- yet.)
As a result, many corporate customers faced an unexpected upgrade expense (in many
cases a large one) to avoid having to pay the full price for their next upgrades. They
also had (and will have) to implement brand-new and barely tested "service pack zero"
versions of Microsoft products, on only four months notice before Microsoft declared
existing upgrade policies on mission-critical application software null and void.
The increase in software cost in the next few years will typically be about 35 percent for
companies who upgrade once every three years, and can be anywhere between 68
percent and more than 100 percent (!) for those with four year upgrade cycles, as
marketing research bureau Gartner has calculated.
Since the maintenance agreement Microsoft wanted customers to purchase after the
upgrade (before the October 1 2001 deadline) costs 29 percent of the full software
price, you don’t have to wait much more than a year to break even by not upgrading but
putting the money in the bank instead of giving it to Microsoft.
The new scheme leads to ridiculous situations in which it is often cheaper to buy new
software before the deadline and let it sit on the shelf for a few years instead of
installing it, rather than to upgrade three years or so from now. Of course we’ll
eventually have to upgrade anyway, as new releases of Microsoft products introduce
incompatibilities with the versions that are current today.
(Note: in an unprecedented response to pressure from large customers, Microsoft
declared a ’transition period’ from 1 October 2001 to 28 February 2002 to ease the
pressure a bit. This gave users a bit more time to cough up the money for their
mandatory upgrades. But apart from this minor delay, which is essentially nothing more
than a nice gesture, the new scheme remained the same.)
At the time Gartner did the math, and their response didn’t leave much doubt about the
"Microsoft believes it has simplified its licensing; Gartner believes
Microsoft confuses simplification with the elimination of options. Either
way, most enterprises will pay much more. A typical enterprise with 5,000
desktops that upgrades Microsoft Office every four years will have its fees
increase from $900,000 to $1.7 million."
Similarly, the 4,000-member Dutch Network Users Association calculated that 86% of
its members face a price increase. NGN chairman Vincent Everts noted that companies
will have to pay just to qualify for Software Assurance, because companies must be
running the most current version of Windows or Office to get the maintenance
agreement. "They are forced to buy this program [...] even though they don’t want it,
and that’s what a lot of people are very angry about," Everts said.
Yes, Your Honor, here we have Microsoft demanding a revenue spike solely for their
own purposes and promising consequences if customers don’t cough up on schedule.
This policy will of course be enforced through product bundling, tight control of
document formats, and the deliberate introduction of incompatibilities of new products
74 of 81
Why I hate Microsoft
75 of 81
with existing ones. No significant improvements in the way of products, services or
functionality has been offered to justify such inflated prices. Yet Microsoft insists that
this new scheme is intended to benefit users, that 80 percent of their customers won’t
pay more than they used to (even in the face of simple calculations that show this not to
be true) and that they’ve come up with this extortion scheme in response to demands
from their customers. Excuse me?
Another good example of how Microsoft only wants to protect revenues rather than
serve their customers is the licensing technology that will be incorporated in all new
products, starting with Office XP. The software license is tied to the PC’s hardware,
which is identified through the unique characteristics of ten hardware components, e.g.
the MAC address of the network interface and the serial numbers of IDE harddisks.
Licenses need to be ’activated’ (for which you have to contact Microsoft). Licenses
automatically become void (read: the software shuts down) after certain hardware
modifications. In other words, if you replace a malfunctioning network card or hard
disk you have to to contact Microsoft and kindly request that they ’reactivate’ your
license so that you may continue with your work. The license verification code also
contains bugs that may result in Office suddenly shutting down and asking for an
original CD for re-activation, which essentially leaves you without a functioning set of
Office applications. How’s that for enhanced productivity?
Microsoft doesn’t care where you want to go today. You’ll go wherever Microsoft tells
you to go, period.
Table Of Contents | Previous chapter | Appendix A
8. The road ahead
"The future is a race between education and catastrophe."
-- H.G. Wells
Honor where honor’s due: Microsoft accomplishments are impressive. Gates and Allen
started with practically nothing in the early seventies, and today Microsoft is perhaps
the most commercially successful company in the world with a net worth that runs into
billions of dollars. Their methods may always have been doubtful from both a moral
and a legal point of view, but they did turn inferior products into a commercial success,
and a small startup company into the biggest money-making machine in existence
today. This requires commercial genius, which Gates undeniably has, even though he
never really contributed much to technology or to life in general. Being a great
salesman, he has become perversely rich by selling bad, copycat products. Which only
goes to show that for every rule there’s an exception; in this case the computer
industry’s maxim that wealth is a function of creativity and innovation. Commercial
ingenuity will do as well, and Gates’ marketing strategies have been nothing less than
Even though the company has done little more than disguise various ideas as their own,
it cannot be denied that Microsoft products have played an important role in the
maturing of the IT industry. Microsoft (in a symbiotic relationship with chip
manufacturer Intel and after IBM who allowed competing hardware manufacturers to
clone the IBM PC design) has been one of the factors that made computer technology
available to the masses.
Why I hate Microsoft
But these accomplishments should be seen in their proper perspective. Microsoft has
been credited with being a stimulator of technological development, and has even been
called "the jet engine of the new economy". The truth is, however, that corporate ICT
investments and efforts have rarely triggered technological development, but at best
followed up on it. Nuclear research (that eventually led to a better understanding of
semiconductor materials and microchip development) and computer research initially
took place as part of the war effort during the 1940’s. The first computer (ENIAC) was
developed at the Moore School of Electrical Engineering of Pennsylvania, on a defense
budget. The cold war and America’s urge to outclass the Soviet Union in achievements
such as space travel triggered the founding of ARPA, which developed much
technology, including communications technology and ARPAnet. ARPAnet eventually
matured and grew as other research institutes began to use it, and ultimately became
Internet. Moore’s law has been in operation for decades; hardware integration increased
and hardware prices have dropped accordingly. The first cellphones weighed over 20
pounds, the first GPS receivers filled a desktop. Today we can buy such devices for a
song; they fit into a shirt pocket and perform much better than those early dinosaurs.
Bill Gates claims that Microsoft helps keep prices down, saying that modern computing
power is "the equivalent of getting a 747 for the price of a pizza". The nonsense of this
statement is proven by the fact that similar evolution and price drops have occurred
with technology that Microsoft has nothing to do with. The reduced price of computing
power is merely a reflection of achievements in the fields of micro-electronics and
physics, and of the simple economics of increased mass production.
Microsoft has ridden the wake (but rarely the crest) of these and other developments
that stimulated technological innovation. They have followed the trend and capitalized
on it, but they haven’t driven it noticeably. They have contributed to making new
computer technology available to the masses, and they created the foundation for
today’s IT market by turning available technology into commercially viable products,
with great success. But as is so often the case, the initiator has long since become an
impediment to further progress.
We owe Microsoft our gratitude for two (and only two) accomplishments. Before
Microsoft came along, a computer owner could obtain software only from the
manufacturer of that particular computer. If IBM had had it their way with PC-DOS,
this would still have been the case. Microsoft changed that, first by selling BASIC
interpreters to various competing manufacturers of home computers, later by doing the
same with MS-DOS. Their marketing stragegy was instrumental in changing a vertical
market (where users buy all their products from one supplier) to a horizontal market
(where many different suppliers sell components that go into the final end product).
Both PC manufacturers and software manufacturers owe their existence in the PC
market largely to that single fact. Also, by implementing an entry-level user interface in
Windows, they made the PC accessible to the novice user.
These are Good Things, and Microsoft deserves due credit for it. But these
accomplishments were mainly a by-product of Microsoft’s marketing strategy. Their
beneficial effects pale next to the damage that Microsoft has done.
In today’s Microsoft-dominated market, customers aren’t served. They are being used.
Microsoft manipulates the market, with the customers as pawns in their marketing
strategies. The needs and wishes of the customers themselves are completely ignored,
unless responding to those needs would help Microsoft in their rise to complete market
domination. And all the while, Microsoft’s marketeers paint this company as the best
thing that’s ever happened to us.
Microsoft replaced our dependency on different hardware manufacturers by an even
stronger dependency on one software company (Microsoft) and one platform (Intel),
and the pretty colors of a friendly-looking user interface only hide the very badly
designed technology with which they’ve saturated the market. After changing a
76 of 81
Why I hate Microsoft
restrictive vertical computer market into a less restrictive horizontal one, Microsoft now
moves back into a vertical market where all software products in an otherwise
horizontal market are again available from (or with the consent of) a single supplier.
Microsoft has expanded the market for PC software, but also set the standard for that
market: notorious unreliability, sloppy code, and marketing interests that impede the
introduction of new ideas. The software market is the only market where products are
still accompanied by licence agreements that state, often in a few thousand words that
are extremely hard to read, that by using the product you indemnify the vendor against
any claims, losses, or problems it may cause, even if the vendor knew about the
problem before it sold the product. In some cases you even agree to let Microsoft
remotely modify your software and you can’t hold it liable if something breaks as a
result. Can you see the an automobile manufacturer demanding that you sign a waiver
before they’ll let you drive one of their cars, in case the brakes don’t work? Of course
not. Yet this is considered a normal standard of conduct in the software market, and
while Microsoft is not solely responsible for it, they have contributed greatly to the
blind acceptance of this deterioration of quality standards. And if you don’t like Ford
trucks, you can buy a Jeep instead. PC users generally do not have that option.
Microsoft has spun out of control, and rules the field of computer technology and the IT
market with an iron fist. Whatever Microsoft’s next whim may be, IT customers must
follow it, in spite of forced upgrades, replacements of existing software and hardware,
huge costs of ownership and ever-increasing overhead.
Customers in today’s IT market no longer have a truly free choice about the products
they want to deploy. It has become all but impossible to run an office without using
Microsoft products. There are so many MS-proprietary document formats and protocols
being used these days that Microsoft products have become the only game in town.
Alternatives are no longer a real option, because the companies that used to offer them
have either been assimilated or eliminated, and the remaining few are ailing after years
of struggling to cope with proprietary standards designed for incompatibility with
And nothing will change. The old saying that "Sony will make more compact things,
Apple will make more beautiful things, Microsoft will make more money" will hold true
as it has done in the past decades. Microsoft is driven by sales targets, not by quality
targets. No matter how bad their products are, as long as they continue to sell them
nobody will get fired. An sell them they will, by force if necessary.
Microsoft has grown beyond control. Even the DoJ has been unable to come up with
effective measures against the company. This demonstrates that Microsoft is now
effectively above and beyond the law. Microsoft won’t be unhorsed by competition
either, because there’s virtually no competition left. They’ll just go on as planned,
tightening their grip on the IT market and the user community, continuing to increase
our dependency on their sloppy products, and forcing us to buy useless new releases
every other year or so.
Computer hardware is more powerful than ever, but software efficiency and reliability
have steadily dropped. PC programmers no longer know any serious quality standards
for software development, users still don’t do their work any faster or any more
efficiently, and therapists are now treating something they call ’Technology Related
And we’re stuck with all this. That’s the whole point. Some readers have taken this
paper as an advocacy for Linux, MacOS or other products. While those would indeed
be better alternatives from a technical point of view, I’m not blind to the fact that for
most of us these are not viable alternatives: in order to make our living, we’re expected
--even forced-- to be compatible with the one brand of products that has been
deliberately made incompatible with almost everything else.
77 of 81
Why I hate Microsoft
That’s the whole point: we’re stuck with it. Even if Microsoft would cease to exist
today, the PC software market would need years to recover from the huge impediment
to innovation that Microsoft has become. For years and years Microsoft has stunted the
true growth of computer technology under the guise of innovation. In the early years the
PC and LAN market was driven by innovation that resulted directly in enhanced
productivity. Simple products like DOS and DOS-based applications, even with all their
limitations and drawbacks, achieved dramatic boosts in productivity. End users could
streamline their business processes with batch files, macros and other forms of
scripting, and applications were mostly limited to features that made sense. In those
days the investments in automation usually paid off directly in the form of enhanced
productivity. But as Windows began to dominate the market this tendency changed, and
was ultimaty replaced by exploding costs without any further increase in productivity.
Nowadays most desktop tasks actually take longer than they used to ten years ago. Most
office applications such as Word and Excel lack features that users would like to have
(such as simple macro’s and scripting, control over markup codes and freely
interchangeable documents) but eat up a lot of production time while users try to find
their way through the maze of added bells and whistles and an inconsistent and
unergonomic user interface. Windows is designed to be operated manually; the use of
scripting and macro-based jobs is no longer possible.
What we really need is an OS built around a robust kernel (the Unix approach comes to
mind) but with the focus on user-friendliness that has been one of the deciding factors
in Windows’ popularity, and open API’s and toolkits that application developers might
use to create products with a uniform look and feel to the user interface. This could be
done with the technology available today. There are a lot of players in the software
market who would be eminently capable of such an effort. But nobody in his right mind
would invest in such a project, because commercial success requires displacing
Microsoft from over 95% of the world’s personal computers. The inertia of the market
alone guarantees that such a transition will take at least five and maybe as much as ten
years, and that’s not counting Microsoft’s sabotaging such efforts.
Recently more and more readers of this paper point out that this ideal OS already exists
in the form of Apple’s OSX 10.2. And they do have a point: OSX consists of a
FreeBSD kernel with a user-friendly GUI on top of it. Unfortunately OSX is still too
hardware-dependent --it runs exclusively on Apple hardware-- and Apple is unable to
change this. Not for technical reasons; porting OSX should be fairly trivial. The
problem is that Apple cannot survive without their hardware sales. OSX on other
platforms such as the PC could very well ruin Apple’s hardware sales figures and mean
the end of the company, even though OSX is likely to perform much better on Apple
hardware than on PC hardware. (Apple’s hardware architecture is less burdened with
legacy issues and performs better in general.) Then there’s the fact that Apple is
financially fairly dependent of Microsoft and of course the Mac version of MS Office is
their only toehold on the general corporate desktop. The bottom line is that Apple
cannot afford to challenge Microsoft, so OSX is not going to replace Windows anytime
A set of well-designed, robust, stable and user-friendly software for office
environments running on inexpensive hardware such as the PC would be a true
innovation. But Microsoft clearly isn’t up to that job, and thanks to Microsoft’s
marketing strategy, we can’t expect it from anyone else either, at least not in the
That is why I hate Microsoft. Microsoft isn’t the answer. Microsoft is the question. And
the answer is "No".
Mr. Gates, Mr. Ballmer, I’ve upped my standards... so up yours.
78 of 81
Why I hate Microsoft
79 of 81
Thus endeth the diatribe.
Table Of Contents | Previous chapter | Appendix B
Appendix A: A brief overview of Windows’ most
serious design flaws
The Windows architecture has many design flaws that no amount of patching or
updating can ever remedy. Readers of this paper have indicated the need for a brief
The following list is by no means comprehensive, but only summarizes the most serious
structural shortcomings that cripple the Windows operating system.
Limited memory protection and memory management. This problem exists
primarily in versions prior to Windows 2000. When an application contains bugs
or otherwise runs wild, it may write to memory locations outside its own memory
space, thereby crashing the entire system. Attempts to allocate more memory than
is available often generates an exception, causing the application to crash instead
of allowing it to recover gracefully. Similarly, out-of-boundary reads are also
possible, which potentially compromises security.
Insufficient process management. The OS relies heavily upon the application to
release allocated resources. If an application hogs resources or fails to release
them for some reason, either while running or upon termination, the OS often
cannot reclaim those resources. Nor does the OS offer an administrator full
control over processes and resources.
No adequate separation between user-level and kernel-level code. An
application may install DLLs or drivers. This introduces essentially uncertified,
third-party code to the system, that may run at kernel-level, i.e. completely
unprotected. Applications may also introduce modifications into the registry
without any protection or verification whatsoever, which may cause other
applications or even the OS to crash. This seriously compromises the reliability
of the entire system. In fact Windows is the only major operating system in the
market that may break whenever a user installs an application (essentially a
user-level operation). In Windows 2000 and later a simple driver signature
system has finally been implemented, but in practice this is not sufficient to
No adequate separation of different kernel-level code types. Drivers, for
example, should contain driver code. They should offer the OS an API to
interface with the underlying hardware. In Windows however a video driver may
also contain virtual desktop code and other nonsense. Not only does the presence
of user interface code in a hardware driver illustrate the messy nature of the
Windows code’s organisation, but it also leads to ridiculous issues such as system
tray icons disappearing due to a bug in the video card’s driver. (Nvidia comes to
mind.) In a well-structured OS this would never happen.
Lack of meaningful error messages. Whenever an error message is displayed, it
rarely tells you exactly what the problem is. Nor does it give you enough details
(e.g. an error or condition number) that would enable a support technician to trace
the cause of a problem.
No maintenance mode. When one or more of the 10,000+ files that make up the
Why I hate Microsoft
80 of 81
OS become corrupted, there is no maintenance mode that allows you to bring up
the OS in a controlled state, doing repairs along the way. ’Safe mode’ merely
swaps configurations but offers little additional control. The OS either runs or
crashes. The Windows 2000/XP Repair Console (an external utility on the
Windows CD that may be run from the setup routine) does not allow you to run
the OS in a maintenance mode, it merely allows you to access the file system of a
broken Windows installation. Even finding out which files have been corrupted is
No code sharing. Only DLL code can be shared, which makes up only a tiny
fraction of the entire OS and application code.
No version control whatsoever on DLL code. The OS cannot distinguish one
DLL from another one with the same name, even though they may contain
entirely different code. Installers can, but generally don’t bother with it (beyond
warning the user that version x is about to be replaced with version y). The OS
however will happily load whatever code is present in the DLL file it happens to
A very rudimentary and weak security model. Microsoft products have the
worst security rating (and track record) in the industry. Their developers seem to
have been completely unaware of even basic security issues.
Rudimentary multi-user support. Being the offspring of a stand-alone,
single-user desktop OS, Windows can only be implemented in a LAN (or any
other environment where users share computing facilities) by means of
cumbersome workarounds and kludges. Multi-user applications (e.g. Citrix,
Windows Terminal Server) is even more problematic.
OS code, application code and user data cannot be maintained separately
from the OS and from each other. The OS is even designed to prevent this.
Applications need to be "installed" i.e. integrated into the OS, a procedure that
adds to or even overwrites part the OS fileset, may overwrite other application
files or (registry) settings, and usually requires an OS reboot. The installation of
one application may break another application.
Windows does not follow global protocol standards correctly. It even
deliberately ignores them in favor of proprietary implementations.
Windows’ API is only partially documented. Much of the operating system and
the API remain essentially a black box to third-party developers. This causes
problems during application development that often cannot be traced. Developers
are forced to use workarounds, and may even be tempted to circumvent or ignore
the API altogether. This, and the fact that nobody outside Microsoft really knows
what goes on in the underlying code, leads to application software that won’t run
correctly (if at all) on updated or new versions of Windows.
Windows’ code is a collection of bad programming practices. It contains a
huge amount of sloppy code and kludgey design, which results in an extremely
glitchy and buggy end product. (A good example of sloppy programming is
buffer access, which is routinely left unchecked in release versions of all
Microsoft products. As a result of this amateur approach, Microsoft products are
riddled with buffer overrun vulnerabilities. Of course buffer overruns don’t only
occur in Microsoft products but are also found in other software on other
platforms. But the difference is in the numbers.) Bloated code has made
Windows’ efficiency the lowest in the market, requiring more resources and
yielding less performance than any other OS in existence.
Table Of Contents | Appendix A
Why I hate Microsoft
81 of 81
Appendix B: links
Microsoft crash gallery An amusing (or depressing, depending on your point of
view) collection of screenshots that illustrate the many ways in which MS
products are prone to crash.
Windows NT and VMS: the rest of the story Is NT really New Technology?
"Why Open Source Software / Free Software (OSS/FS)?" This paper by David A.
Wheeler provides quantitative data that, in many cases, using open source
software / free software is a reasonable or even superior approach to using their
proprietary competition according to various measures.
Jerry Pournelle referred to this article on his Chaos Manor website, but disagreed
with me about the early history of Microsoft and Windows. Here is a transcript of
the discussion that followed. (This is in raw text format because I can’t be
bothered to convert it to HTML).
The Netcraft uptime top-50 lists webservers by average uptime. As I write this,
Windows NT/2000 and/or IIS aren’t even on the list!
Georgi Guninski is a Bulgarian security consultant, who hunts security leaks for a
hobby. Needless to say, Microsoft keeps him quite busy. Don’t let his
less-than-perfect English fool you; I believe this man holds the unofficial record
for discovering MS security leaks. Read it and weep.
Windows NT vs. CP/M
This is how one user felt about Microsoft...
Billgatus of Borg on the cover of Boardwatch magazine
A new NT 4.0 logo
What users thought of Bill Gates
Look here if you thought this page was bad... :-)
Windows 2000 buglist
Microsoft Linux - at last!
Microsoft acquires de facto monopolies in education Catch ’em while they’re
The best bluescreen ever If the Blue Screen Of Death looked like this, I wouldn’t
mind seeing it so often! :-))
MSBC The Microsoft Boycott Campaign, including the Superlist of anti-MS
This The is probably the best way to install Windows
Computer rage Tales of woe from the field
Remarks by Steve Ballmer. Read a transcript of an interview with Steve Ballmer
where he (rather weakly, IMO) tries to defend the new Software Assurance
licencing scheme in response to critical questions frOm his customers.
Table Of Contents
Comments? E-mail me! | Home
Contents copyright © 2004 F.W. van Wensveen - all rights reserved.