Re: How to Avoid GPL Issue

root@mauve.demon.co.uk
Sat, 28 Jun 2003 01:03:56 +0100 (BST)


>
> Dear Sir or Madam,
>
> We are trying to port a third party hardware driver into Linux kernel and
> this third party vendor does not allow us to publish the source code. Is
> there any approach that we can avoid publicizing the third party code while
> porting to Linux? Do we need to write some shim layer code in Linux kernel
> to interface the third party code? How can we do that? Is there any document
> or samples?

The best way is to convince them to allow you to.
Otherwise.

The right way is to write a spec for the hardware, based on the code.
Now develop a GPL driver based on this spec.
This is the best way to do it, and will result in a driver distributed with
the kernel that can be maintained and used by anyone, likely on any
architecture that the thing can be plugged into, even if you don't decide
to work on it any more, and the original vendor dies.

There are other ways.
Probably the wrong way is to simply compile this module, and distribute
the binary.
This will result in you needing to create at the very least dozens of binaries
at each kernel upgrade, and your driver not working at all for many people
that you haven't compiled for.

If you can't afford the time/cost to go the GPL route, probably the least
bad option is to move as much of the code as you can into a GPL'd interface
module that talks to a small binary stub.
Ideally the binary stub does not talk to the hardware, only to your
interface module.
This means that you need to compile only one stub per architecture, and
even in the face of dramatic kernel changes, as the part that talks to the
kernel (and hardware) is GPL, it can be fixed by anyone.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/