To the ones who accuse me or Nvidia (which is not related to me in any way) of infringing the GPL or of anything else, I would like to point out that:
1) I DO NOT promote the Nvidia driver in any way. If you use the proprietary driver it’s only YOUR choice.
2) Both Envy and my repositories are meant to help those users who would use the proprietary driver even if I had never been born.
3) I receive many emails and posts in the (Italian and English) forums in which users ask me to keep both Envy and my repositories up-to-date every time Nvidia releases a new driver.
4) I don’t want to start a flamewar (actually I don’t want to start a discussion at all). You’re free to think what you like. Just DO NOT post on my blog to tell me what is moral or not. If you do, I will delete your posts.
5) Please, do not claim (at least not on my blog) that the Nvidia driver violates the GPL since Linus Torvalds himself is not sure about it. Here is Torvalds’ opinion:
The kernel _is_ GPL. No ifs, buts and maybe’s about it. As a result, anything that is a derived work has to be GPL’d. It’s that simple.
[…]
Now, the “derived work” issue in copyright law is the only thing that leads to any gray areas. There are areas that are not gray at all: user space is clearly not a derived work, while kernel patches clearly _are_ derived works.
But one gray area in particular is something like a driver that was originally written for another operating system (ie clearly not a derived work of Linux in origin). At exactly what point does it become a derived work of the kernel (and thus fall under the GPL)?
THAT is a gray area, and _that_ is the area where I personally believe that some modules may be considered to not be derived works simply because they weren’t designed for Linux and don’t depend on any special Linux behaviour.
Basically:
– anything that was written with Linux in mind (whether it then _also_ works on other operating systems or not) is clearly partially a derived work.
– anything that has knowledge of and plays with fundamental internal Linux behaviour is clearly a derived work. If you need to muck around with core code, you’re derived, no question about it.[…]
So being a module is not a sign of not being a derived work. It’s just one sign that _maybe_ it might have other arguments for why it isn’t derived.
[…]
[… T]hese days it would be hard to argue that a new driver or filesystem was developed without any thought of Linux. I think the NVidia people can probably reasonably honestly say that the code they ported had _no_ Linux origin. But quite frankly, I’d be less inclined to believe that for some other projects out there..
Here is the link to the discussion