is that many of the manufacturers have given up on making the equipment out of the box compatible with Windows.
Many years ago, the industry established a group of standard instruction sets for all hardware. This is what made 'plug and play' possible. For a short period, everyone used them. Then Microsoft started writing their Windows software using a different set of instructions, and you needed a driver for each piece of hardware to work with Windows, unless a driver was already in the Windows driver sets.
Many manufacturers decided to make their equipment more compatible with Windows, and started designing their new equipment to use the instruction set of the current Windows operating system. That's why some systems are just plug and use for Win 2000/XP but need special drivers for Win 98 etc. This worked well for the peripheral manufacturers for a short while. Then, in one of the XP service packs, MS changed part of the hardware instruction set - which is why some equipment needed new drivers after that SP was installed. The new XP drivers included both instruction sets. Since MS don't give out their instructions sets freely, the hardware manufacturers had to pay for them, twice; this upset a few of them.
Since that problem, some have gone back to using the generic instruction set, and writing complete driver sets for Windows. Because of this, any operating system using the generic instruction set will work with that hardware without the need for a special driver. Basic Linux, and most of the distributions, uses the generic instruction set. This makes it a lot easier to use hardware out of the box now.
If all the hardware manufacturers went to using generic instruction sets, and put the responsibility of writing Windows compatible drivers on MS, we'd see a lot of people move away from Windows. As it is, many people don't upgrade their Windows OS, as the new stuff doesn't have compatible drivers for their peripherals - especially their specialised peripherals. As it is, MS gets other people to do a lot of their work for them in this area, because MS uses non standard code.
Keep Up with TechRepublic