Abstract:
XP was obsolete by ordinary standards of computer science in 2001 when it was released and remains today inferior to other operating systems such as GNU/Linux.
Part I
Introduction
In a meeting of a committee for information technology, the statement was made that Windows XP was obsolete when it was introduced in 2001. This brought comments of “Windows bashing” and “negativity”. Here, the case will be made in support of the assertion. What makes an operating system obsolete can be issues of quality, reliability, features and the availability of something better. GNU/Linux was better than XP in 2001. It did not crash. It had all the features we needed.
Part II
Properties of a Good Operating System, circa 1970
Forty years ago, computer science was thriving. Universities had access to a variety of expensive but barely affordable main-frame, mini and, about 1974, micro computers. The knowledge of what a operating system needed to do and how to develop reliable software were being developed. The first GUIs emerged. UNIX emerged. UNIX was the standard operating system of computer science for several reasons:
ATT had developed UNIX for the purposes of their own business but
had realized that UNIX had market value.
- They shared the source code with many universities so that a wider range of higher expertise could be employed to improve the operating system. This code became so much superior to most other commercial operating systems that it became the standard for large businesses and universities around the world.
- Eventually ATT decided to cash in and made the licence for the binary and source code very expensive and restrictive. A legal suit resulted in decisions that BSD (Berkeley Software Distribution) was sufficiently unique and mostly not created by ATT that ATT had not the right to restrict it.
- From this codebase evolved many operating systems: Mac OS/X, FreeBSD and the networking stack in Windows after it was shown repeatedly to be superior.
One thing that most UNIX operating systems lacked was a decent programming language. C was a crude language, but, because it had been used to write the original UNIX operating system it became widely used to write most important software on the market today. C lacked a mechanism called “garbage collection” which recovered resources left over from terminated processes. When programmes work with dynamic data structures, they request storage from the operating system and when properly executed and designed should return that storage to the operating system. This does not happen well if the process dies suddenly or if there is an error in the programme. Other languages automatically recall all storage issued upon the death of a process, but not C.
This defect is present in most operating systems and requires a greater
effort at debugging and testing to ensure processes do not die unexpectedly and that resources are returned.
A good operating system follows the KISS principal, “Keep it Simple, Stupid!”, because the simpler any code
-
the easier it is to debug,
- the more efficient it can be in terms of speed of execution and use of resources (utilizing the same algorithm),
- the easier it is to document so that staff turnover/growth does not unduly increase the rate of errors in modifications and additions to the code, and
- the fewer undetected/unfixed bugs will be in it.
A good operating system can run for years under a full load, starting
and stopping many processes, without a failure. e.g. Netcraft monitors
as many web servers as it can find on the Internet. The November 2008
report from netcraft summarizes the results of observing 185 million
web sites. Windows 2003, which is far more reliable than XP because
it does not have all the desktop tools and users needs to be rebooted
much more frequently than a UNIX operating system.[reboots, reboots2, bleed]The
feature of GNU/Linux that makes it far superior to XP is that large
distributions of applications, the operating system and its drivers
are all checked out together in the beta stage. XP was a beta project
when it was released and it had many teething pains with the applications
that were ported to it. GNU/Linux when released was tested with all
the applications and driver in its distribution. Currently, Debian
has tens of thousands of sofware packages that are down to a level
of a few hundred known bugs. XP shipped with tens of thousands of
bugs.
The basis of the rapid development and high quality of GNU/Linux software is the use of FLOSS development model. A developer does not need to pay for a licence for a number of different software libraries and does not need to create his own. That leaves him much less work to do because the nuts and bolts already exist. Microsoft has similar libraries available but the software that uses them is only portable to Windows. Further, the application/project is distributed at very
low cost. The libraries distributed by Microsoft make second-class
citizens of developers because Microsoft has one API for itself and
another for potential competitors. GNU/Linux gives everyone equal
opportunity which inspires innovation.
Part III |
The rebuttal that Windows XP is widely used does not counter the argument that XP was obsolete when it was introduced in 2001. XP and other recent Windows operating system all deviate from the known characteristics of a good operating system.
XP is not simple. Microsoft deliberately chose to integrate many interlocking features into every part of the operating system from the user interface to the kernel. They did this to provide features and performance that competitors could not duplicate because they had no access to Microsoft’s source code. This made the use of any other operating system or competitor’s application a jarring experience so that users would perceive that Windows was a superior operating system. The purpose of an operating system is to provide a uniform interface between users, applications and hardware, not to promote one supplier’s software. This complexity introduced many opportunities for bugs and malware to operate on an enormous scale compared to other operating systems and was used by Microsoft to exclude competition from the market.[tying] What Microsoft was doing actually gave users a uniformly poor performance with all third-party applications developed for Windows which became
very poor when ported to another operating system. When Microsoft
wanted to put any competitor out of business they had only to use
their private, preferred API to magically gain superior performance.
After a decade of this, developers are writing web applications that
do not require Windows on the client or server because it is easier
and avoids the API trap.[API]
- XP is terribly insecure. Because it was designed as a single-user system, no thought was given to security until malware from the Internet raged through the XP mono-culture.[2007, insecurity, shatter]
- Backwards compatibility, intended to make transition to new versions easier and migration to other operating systems harder, and increasing lock-in, actually copied bugs from the 1980s into XP. [backwards]
This is one of the key reasons why XP was obsolete when released.
It does many things the same way as DOS. - XP is slow. Microsoft deliberately wastes computer resources so each release needs new hardware.[slow] Tests on the PCs in the
lab show booting to a log-in screen takes 45s with GNU/Linux or XP
(largely determined by speed of storage) but after entering credentials,
XP takes 75s to get a usable desktop while GNU/Linux takes 7s (largely
determined by the presence or absence of bloat). The difference is
feature-bloat. This pattern of ever-increasing bloat reached new highs
with Vista. Employees are actually suing employers for long boot-times.
Employers are refusing to pay the employees while they wait for a
usable desktop.[boot]
- XP is difficult to administer. Because there are so many features, updates, vulnerabilities, patches, licences, versions, and bugs, a system administrator has much more to do that with a UNIX operating system:maintain accounts, backups, and to install useful stuff.
e.g. a school division moved from 300 Windows stations to 1400 Solaris
(a UNIX OS) stations without adding any support staff and the support
staff had much more time for planning and organizing after the change.
Sun claims for their Solaris/thin client setups:”Reduce Administration Costs – One administrator may now easily manage thousands of desktops. Stateless thin clients require no management or maintenance ”[hard]
In Easterville, I was system administrator for a school running GNU/Linux. That task took about five minutes on an average day for 153 seats and 700 accounts. Here, I spend more time than that resetting passwords. At Easterville, I created 700 accounts in five minutes and only had to reset passwords a few times. Here, I have to type the
administrator’s password dozens of times per day. At Easterville,
once every few days was enough. I could access everything I needed
to access from my ordinary user account without typing the root password, in a secure manner, with stored keys. I could log into any computer in the system without leaving my chair. This is what the legacy of being a networked operating system from conception means. Windows
had no concept of a network and jumped into the game late, breaking
things. They used a GUI to do things that were best done using a keyboard. Imagine creating 700 accounts clicking a dozen times with a mouse for each one. Imagine having to visit every PC to install software
on it. With GNU/Linux or other modern operating system, there are
tools in the system to expedite all those things. The Windows way
of doing things may work for a single PC at home but it does not work
for schools.
- XP squanders resources. Consider our lab. Using XP, we have 22 gB of RAM in the clients alone and several gigabytes on the servers. Using GNU/Linux, and thin clients, we could cut memory on a client to 256 MB or less and increase memory on the server for a large net decrease (24gB – 4gB = 20gB) in memory with no decrease in performance except full-screen video. For video, one needs much more memory on the client to buffer data from the server. The difference is that Windows was designed as a single-user system and does not share memory between processes. UNIX has been doing that well for decades. The server running with 8gB RAM could run the whole school. [resources]
Then there is disc storage. We have 22 X 40gB = 880gB of storage almost
unused on the clients. Yet our servers are short of storage. We have
22 X 1600MHz = 35 gHz of computing power tied up in our XP clients
in the lab utilized about 1% when students are browsing, a colossal
waste. It would take much less power than that to run the server and
it would be well utilized. One good thing about our implementation
of XP, because we write files on the server our clients do not have
fragmented hard drives.
- XP is useless without a server because of the weight of system administration. Tools on the server manage accounts/security/storage/printing. Without the server we would have a bunch of home-style personal computers each needing individual care by the system administrator. Typically, a Windows server does about one-third as much work as a UNIX server. We have 7 servers, all idling, partly because we use XP. In Easterville, MB, I built a system for a school with 153 seats and three servers could do the job easily. One would have done if the school were not so long that two network segments/server rooms were needed. We have 75 seats working, sometimes. One UNIX server costing a few thousand dollars could easily run our school these days, thanks to Moore’s Law. Throughput of servers running GNU/Linux is 50% higher than Windows by some measures and lower downtime increases the margin further.
[put] - Licensing is unnecessarily complex and expensive. Many businesses pay more than they should because it is impossible to know what is the best deal.[SA] The terms of the licence are so complicated that many businesses find it difficult to follow and the cost of being caught out of compliance can be very large.[BSA] Microsoft
also pressures businesses to buy more and more expensive licences
than needed.[tactics]
- Rather than merely providing an operating system which manages resources between users, applications and the hardware, XP is a tool of Microsoft to exclude competition from the market. They have been able to maintain very high prices and provide substandard performance and still remain dominant because of these practices. Not only is this evidence of a bad operating system, it is illegal as has been demonstrated in courts in the USA and the EU. In particular, Microsoft “embraces, extends, and extinguishes” innovations of competitors, for example network protocols, and tying Microsoft’s products to the operating system in such a way that these products have innate advantages over competitors’ products in distribution and features. As the features often result in instability, poor performance, and avenues for malware, these are indications of a poor operating system. Other operating systems of the time did not exhibit these characteristics. e.g. GNU/Linux was and remains vendor-neutral, being based on open standards. Attempts by the Samba group to interoperate with Windows were stifled until the EU ordered Microsoft to divulge specifications of protocols that had been embraced and extended.[EU] Apple did use these
same tactics but as they are not and never have been a monopoly, they
did not harm the market except for their own opportunities in it.
- XP has a definite end-of-life date set by Microsoft. It has passed. In 2001, it was known that XP would expire eventually and a forced upgrade of hardware and software would result. GNU/Linux has no such end-of-life date because we could, in theory, obtain the source code and maintain it ourselves. As the school does not have the budget/manpower for this, it was obvious that eventually a GNU/Linux system would need migration as well but the system as installed would have worked indefinitely. XP is tied to Office that changes file formats on each release and this forced users of Windows to migrate eventually as they will no longer be able to open files sent from more recent releases. The operating system I used in Whale Cove in 2000, Caldera GNU/Linux could still have been functioning today except that .odf replaces .sxx as a file format in OpenOffice.org. OpenOffice.org can now produce .sxx and .pdf. It is not a good characteristic of an operating system that one is forced to migrate on the schedule of a corporation. One
should normally do it at the end-of-life of the hardware to avoid
re-installing. As hardware for clients can easily last ten years,
a forced upgrade from XP in 2008 or so is definitely an undesirable
property. Businesses have confirmed they do not intend to migrate
form XP to Vista simply because they get no benefit form Vista and
it is a huge cost. [KACE]KEY FINDINGS
60% report that they have no plans to deploy Vista at this time,
up from 53% in the 2007 survey
- 92% say Vista Service Pack 1 has not changed their plans for Vista deployment
- 14% report they have delayed their Vista deployments while they wait to hear more about Windows 7, and an additional 14% say they will skip Vista to wait for Windows 7
- 83% of participants say they are concerned about the compatibility of required business software with Vista
- 42% have considered deploying non-Windows operating systems to avoid a Vista migration compared to 44% in the 2007 survey
- 11% are already in the process of switching operating systems, up from 9% in the 2007 survey, and a further 30% expect to switch within the next year, up from 25% in 2007
- Mac OS is the most likely operating system to be deployed in place of Vista (29%)
One can see dramatic differences in uptime of servers running Windows and various UNIX-like operating systems at NetCraft.com. The fragility and poor managability of Windows make it a poor choice for servers. Desktop systems demand even more so XP and its kin are not good choices for an OS.
Part IV
GNU/Linux at the Time of the Release of XP.One could make the argument that XP was the state of the art and so was widely adopted but it was not. I know that time very well because I was introduced to GNU/Linux the year before XP was released and implemented GNU/Linux on my own on a cluster of desktops in my classroom. On five machines we had not one crash in six months of daily use. The machines were left running 24×7 because they were so slow to boot. These were Pentium Pros with 72 MB RAM and 800-1000 MB hard drives. I fondly remember being able to tidy up errant applications from the gui with xkill.[xkill] We used StarOffice 5.2 (a precursor to OpenOffice.org) and Netscape, the browser that Microsoft effectively killed by illegal anti-competitive actions. The next year, XP was
released and people who used it had so much grief. Driver problems,
crashes, and re-re-reboots. Companies actually sold products that
could inform the user when XP was about to crash so they could close
files and reboot.[crashes]Many installations of GNU/Linux were successful since about 1995.
Several of the classic distros like Debian and RedHat were active
and the software was developed and tested openly with all bugs publicized. This made development rapid and reliable unlike XP which evolved from NT in those days but in a closed shop strongly influenced by sales strategies and plans to kill competition rather than technology. Netcraft tracked the emergence of GNU/Linux on the web. It’s presence grew rapidly and its dominance over Windows remains today. With the advent of XP, there was strong pressure to use Windows servers but that cooled in the face of reality. Microsoft had nothing to offer that GNU/Linux could not at the time. The uptick in 2006 is again nothing but a marketing ploy. Microsoft paid large hosting systems like GoDaddy.com to switch to Windows Server 2003. GoDaddy.com uses Windows 2003 Server to host inactive sites/placeholders.[GoDaddy]
Figure 3: Netcraft Server Counts 1995-2008
Shortly after XP was released there were major migrations to GNU/Linux because XP/2003 was much more costly and less reliable than GNU/Linux. Extremadura, Munich, and Andalucia were in the news. Even when Microsoft cut prices to stay price-competitive with GNU/Linux in Munich, Munich valued the future costs and manageability of the system ahead of short-term costs. One migrates to GNU/Linux once but upgrades Windows licences forever. The per-seat cost advantage of forever is very large.[Andalucia]
GNU/Linux would not have this spectacular growth rate if XP was a
great operating system, technically. XP has improved since 2001 but
this is in response to the phenomenal growth of competitors like MacOS/X
and GNU/Linux.
