From
http://linux.slashdot.org/linux/06/05/14/2059242.shtml
http://linux.slashdot.org/comments.pl?sid=185752&cid=15331289 by by swillden (191260)
see other threads too
Copyright law prohibits the creation of derived works without permission, and the GPL does not grant that permission unless you distribute source. So the question boils down to "Are the binary-only modules derivative works under the law?".
The answer is: yes and no. The modules come from ATI and NVidia in two parts: a binary-only part that contains all of the interesting code, and some "glue code" that is distributed in source. Both parts have liberal redistribution permissions, which makes the GPL happy, so the big issue is source.
The argument is that the core, binary-only components of their drivers are not derived works of Linux, since they contain no Linux code (not even any headers) and I think they even claim that the same binaries are used on other platforms and wasn't developed specifically for Linux, at least in the beginning. The glue code that they distribute that wraps the binary-only component is clearly a derived work of Linux, but they distribute the source to that.
When a user compiles the glue code and links it with the binary-only component to produce a kernel module, the result is a derived work of the GPL'd Linux kernel. Note that I didn't say "and loads it into a running kernel". That's not really relevant. Technically, it's somewhat unclear whether the GPL gives users the right to create otherwise unauthorized derived works, but the general interpretation (including by the FSF) is that people can do whatever they like, and it's only when they start distributing that the question of whether or not the GPL has granted them permission becomes important.
When someone takes that same compiled glue plus binary module and distributes them, they're distributing a derived work of Linux, without complying with the terms of the GPL, and therefore without permission to distribute under copyright law.
I think it's quite clear that Kororaa cannot do this without infringing Linux copyrights. The only way they can justify it is if they can argue that the binary kernel modules (glue + core binaries) are not, under the law, derived works of Linux. That seems like a tough one, but IANAL, so maybe it's possible.
other threads
http://linux.slashdot.org/comments.pl?sid=185752&cid=15331252 by xenocide2 (231786)
- simpler with kernel drivers than to maintain an external driver
- reverse-engineered drivers may be recommended by the vendor :/
https://linuxfr.org/2006/08/27/21252.html [fr] rétro-ingénierie pour une imprimante
http://zc0302.sourceforge.net/zc0302.php?page=docs [en] Here are some documents about usb and reverse engineering usb.
http://www.foo.be/re/ [en] reverse engineering