Posted
by
kdawson
on Thursday February 01, 2007 @08:55AM
from the imagine-the-possibilities dept.

wellingj writes "Microsoft has applied for a patent that sounds on the face of it like it ought to improve OS stability and reliability: the patent proposes to modularize device drivers much like Linux does. But, going further, Microsoft would apply DRM to these modules — as Groklaw puts it, 'using modularity plus DRM to restrict and contain and enforce.' The net result is that you might have to pay extra for OS hardware support. Things like USB keys, DVD-ROMS, Raid drives, and video cards might not be supported out of the box. LXer indulges in some dystopian speculation."

Suppose, for example, that you want to use the latest and greatest video card. You already pay for the drivers - there's a reason why cheap video cards crash the system more often than expensive ones. Now, apparently, you'll need Microsoft's permission to write drivers for your own device. So now you get to pay a little more for hardware and drivers.

Perhaps one of the last compelling reasons to use Windows is hardware support. Every PC device made today comes with Windows drivers, and most can be installed by even non-technical people. Take that away, and there's not much reason for the average user to run Windows - Linux is more stable, and does things like email, websurfing, and document editing just as well, or better than Windows, and at a fraction of the price.

This is great for Linux. I would love to see MS apply DRM to drivers. The first time I can install HW under Linux that doesn't run in Windows, I'll know that it's the beginning of the end for MS.

It's a nice patent. One which would never get implemented by an astute company. Honestly, now that Windows costs more than the machines on which it runs, I'm wondering where they could possibly go with this.

This sounds like a replay of IBM's MCA system, where devices were 'signed' and wouldn't work unless the system recognised their 'credentials'. I wonder if this could count as prior art, although the 'software module component' would probably allow it to slide by.

I'm going out on a limb here, but I suspect this is much less about charging money for drivers (though it could be an additional step to charge money for OS add-ons). I think this is supposed to be an anti-piracy step. In this way, not only does a person have to crack the serial number for the OS, the license activation, and the WGA piracy detection...now they are also forcing you to crack the DRM mechanism preventing you from installing drivers for your hardware.

I have to give them credit. The serial number, license activation, and WGA software were all really obvious and easily broken protection methods...but this one would possibly be pretty tough.

I think another comment was on the right path, suggesting that this will drive a lot of people off of windows and onto linux. All MS is doing is cutting down on the number of pirates using windows. Less users means less people pirating and using other software on windows. Less pirates using the software also means more people who are telling all of their friends about a different (and legal) way to have free software. Obviously, as more people switch away, it's that many more people that will also encourage their friends to switch. If microsoft ever uses this technology on actual drivers and not just special case software, it'll likely drive people away at a pretty alarming rate.

Patents are privileges to _prevent_ someone else making something, not permission to start making something.* Microsoft holding this patent also means that they can _stop_ other companies (e.g. sony...) from locking down their hardware - i.e. Microsoft could even use this patent for arguable "good", stopping any "decommodified" computing platform (because microsoft _like_ the commoditised PC platform, they just dislike when commodification happens in software (i.e. open source))

* e.g. Sky [Fox] has a UK patent on advertisement skipping in TVs. They can stop anyone else who wants to make things that skip adverts. As they are in the business of selling advertising slots on their TV channels, they can therefore make sure adverts they want to be seen are seen, because they can stop anyone making or selling unauthorised fully-functional advert skipping black boxes (or third-party advert skipping Tivo-like devices). Is this a blatant abuse of the patent system? Yes, if you're naive enough to believe patents are about rewarding innovation (but europe, with a longer memory than the USA, generally barely even pretends patents are about anything other than preventing real free market capitalism).

I hate to say it, but the Linux device driver model is inferior to Windows. Many device drivers directly access things in task_struct. Of course fields often change between Linux kernel releases. You ever wonder why nVidia drivers are so problematic across different kernel releases? Yes, this is no problem if every device driver is open-source and recompiled with each kernel release. Sorry, but the entire world does not accept open-source, including nVidia.

Windows isn't perfect, but the Windows 2000/XP/Vista device driver model is fairly good. For the most part, nVidia device drivers released in 6 years ago will still work with the latest "service pack" of Windows XP.

So are you suggesting that MS have the intention of preventing their competitors from doing what would appear to be anti-consumer behaviour.

No, I'm saying they could if they wanted to. I wouldn't hold my breath waiting for microsoft to do anything particularly pro-consumer...

Actually, microsoft, unlike most companies, are convicted monopolists. Why the _hell_ keep handing them copyright and patent monopolies on a silver plate? Financial penalties are relatively meaningless - the _first_ penalty for a monopoly should have been stripping them of their state-granted monopolies...

It's not another tool for a monopoly as they already have that. This is a tool for getting the Holy Grail of sales: constant revenue and the ability to present a very low "teaser" price that virtually NOBODY can call you on (as they have to spend much more to get a workable system.) It also gives them extreme control over your computer, both the hardware and software. This allows for guaranteed ability to always be in the position to sell you something, even sell you things that are free. I'll give a few examples:

1. There could be a module that is required for non-Microsoft applications to use system resources like disk drive access, RAM access, network access, display access, etc. Microsoft would of course make people pay for this and it would automatically add whatever the fee for this is to the cost of whatever non-MS software to the cost of running that software. (Of course, MS software will run for free on your system.) This could be used to price competitors out of the market and MS could hide behind some shady "quality assurance" reason for doing this if they are sued.

2. Microsoft could sell subscription-based modules for HDD access beyond merely running certain programs, and if you do not keep the subscription current, then the module (which contains the drive) gets locked and encrypted.

3. You could be forced to pay for more modules if you change your hardware. Say a $2/month module supports 1GB RAM, but if you want 2GB, than you have to buy another module or your extra RAM is dead in its tracks.

4. Microsoft would be free to change the price of their modules at will and if you don't pay, your computer would be locked up and completely unusable, the data on it inaccessible by any means, even yanking the HDD out and putting it in any other machine.

All of these scenarios are possible with this plan. Will they happen? My guess is it will be like the frog in the pot scenario, where there is a little bit of this at first and then as people accept it, it gets ratcheted up.

Let's be honest here - just because you're installing the "unified driver" doesn't mean you're following the same code path under the hood for your new card vs. your 3-year-old card. It's more like a unified installer with common shared objects statically linked in and specific code for each and every GPU and special card feature. New code is added for new cards, old card-specific code is abandoned in-place. There is very little actual unification where it matters for stability - folks doing enterprise graphics support know that new drivers become unstable for old cards every time there is a major feature release. The reason companies buy a Quadro FX for twice the cost vs. a GeForce is so the manufacturer will actually fix the bugs.

My guess is it will be like the frog in the pot scenario, where there is a little bit of this at first and then as people accept it, it gets ratcheted up.

I'm pretty doubtful Microsoft could pull that off. Microsoft has lots of customers, but I hardly know anybody who likes Windows. Many of them aren't aware of alternatives, but Apple has become a house-hold name with iPods, and lots of people know they also make computers. I can't tell you how many people I know who are planning on a Mac for their next computer. Linux is also becoming a much more viable option for the desktop. I've run into more and more people recently who are in fields completely unrelated to computers, but run Linux (usually Ubuntu or Suse) and like it.

The frog is already pretty uncomfortable. If Microsoft plans to ratchet up the heat, they need to do a better job at silencing the other options, or it will be more of a rats off a sinking ship scenario.