Re: Linux GPL and binary module exception clause?

Andre Hedrick
2003-12-10T13:22:42Z

Very simple.

Apply the basics of GPL and strip all the inlines to a file called
kernel_inlines.[ch] and export all the symbols to export_symbol.

Thus all the cute tricks people try to taint the unprotecable interface is
removed. The basics of removing the code in question.

If you holler wait you are changing the core and you can't BUZZIT.
I can change what ever I want and distribute it where ever I care.

Thank you,

Andre Hedrick
LAD Storage Consulting Group

On Fri, 5 Dec 2003 Valdis.Kletnieks@vt.edu wrote:

> 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.....
>
>