Re: Kernel module ethics.

Jesper Juhl (jju@dif.dk)
Wed, 27 Feb 2002 22:57:24 +0100


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

> Here is what they propose... I do not know if what they are proposing is
> "going too far" regarding kernel module ethics, but I thought I'd ask
the
> question here and see what other people think.

> The hardware needs a firmware to run. Since this firmware is under
NDA, the
> first compromise is to write the main part of the driver GPL but keep
the
> firmware of the card in binary format. The driver can then load the
firmware
> separately and this should not infringe on the GPL and I'm quite ok with
> this requirement. Now the problem is that any of our competitor's
cards will
> work with the same closed sourced firmware and GPL engine. In pure
> capitalist thinking, the company finds this particularly troublesome...

> The other compromise is to write a closed source part that would not
permit
> the driver to work with another card supporting the same chipset. Is
this
> kind of practice generally accepted or is it frowned upon?

I think you'll find that a lot of people will frawn upon that practice,
since most people are just interrested in getting support for as much
hardware as possible, and usually considers it a good thing if one
driver works with different hardware. But, it's your choise, and it
would certainly be better than not releasing a driver at all if you ask
me personally :)

>The motive of the
> company is quite clear. If people want to "improve" the driver, they can
> only improve it for their hardware, not the competitors. There is
also a big
> marketing sales pitch that goes like "we support linux, the others
> don’t..."

> It's like if Nvidia did not have linux drivers and ASUS wanted to ship a
> card with a linux driver that only works with asus cards even though
there
> is one from leadtek with the exact same chipset (assuming that ASUS
cannot
> change the internals of the card).

> Is the second compromise just "going too far"? Is this better than
simply
> having a 100% closed source driver?

From my personal poing of view, having a Linux driver available in any
form is a lot better than not having a Linux driver at all. Ofcourse a
100% opensource driver (including firmware) would be the best and is (I
think) the only thing that will have a chance of being included in the
mainline kernel

Having Open Source driver and closed firmware is ofcourse not as good,
but still a lot better for the users, since they can recompile the
driver for different kernels. This is what NVidia does as far as I know.
But you should probably expect to handle all support issues and
bug-reports yourself, since if the full source is not available you'll
be the only one who /can/ fix problems.

A completely closed source driver is in my personal oppinion only a good
idea if the only other option is no driver at all. The Linux kernel is a
fast moving target, and you'd have to release a new version of your
driver everytime something in the kernel that affects your driver
changes. Since the users cannot even recompile it to match a new
kernel. Ofcourse it's better than no driver, but consider the other
options again.

Just my personal opinion ;)

- Jesper Juhl - jju@dif.dk

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