Sysadmin blog What if Microsoft announced it's not ending support for Windows XP next Tuesday after all, and instead will offer perpetual updates (for a small fee, of course).

Something inside me, somewhere between my sense of humor and soul-crushing cynicism, drove me to turn that dream into an April Fool for this year. But all cruel joking aside, there's a very real discussion to be had about this.

How Microsoft chose to handle the Windows XP end-of-life is a great starting point for a discussion about the ethics and obligations of high-tech companies.

Almost a decade ago, I would have counted myself as one of Microsoft's biggest champions. Server 2003 R2 and Windows XP SP2 were fantastic upgrades to their predecessors. Microsoft was innovating again in the browser market, and the results of a massive internal refocusing on security were becoming visible to plebeians like me.

Amazing new technologies were pouring out of Microsoft, and Redmond appeared to be listening to its customers. Partners were (mostly) happy with how Microsoft was doing things and developers were jumping into the exciting world of .Net. The promise of upcoming releases gave us hope that the hits would keep on coming.

Vista and the 2007 range of server software, Office and other applications arrived, and they were pretty awful. Hope turned to ashes, but it was hard to dispel the absolute and unshakable faith I had in Microsoft. I was confident they'd turn it around... even if Vista and RibbonOffice were going nowhere near my PC. (Boycotting an app suite is hardly a protest, mind. Microsoft is rather hard to kill.)

Three years later, Microsoft managed to crank out Windows 7 and the 2010 line of server software, Office and so forth. Life was good, but it didn't last. Windows 8, the "all stick, no carrot" push to get us subscribed to the Office 365 cloud, the SPLA licensing redux, VDI licensing and a thousand more terrible decisions mounted. A former loyal champion, I had become one of Microsoft's loudest critics. Why?

XP end of life

To understand what kinds of decisions destroyed my faith, let's examine Microsoft's handling of XP end-of-life: the decision to discontinue support, security patches and other updates from April 8, 2014.

The first thing I want to put out there is that I do agree that – all things being equal – upgrading from Windows XP/Server 2003 to a newer operating system is a Good Thing. Newer operating systems have newer security features (assuming developers take advantage of them) such as ASLR and NLA. The more widespread these technologies are, the more secure we all are.

If it were a simple matter of upgrading Windows XP to Windows 7 or Windows 8, I would be entirely willing to point to those clinging to XP and say "get your act together." Herd immunity relies on having enough of the herd immunized and that does require pushing the reluctant – and the cheap – into the future.

The truth is that things are rather a lot more complicated for a lot of people. Let's take a look at a real-world example from one of my customers.

This machine shop is family owned and operated. There are three owners with maybe 15 people working there during peak season. They turn over about $1m a year. Much of their equipment was bought in the late 1990s and is perfectly serviceable today. Equipment like CnC lathes that can only accept jobs from networked PCs running NetBEUI.

The companies that manufactured the equipment no longer exist. There is nobody to rewrite the code in that lathe. The machinists running the shop certainly don't know how to do it, and a forklift upgrade of all their gear would cost $7m.

Windows XP could be loaded up with the drivers to talk NetBEUI, though you did have to root around on the CD to find it. The company in question cannot upgrade to Windows 7, for there is no NetBEUI support; the equipment flat out can't talk to it*. These folks certainly cannot afford to plunk down seven times their gross annual revenue on new equipment.

Of the 57 clients I work with, 43 of them are in positions where they simply cannot upgrade all their Windows XP systems in use. The choices for them are "run an insecure operating system" or "go out of business." There are countless businesses around the world facing similar issues; indeed, Windows XP still accounts for more than 20 per cent of all detected Windows computers connected to the internet.

Microsoft can offer affordable security to these companies. It chooses not to.

The mathematics of trust

I have been told by people I trust to know such things that it should take no more than 25 full-time programmers to provide ongoing patching support for Windows XP. Let's double that number to 50 just to be on the safe side. Let's also assume that doing Windows XP support at Microsoft is so awful that we need to strongly incentivize these developers, so we'll offer them $500K per year. We'll double that figure to make sure the developers get good benefits and that we factor in administrative overhead.

Based on the above we get 50 x $500,000 x 2 = $50m as the cost of ongoing yearly Windows XP support for Microsoft.

In 2008 Gartner said that there were 1 billion PCs "installed" on the planet, and estimated 2 billion by 2013. That lines up roughly with a number of "people connected to the internet" figures I've seen. Windows' worldwide end-point share is about 50 per cent, so if we assume half those 2 billion devices on the net are running Windows, we get that same "1 billion installed PCs" figure from 2008. Given the "woe betide us, death of the PC" flailing of the past few years, a static installed base of 1 billion Windows PCs seems about right.

If there are 1 billion PCs, and 20 per cent of them are XP powered, we have 200 million WinXP boxes still floating about. If we presume that 99 per cent of them are XP merely due to "cheapness" and that only 1 per cent of installed boxes have a good reason to remain XP that leaves us with 2 million Windows XP boxes that have a good reason to keep on being XP boxes.

Microsoft likes three-year refresh cycles. The cost of Windows Professional is $200. That is $66.67 per year, but let's round that down to $65. Sixty-five bucks per host per year is something small businesses and individuals can afford.

If all 2 million XP boxes that have a good reason to be XP boxes pay the cost of a Windows Professional license every three years, in order to obtain ongoing support, Microsoft would bring in $130m a year. That's $80m of annual wiggle room for what are some pretty pessimistic figures to start with.