On Fri, 05 Dec 2003 15:23:10 +1100, Peter Chubb said: > As far as I know, interfacing to a published API doesn't infringe > copyright. Well, if the only thing in the .h files was #defines and structure definitions, it would probably be a slam dunk to decide that, yes. Here's the part where people's eyes glaze over: % cd /usr/src/linux-2.6.0-test10-mm1 % find include -name '*.h' | xargs egrep 'static.*inline' | wc -l 6288 That's 6,288 chances for you to #include GPL code and end up with executable derived from it in *your* .o file, not the kernel's. More to the point, look at include/linux/rwsem.h, and ask yourself how to call down_read(), down_write(), up_read(), and up_write() without getting little snippets of GPL all over your .o. And even if your module doesn't get screwed by that, there's a few other equally dangerous inlines waiting to bite you on the posterior. I seem to recall one of the little buggers was particularly nasty, because it simply Would Not Work if not inlined, so compiling with -fno-inline wasn't an option. Unfortunately, I can't remember which it was - it was mentioned on here a while ago when somebody's kernel failed to boot because a gcc 3.mumble had broken inlining.....