Re: Kernel modul licensing issues

From: Manfred Spraul
Date: Sun Nov 30 2003 - 08:25:24 EST


John wrote:

I have some licensing issues with the linux GPL and the implications
on a project which incorporates partial non-GPL code which I want
to release as linux kernel module.


Wrong mailing list.
You must find a lawyer, and he'll answer your questions.

I have implemented a proprietary algorithm in user space which I'm not
allowed to release under the GPL. From a _technical_ point of view I
could compile the code as kernel module which offers a certain API.
Note that the kernel module would have only very limited dependency
on the kernel, i.e. apart from memory allocation functions (kmalloc,
kfree, vmalloc, vfree) and potentially some "locks" (spinlock, big
reader lock or rcu) the code is totally independent from the kernel.

RCU is a patented algorithm - mention that to your lawyer. Your creation must not be derived from the kernel (because creating derived works is an exclusive right of the copyright owner, and you don't have and won't get a permission), and it must not infringe the RCU patents.

As far as the interaction with the algorithm API is concerned the
frontend submits kernel data structures to the algorithm module _but_ since the algorithm has no declaration of kernel structures it does
neither use nor modify the kernel data. It's just stored and returned
to the user via certain API functions.

You have written an algorithm module that is tightly coupled to the Linux kernel, and you think it's not derived from the kernel, correct? As a non-lawyer, it'd say that's wrong.
"Derived work" is a legal term, your lawyer might be able to figure out if your combination is a derived work.
The drivers that are more or less accepted as not-derived run on multiple operating systems - e.g. the nvidia ethernet driver uses the same source code for Windows and Linux, and nvlib.o works on Linux and FreeBSD.

--
Manfred
P.S.: You might need a team of lawyers: the definition of derived work differs from country to country.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/