Re: Kernel module ethics.

Richard B. Johnson (root@chaos.analogic.com)
Wed, 27 Feb 2002 17:23:41 -0500 (EST)


On Wed, 27 Feb 2002, Allo! Allo! wrote:

> Hi,
>
> The company for whom I work wants to make a linux driver for some of its
> hardware. On my side I would like the driver to be completely open sourced,
> and from a customer point of view, its a big plus (a real PITA to maintain
> closed sourced drivers). On the other hand, the company wants a clear way to
> make "profit" from the work while still catering to it's customers whish to
> recompile the driver for just about any kernel version.

[SNIPPED...]

I've thought about this and think that "Open Source" is not "Free
Software". If I purchase some sheet music it has a copyright notice
that basically implies that I can play this all I want. I can even
make money playing this at a bar. What I can't do is claim that
it's my own composition. I can't copy it and put my own name on the
chart as the author. However, I can certainly play or even write
my own "Variations on the Theme of ..." and claim that the variations
are my own.

The same should be true of any software (sheet music is software for
machines called instruments). I should be able to write a module
under GPL and, in a separate file, provide the source code with its
proprietary notice and proprietary copyright notice.

But what happens then is, since its published, it's no longer "trade
secret". You can't keep something secret by publishing it. So your
company loses its claim to the software as trade secret, but not its
claim against somebody copying it and calling it their own.

Unfortunately, the whole reason for software copyright is to maintain
trade secrets. The company pays you and others, what it thinks is
an enormous amount of money, and they don't expect you to give away
all that expense, especially to competitors.

In fact, hardware designs that took several million dollars of NRE to
develop, can be compromised if the source code necessary to manipulate
it becomes available to competitors. A competitor doesn't have to spend
a million dollars. Instead, they just buy the product like any other
customer. The PWB shows how to build it, and the software shows how to
run it. For a few thousand dollars, they could be selling your product
to your potential customers, and you lose your job.

So, enter the compromise. Make your proprietary stuff in separate file(s)
known only to your company. This keeps them trade secret. Compile them
into a library. Provide that library with your module. The functions
contained within that library should be documented as well as the
calling parameters (a header file). This helps GPL maintainers
determine if your library is broken.

The main module code is GPL and it is linked with your proprietary
library. If you have a customer that requires access to the trade-secret
source-code, you have them sign a standard NDA so the lawyers can kill
them if necessary, in the courts of course!

That said, there may be responses from others who say; "No you can't
do that!" The FSF makes free software, etc. I won't be responding
to those because I understand that nothing I do at work is free.

Cheers,
Dick Johnson

Penguin : Linux version 2.4.1 on an i686 machine (797.90 BogoMips).

111,111,111 * 111,111,111 = 12,345,678,987,654,321

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