On 2011-09-27, Michael Orlitzky <mich...@orlitzky.com> wrote:
> On 09/26/11 16:13, Grant Edwards wrote:
>> 
>> That's hilarious.
>> 
>> The Linux developers are _constantly_ changing APIs in ways that break
>> existing device driver code.  There are repeatedly wholesale
>> re-designs of some APIs that happen between minor versions of a
>> supposedly "stable" kernel.
>> 
>> We have to touch our NetBSD and FreeBSD drivers maybe once every 3-4
>> years.  Often our Linux drivers have to be updated every 3-4 _months_
>> to keep up with changes in the kernel that break things.
>> 
>> I suppose one could try to claim that people who ship Linux drivers
>> for their hardware aren't "users" of the kernel, and therefore our
>> dealing with such breakage isn't a "user experience".
>> 
>
> Contribute your drivers upstream. When the devs change an API, they'll
> update your code for you.

That sounds good, but in practice it doesn't work.

 1) The kernel developers don't support any existing customers.  Bugs
    are only fixed for customers who are willing to run the next
    kernel verison.  I've got customers that are still running 2.4
    kernels. 2.6.18 is still widely used.  Will the kernel developers
    add new features, support for new hardware, or fix bugs for those
    customers.  Not a chance.

 2) The kernel developers only make sure that drivers compile.  They
    don't have the hardware or knowlege required to actually test
    them.  One of our drivers _is_ in the kernel.  Sure, it builds,
    but AFAIK, it hasn't actually worked for at least 10 years.

Trying to maintain two drivers (one in-kernel and one out-of-kernel)
just creates twice as much work for no gain.

-- 
Grant





Reply via email to