Re: GPL Violation?

Patrick McFarland
2006-08-17T06:41:35Z

On Thursday 17 August 2006 01:48, Anonymous User wrote:
> I work for a company that will be developing an embedded Linux based
> consumer electronic device.
>
> I believe that new kernel modules will be written to support I/O
> peripherals and perhaps other things. I don't know the details right
> now. What I am trying to do is get an idea of what requirements there
> are to make the source code available under the GPL.

I am not a lawyer, and I suggest your company speak with one before doing
this. (And most likely, someone from the list will correct me if I get
something wrong).

However, your company only has to release any code they use, preferably in the
form of unmodified tarballs (pointing to project websites for downloads isn't
valid anymore) plus patches against said unmodified tarballs if modified. If
not modified, you still have to release the unmodified tarballs.

They don't have to release source code for any module you wrote from scratch
themselves, but said modules cannot say they are GPL (ie, they have to poison
the kernel).

Also, said kernel modules have to be real modules and not statically linked
into the kernel, and said modules have to have the compiled component objects
(ie, *.o) available so people can relink them into new modules to work with
new kernels.

In addition, you probably want to distribute the original source for any file
that uses a kernel API directly so people can fix things if/when the API
changes (which implies using dummy functions that access the kernel API and
call symbols in the closed source objects that do the actual work and form
the bulk of the code).

An example of what to do is what ATI and Nvidia did for their hardware access
modules. An example of what *not* to do is what Broadcom does for their wifi
AP drivers (which are broken on 2.6.x due to API change) and what Linuxant
does for their modem drivers (which are broken on nearly all kernels no
matter the version).

*However*, it would totally rock if your company did GPL any new modules and
send it to Linus; they'd get free patches/code from the community and lots of
karma as well. Having a built-in customer base is never bad...

Also, completely open sourcing the drivers means, if applicable, people can
use the hardware on platforms other than your processor architecture of
choice. ie, lots of people are screwed because of x86 only modules and they
want to run on PPC or Alpha or whatever.

--
Patrick McFarland || www.AdTerrasPerAspera.com
"Computer games don't affect kids; I mean if Pac-Man affected us as kids,
we'd all be running around in darkened rooms, munching magic pills and
listening to repetitive electronic music." -- Kristian Wilson, Nintendo,
Inc, 1989