5 min read | 1345 words | 10 views | 0 comments
"Use Linux" is often touted as an antidote to the planned obsolescence that has come to characterize Windows lately, particularly in response to Windows 11's stringent hardware requirements. There is no shortage of articles online encouraging users to adopt Linux in response to Microsoft's antics. Unfortunately, it's not really that simple, and Linux itself is hiding some dirty secrets when it comes to its role in planned obsolescence.
First off, Linux is not viable for every use case. If someone needs to use Microsoft Office regularly, or any number of Windows-only programs, Linux quickly becomes impractical. (Yes, there are alternatives, like Open Office, but they all suck. Slightly better, we have Wine, but it has limitations as well.)
Secondly, Windows may be preferred for other reasons. Windows remains a far better operating system for workstations than does Linux. There's a reason Linux basically doesn't exist in the enterprise (or my home workstations) — Active Directory and Group Policy are a godsend for managing machines at scale. While regressions in the OS family the last ten years have been made it less compelling, you don't necessarily need to use Windows 11. I still run Windows 7, and I'm perfectly happy with it. Running an OS that no longer receives security updates isn't for everyone, but if you accept the risks, it's rather refreshing to use a no-nonsense OS that does exactly what you want and nothing you don't.
However, these aren't what I want to discuss here. Rather, it's the idea that has become quite prevalent that Linux is the solution to Microsoft's planned obsolescence. This is frequently espoused due to Linux's ability to run much better on aging hardware than Windows 11 can. However, this is somewhat of a convoluted argument to start with — Windows 7 runs better on older hardware than Windows 11 does, and Windows XP likely runs even better. In short, simpler, more lightweight operating systems inherently run better on pretty much any hardware. Yet, I rarely see people recommending reverting back to older versions of Windows as a solution instead, even if it may be significantly more practical.
Muddying the waters further is that nothing about Linux is explicitly anti-obsolescence. In fact, when it comes to planned obsolescence, Linux has more in common with Apple's Mac OS operating system, notorious for backwards-incompatible changes. Windows, by and large, tries very hard to preserve backwards compatibility. This has been perturbed somewhat by removals of key parts of the operating system following Windows 7, but even then, for the most part, many things that worked in Windows twenty years ago still work fine in Windows today. Windows is Windows, after all.
Linux, on the other hand, makes no such commitments to backwards-compatibility. Historically, its early evolution was chaotic and noisy, in contrast to the stability and consistency on which traditional UNIX platforms have prided themselves. (To be clear, the fast and loose approach characterized by Linux development has a lot of benefits, too — Linux has pioneered a lot of innovation in the kernel these last couple decades in a way that UNIX simply hasn't.) Even today, the kernel ABI changes frequently and unpredictably. (I say this as the de facto unofficial maintainer of DAHDI Linux, an out-of-tree kernel module. It seems like every other month, some kernel API has changed that breaks the build process.)
Linux has no qualms about obsolescence either — in fact, it's often encouraged if it can result in cleanups or simplification to the code base. This past May, Linux made headlines when it dropped support for 486 and early Pentium processors, 24 years after Microsoft had. Given the age of these platforms, the announcement felt more nostalgic than obsolescent — surely nobody is still running Linux on a 486 or early Pentium, right? Yet, it's quite likely that there were, in fact, people who had turned to Linux to continue to keep such hardware alive, and now using Linux — at least modern Linux, moving forward — is no longer an option.
An example closer to home is Linux's support for virtualization technologies. Hyper-V is my virtualization platform of choice on-premises, and I run both Windows and Linux instances on Hyper-V nodes. My main Hyper-V server is a Windows Server 2008 R2 one (my preferred Windows Server OS of choice, for similar reasons to Windows 7 being my preferred workstation OS of choice). Last year, I attempted to set up a Debian 12 VM under this Hyper-V server and found that, for some reason, the installer was broken — specifically, it could not detect the virtual hard disk created for it in Hyper-V. I did some more testing and found that it worked just fine with Debian 11, so it seemed a regression had occurred in the Debian 12 installer.
I didn't did too much into it at the time, though I did file a bug with the Debian project. The response I received? Hardly one reflective of a community bent on combatting planned obsolescence. One maintainer commented simply, "Windows Server 2008 R2 is EOL since a few years.".
Oh, does Linux now measure its support for platforms according to Microsoft's support lifecycle? That doesn't sound like a culture that particularly cares about combatting planned obsolescence.
It turns out, this was not a regression in Debian specifically, but rather in the Linux kernel — and an intentional one, at that. In a series of four commits, back in 2022, Linux removed support for Hyper-V 2008 and 2008 R2 / Windows 7. The justification for doing so? "These versions are now out of support (except for extended security updates)". In other words, Linux makes no guarantees about keeping your old hardware alive (for whatever reason you might be running an out-of-support operating system). If Microsoft has declared that you shouldn't be running said OS anymore, Linux is quite happy to follow suit and break it for you.
This is all officially confirmed in the kernel documentation for Hyper-V:
Current Linux kernels operate correctly with older versions of Hyper-V back to Windows Server 2012 Hyper-V. Support for running on the original Hyper-V release in Windows Server 2008/2008 R2 has been removed.
So, Debian was innocent, in this case, though far from unaffected. Debian 12, along with any other distros using a recent Linux kernel, won't run trivially on HyperV 2008 R2 (the live image does work, and an in-place upgrade from Debian 11 to Debian 12 might very well work, though it's not something I've tried).
The only practical solution is to keep a separate Windows Server 2019 instance around for testing newer Linux distros, which is something I do occasionally as part of my work maintaining the DAHDI kernel modules. I'm not pleased about it, as now it means I need to have two hypervisors running when just one would have done, all thanks to Linux's trigger-happy obsolescing finger. (I'm not going to move away from 2008 R2, as 2019, apart from suffering from all the horrible UI/UX problems that modern Windows has, is slow as molasses - just launching the Hyper-V console on 2019 takes the better part of a minute, as opposed to being almost instantaneous on 2008 R2.) As far as Linux is concerned, it's not their problem — I should update my hardware and software. The 486/Pentium example made headlines perhaps the code removed was so old — this is quite the opposite, Windows Server 2008 R2 has only been out of extended support now for two and a half years! Furthermore, the kernel commits removing support for it were made seven months earlier — in other words, Linux removed support for a platform for which, at the time, Microsoft still offered extended support!
As far as I can tell, this made absolutely no headlines at all when it happened. That the removal of support for software 24 years out of support made headlines while the removal of support for software that still technically was in support reflects a bias in the collective attitude towards Linux, especially by those who would like to believe that Linux will deliver them from the purgatory of planned obsolescence, rather than deliver them into it. But, the commits speak for themselves — Linux isn't quite the antidote to planned obsolescence that the media would have you believe. Quite often, it's part of it.
Log in to leave a comment!