Re: [PATCH] USB: mark USB drivers as being GPL only

From: Christer Weinigel
Date: Mon Feb 04 2008 - 14:18:21 EST


Diego Zuccato wrote:
In the cited example it's illegal to go outside certain parameters SOMEWHERE (if it was illegal everywhere, the the hardware shouldn't allow it and the sw could do nothing... not considering hw mods).
Another example is WiFi: USA, Europe and Japan allows a different number of channels. But every AP I have had simply asks which country the user is in, then allows only a limited choice for the channel to use.
If I'm in Europe but tell my AP that I'm in Japan, it lets me choose channel 13 (Europe allows up to ch 11). If the "cops" find it out, they prosecute ME, not my AP! It's not a TECHNICAL limit, it's a LEGAL one.
So there's no point in keeping a driver closed *just* because else someone could hack it to make it work outside the allowed parameters: even a closed driver is hackable (just reverse engineer it...).

Think about this scenario: a closed source driver contains:
if(power<100)
setpower(power);
else
setpower(100);
to limit tx power and make it legal. Then the user finds this 100 and replaces it with 255 (inside the binary-only module), actually allowing for more than twice (if power is in mW) the legally permitted power.
Is it legal?

I don't think so (and I doubt you can find any lawyer that does). But it's not THE DRIVER that's doing something illegal. It's THE USER.
It would be equally illegal if the driver was open source. Simpler to do, but equally illegal.

It isn't that easy. The "Tamper-Proof Torx" screws on a vacuum cleaner or a toaster won't stop anybody from opening up the thing, I mean every little hardware store stocks those Torx bits. But by using a slightly odd screw, the company can say "look, we'we done all we can to stop them, but the user bypassed our security device, and it's not our fault". Apparently Intel and Atheros are trying to protect themselves in a similar way, they Open Source everything except for the regulatory daemon (Intel) or HAL object file (Atheros). Why? Because they belive that if they give away the sources to those parts they do the software equivalent of putting a normal Phillips screw in a home appliance. (Personally I think what they are doing is ridiculous, but apparently those companies' lawyers dont' agree).

It's of course possible to argue that normal users don't compile their own drivers, they use a driver from their distribution maker, and compiling a hacked driver which allows them to override the limits is just as hard as it is for a Windows user to replace the driver binary with a hacked binary which overrides the limits, so hiding the source really doesn't help.

Another example: how do you detect, from a driver, if the user actually got a license/permission from the government (somewhere it's needed, or you need to pay an annual fee) to use the device? You can't. Does this missing check make the device illegal? Nope. Just its USE.

Welcome to the modern world, companies spend so much money on protecting themselves against potential lawsuit that it is silly.

/Christer
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/