Sorry to be such a late-comer to this thread, but I think there is a way to slice this without leaving lots of blood on the floor... only just a little. As I see it, this whole problem about kernel headers revolves around the argument that the header files are copyrighted and licensed under the GPL, so if you incorporate portions of the kernel headers in your binary module then it's considered a derivative work and must be GPL'd. I have no problem with this, provided that the fragments of the header files that make it through the compiler can actually have a valid copyright. The one example that was mentioned in the thread was the fact that the phone book is copyrighted, but the phone numbers are not. The factual content is not copyright-able. The other example, not mentioned in this thread is Westlaw. They take public court documents, annotate them, and publish them with page numbers and page references. The publication page references are their contribution to the work and they've been able to maintain their monopoly by squashing people who re-publish their page references without their permission. Here's the catch. If I took one of their books, removed all page references, made 10,000 copies, and sold it on the street for $10 per copy they would not be able to sue me for copyright infringement because I'm not distributing anything that they have copyrights to. Same thing with the phone book. If I ran the phone book through a program and stripped out everything except the names and phone numbers, I could repackage it, resell it, and never be guilty of copyright infringement because all I did was redistribute something that couldn't be copyrighted... factual content. My point is this: Not all of the lines in a header file can have a valid copyright.... Some of the content is merely factual, and some other parts are trivial math. Programmer comments are definitely copyrightable, but those are stripped out by the compiler. The question boils down to this: For a header file, does anything truly worthy of copyright actually survive the compilation process? If the answer is no, then a binary module cannot be a derivative work. If the answer is yes, then it is. The only way we're ever going to get a definitive answer is when this actually goes to court. But I don't think the answer will be very illuminating... It'll be like the time a Jesuit asked Richard Feynman if electricity was a form of fire, Feynman answered no, but it turns out the Jesuit was only asking the question so he would know whether or not it was moral to push elevator buttons on the sabbath. My $0.02, -RZ p.s. The first thing I'm going to do after I build my time machine is go visit Finland and say "Use the LGPL, Linus".