Would you expect a 20-year-old Linux to install just fine on a modern PC? I remind you that this was the era of RHEL 3! I had trouble getting RHEL 6 running in a virtual machine just recently.
Meanwhile XP will run on most modern PCs, it’s just not supported. That means no security patches.
The mistake here is not Microsoft’s.
The mistake is your organisation’s for buying a half-million-dollar device with no support plan from the vendor for its control OS.
Software using a lib I wrote in 1998 doesn't work anymore but it's because I took a bad shortcut that made DOS-era assumptions, fixing/recompiling it would be the right course of action but I haven't had the time (also not sure where all the sources are).
On a contrary note, my first USB-Wacom pads STILL work after 20 years, it's not just software but a vendor that cared about it's software long enough to make 64bit drivers that still works.
As you said, the vendor isn't interested in upgrading the software and there is where the blame is, MS tries to keep backwards compatibility but some things has had to go for performance and/or security reasons over the years and those usually broke rules (or were tied to HW, Linux has dropped 386 and 486 after all).
If this is some multi-million dollar device then maybe keeping it up to date with windows should have been part of the deal...
Did you know windows is basically known for excellent backwards compatibility? https://www.joelonsoftware.com/2000/05/24/strategy-letter-ii...
I love my customer's maintenance department, they're unusually thorough and attentive to preventative maintenance, greasing and oiling and replacing wear items, root-causing failures and keeping the machines in good working order for decades. But when you keep fixing each individual small part that breaks, eventually the market moves on and you have to throw all the replaceable parts away and start over. The process requirements haven't changed, the weldments and castings aren't broken, it's just that you can't replace a failed servo drive or Core 2 motherboard or ISA card because the supply chain gave up on them 10 years ago. There's no great advantage of Windows 10 LTSC and a 64-bit Arm controller over Windows 98 with 56002 ISA cards except that I can buy the former today and I can't buy the latter because no one makes them anymore.
There is no control OS or hardware supply chain that lasts as long as military, industrial, or scientific equipment can be made to last. Fanuc and others try with massive vertical integration and a "never deprecate anything" mantra, but they don't run their own semiconductor fabs to guarantee production of chips for stuff that doesn't keep up with the rat race.
Yes, I'll keep supporting my company's gear for as long as possible, but sometimes the answer is that I need to throw away 4 working servomotors, drives, a controller, and a PC, and invest 600 engineering hours into making this machine do the exact same thing it did last week, because that 5th drive blew the IGBT and took out the controller and no one can get a replacement. Customers don't like to issue $100k invoices when a $1k subcomponent dies...because that $1k quote was from 2008, and it's now literally priceless.
Unfortunately, though, just using a CAN or Ethernet physical layer doesn't solve the problem of the https://xkcd.com/927/ standards proliferation of industrial protocols: Some customers require CIP motion over Ethernet/IP (a dog-slow Rockwell proprietary protocol), there's old MACRO fiber optic rings, Sercos III (and prior serial protocols), a dozen high-speed serial standards for communicating with absolute encoders, and, of course, good old-fashioned hardwired digital I/O - which might be either analog velocity/torque or step and direction, RS422 differential or single-ended, etc. etc. etc.
You'd hope that you could just plug something that spoke CAN or Ethernet into something else that has the same physical interface, and the two would work together. Sometimes, you get lucky and that works out. But the ever-forward march of industry leaves behind a graveyard of yesteryear's abandoned products and protocols.
E.g.: If you make 30 different kinds of industrial machines, have one controller board as an additional product for a total of 31 SKUs.
When the controller board is too old and no longer supported, make a new SKU that is backwards compatible with the old machines.
E.g.: Some televisions allowed the entire controller board to be swapped out, upgrading the TV's OS and HDMI ports with new capabilities. The panel and the case stayed the same.
Similarly, a CNC router or whatever is "just" some analogue wires that go into a digital board. Make the digital board swappable.
A similar mistake that I see is customers that are used to "archive grade paper" asking me how long digital backup tapes last. That's the wrong question!. The important thing is to be able to copy from old tapes to new tapes with full fidelity, which digital technology enables, but analogue technology does not. You can retain data indefinitely with digital media that lasts just a few years. Instead of trying to scrounge up some old floppy or CD readers, just copy the data to BluRay, then cloud storage, and then... whatever.
I see no reason why the data collection can't be managed by a highly portable console app running inside a VM or dos emulator or the legacy PC can't be kept behind a firewall that only lets data out.
Having been in this exact situation at a research institution with expensive equipment and Windows XP only software before - support.
Helpdesk and lower levels of back-end only pay a certain amount so turn over constantly, and “those PCs have had hot glue put in their ethernet jacks and USB ports and burning CDs is the only way to get data out” is a hell of a lot easier to reliably keep going than some esoteric system of VMs and firewall rules.
The people in the lab have way more tolerance for having to burn CDs than they do for firewall changes stuffing up their process and taking a while to figure out and resolve!
Only because I had the same thought and I feel like you might know more, is there an example of software that does this securely?
Command line Posix stuffgenerally works and Linux stuff works because Linus insists it should.
But what about the whole glibc debacle from about a decade ago? Entire distros broke compatibility.
And let's not get started with *nix GUI framewors and apps, those break compat more often than I change my socks :-)))
The reason is most likely... because the driver relies on APIs that were insecure and removed in the XP-Vista transition!
> The vendor for the instrument has no incentive to update that software either; they'd rather you dish out another half million dollars for a new sorter. > There are hundreds of instruments like this in any given research institute, all because Microsoft decided unilaterally that software that ran fine 20 years ago is clearly useless and doesn't need to run anymore on modern hardware that receives security updates.
So it's Microsoft's fault that the vendor won't update it's software?
Didn't this "elite institution" get a support contract for the machine?
Would they expect the driver and software to still work if it had been written for a PowerMac G5, running Mac OS X Panther?
Would a binary compiled 20 years ago even have a remote chance of running on Linux?
Yes. As long as it includes all its dependencies, it should work because the kernel never deprecates system calls.
So unless the vendor distributes the source for the driver interfacing with the machine, it shouldn't run on modern releases.
So it seems like to me they do care about legacy support.
Maybe you just need to pay for it
There are hundreds of instruments like this in any given research institute, all because Microsoft decided unilaterally that software that ran fine 20 years ago is clearly useless and doesn't need to run anymore on modern hardware that receives security updates.