public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jan-Benedict Glaw <jbglaw@lug-owl.de>
To: Yaroslav Rastrigin <yarick@it-territory.ru>
Cc: Joshua Kugler <joshua.kugler@uaf.edu>,
	linux-kernel@vger.kernel.org,
	Nicolas Mailhot <nicolas.mailhot@laposte.net>,
	David Chow <davidchow@shaolinmicro.com>
Subject: Re: Linux drivers management
Date: Mon, 6 Feb 2006 20:53:43 +0100	[thread overview]
Message-ID: <20060206195343.GI19232@lug-owl.de> (raw)
In-Reply-To: <200602062217.19697.yarick@it-territory.ru>

[-- Attachment #1: Type: text/plain, Size: 4825 bytes --]

On Mon, 2006-02-06 22:17:19 +0300, Yaroslav Rastrigin <yarick@it-territory.ru> wrote:
> > I use two products that use out-of-tree drivers.  VMWare and NVidia cards.  
> > Fortunately, the build processes for both are rather painless, but there have 
> > been times when it has *not* been, and it was extremely frustrating.  I 
> > remember when VMWare was not doing a good job of supporting 2.6 kernels and I 
> > spent the better part of two days trying to track down a solution.  I finally 
> > did, but it was a third party, non-VMWare, patch to the VMWare code that 
> > fixed it so it would compile and run.  That's not what I consider convenience 
> > for the non-technical user.  A non-technical user would not have been able to 
> > do what I did, especially when they just want their software to work.
> And then think, why do you need to _build_ drivers in the first place. 
> Wouldn't it be better to have one vmware.ko which insmod's with all 2.6 versions , from 2.6.0 to 2.6.16-rc2 , 
> and throw "upgrade pain" away completely ? 

This would only work if we sacrified the freedom to change something.
The kernel code base changes. A lot, actually. If it didn't, there eg.
wouldn't be suspend2whatever, because the API was plain missing back
in those days. So sacrifice evolution for backwards compatibility?

These days (and it has always been that way) kernel development is a
quite active process. If core-APIs need to be changed, the person who
does it usually also updates all users of the given API. That won't
work if the drivers are not in the codebase, no chance to grep for
something on 3rd vendor's websites...

> > I want to install my machine and have everything work.  Don't make me chase 
> > all over the net trying to find a driver for my hardware.  If it's a network 
> All over the net ? Again, you're proving stable API/ABI supporters nicely. 
> If kernel has stable ABI, basic/default driver is included on installation CD, and all you need to do 
> is to launch ./install-linux.sh from CD in your shell or click OK and enter your root password in GUI box.
> Newer/better driver - just go to device manufacturer's website, download installation package and install this driver. 
> Without rebuilding. 

Not everybody is using RedHar, SuSE, Debian or whatever. Consider I
was building a custom QBus-to-PCI bridge to use some ATI/NVidia
graphics board in my 15y old VAX. If my hardware hack required
broadening some in-kernel API, do you really think some guy at NVidia
(only to name an example:-) would cross-compile their stuff for a VAX?
Given a userbase of exactly _one_ person?

> > (i.e. ethernet device) the driver had *better* be in the tree.  Trying to 
> > download the driver to another computer, transferring, etc, is enough to make 
> > me find another brand of network card.
> And what to do if you've bought new hardware, installed it and _voila_ - NO IN-TREE DRIVER exists ?
> Do you want every Linux user  going for shopping to nearest WalMart carry full linux hardware compatibility list printed out ?
> Or intree driver list ?

Usually, it's quite simple to buy correct hardware. Look for something
that's a tad more intelligent (SCSI scanners in favour of USB/parport,
postscript printers, ...) and offloads the host CPU.

> > I sometimes delay kernel updates because I don't want to mess with updating my 
> > NVidia and VMWare drivers.  This is *not* good for security.
> So who to blame ? Maybe, just look at those who don't want stable driver API ?

The Linux kernel is a project (or hundreds actually) that have choosen
their way of operation. That's evolution with not a lot of
looking-back. If you want to have a stable API, heck, just prepare
another fork and implement it. If this is what users want, they'll
take it.

> > So I did.  Please put your driver in the tree.  It will be better for all 
> > concerned.
> Please, don't force your preferences over others'

My (personal!) view is that Linux isn't actually about the users. It's
about the developers. Developers develop what they have a use for (or
become famous.) Sometimes, regular users can make good use of it, once
distributions prepared all the userland.

So if you're a developer, try to become famous for implementing a
stable API.

If you're a user, stop fighting against an operating system's kernel
and start looking for a system _you_ want to use. Maybe some WinXP
variant?

MfG, JBG

-- 
Jan-Benedict Glaw       jbglaw@lug-owl.de    . +49-172-7608481             _ O _
"Eine Freie Meinung in  einem Freien Kopf    | Gegen Zensur | Gegen Krieg  _ _ O
 für einen Freien Staat voll Freier Bürger"  | im Internet! |   im Irak!   O O O
ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

  parent reply	other threads:[~2006-02-06 19:53 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-06 18:31 Linux drivers management Nicolas Mailhot
2006-02-06 18:56 ` Yaroslav Rastrigin
2006-02-06 19:02 ` Joshua Kugler
2006-02-06 19:17   ` Yaroslav Rastrigin
2006-02-06 19:39     ` Martin Mares
2006-02-06 19:56       ` Jan-Benedict Glaw
2006-02-06 19:53     ` Jan-Benedict Glaw [this message]
2006-02-06 20:04     ` Jesper Juhl
2006-02-06 23:52     ` Bernd Petrovitsch
2006-02-06 19:21   ` linux-os (Dick Johnson)
2006-02-06 19:46     ` Michael Krufky
2006-02-06 19:58     ` Nicolas Mailhot
2006-02-06 23:16 ` Gene Heskett
  -- strict thread matches above, loose matches on Subject: below --
2006-02-07  4:42 linux
2006-02-07 16:18 ` Eric W. Biederman
2006-02-07 19:45   ` David Chow
2006-02-07 20:03     ` Kyle Moffett
2006-02-07 22:15     ` Theodore Ts'o
2006-02-08  0:52       ` David Chow
2006-02-08  4:02         ` Theodore Ts'o
2006-02-08  9:46         ` Bernd Petrovitsch
2006-02-09  6:09       ` Lee Revell
2006-02-08  1:06     ` Alan Cox
2006-02-08  8:26     ` Denis Vlasenko
2006-02-11 18:47     ` Andrew James Wade
2006-02-06 19:30 Nicolas Mailhot
2006-02-06  9:45 David Chow
2006-02-06 10:05 ` Michal Schmidt
2006-02-06 16:50   ` David Chow
2006-02-06 16:55     ` Randy.Dunlap
2006-02-06 19:45     ` Alan Cox
2006-02-06 19:46     ` Jesper Juhl
2006-02-06 10:08 ` Jes Sorensen
2006-02-06 16:52   ` David Chow
2006-02-06 17:03     ` Pedro Alves
2006-02-06 17:35     ` Geert Uytterhoeven
2006-02-06 17:42     ` Jes Sorensen
2006-02-06 16:56 ` Christoph Hellwig
2006-02-07 11:36   ` Denis Vlasenko
2006-02-07 13:22     ` Christoph Hellwig
2006-02-06 19:51 ` Greg KH
2006-02-06 21:38 ` Jim Crilly

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060206195343.GI19232@lug-owl.de \
    --to=jbglaw@lug-owl.de \
    --cc=davidchow@shaolinmicro.com \
    --cc=joshua.kugler@uaf.edu \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nicolas.mailhot@laposte.net \
    --cc=yarick@it-territory.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox