Hello,

We have just noticed that one of the programs in our proprietary arsenal
uses GPL code (libipq, the netfilter interface library) even though the
contractor who wrote it was instructed to re-code the application to avoid
using GPL code.

We are now trying to figure out a way to remove the code which uses libipq.

The options we are thinking about:

1. Clean-room implementation - one programmer reads the code and describes
it in a document which is then passed to another programmer to implement.
Possibly the best solution but we suspect it'll take most effort too.

2. Wrap the libipq calls with a separate GPL program which will talk to the
proprietary code over pipes. It will slow things down and seems to take the
least effort, but most importantly we are not sure whether this is allowed
by the GPL.

3. Try to understand the netfilter kernel interface that libipq talks to and
write our own cut-down interface functions which do just what we need and
nothing more. For this I wonder whether it would be OK to learn the
interface by looking at the libipq code (I suspect not). It looks like
reading the kernel side of the API IS allowed under the Linux license (and
besides, our code doesn't "link" with the kernel).

Releasing the program which links with libipq will be cost us a major market
advantage, so it's a very unattractive option.

So what would you do in our place?

Thanks,

--Amos

Reply via email to