Re: [OT] RE: UDI and Free Software

Kenneth Albanowski (kjahds@kjahds.com)
Thu, 8 Oct 1998 12:38:04 -0400 (EDT)


On Tue, 6 Oct 1998, Theodore Y. Ts'o wrote:

> Date: Tue, 6 Oct 1998 10:07:14 -0500 (CDT)
> From: Shaun Wilson <plexus@ionet.net>
>
> maybe... just maybe.. it's not such a bad idea that Linux should develop
> it's own set of UDI drivers as has been done up until now? Yes it would be
> tempting to just use a vendors commercial(albeit seemingly free) driver,
> but will it come with Linux? no. Shoudl linux have an adequate equal? I
> think yes.
>
> Why should Linux developers develop a UDI driver? A native driver will
> be easier to write, and probably faster and more efficient.

If I may make a few points... In answer to this question, there are some
folks (myself included) who feel compelled to write the most portable code
possible, making it both usable and efficient in as many places as
possible.

Given several assumptions about UDI drivers (that they _do_ work, that
they therefore work just about everywhere, and that they aren't quite as
good as a native driver for any OS), then I would write both a UDI and
native driver, probably sharing code to simplify maintenance. I might even
work on the UDI driver first, as it will give me more immediate benefits
(the ability to test my driver under many OS's).

This is no different from writing a portable utility that can compile
anywhere, and wear an X, Win32, or command-line interface.

Another complaint I've seen made several places is that "the manufacturer
will just foist off some half-baked UDI driver on the Linux folks". First
of all, this is isn't any worse then the current situation for most
manufaturers. Secondly, _why does Linux have anything to do with this_?
UDI is supposed to be universal, so by writing a _good_ UDI driver, the
company instantly supports SCO, UNIX, Linux, and perhaps just about
everything else (if UDI isn't Unix-centric). Remember what UDI is
supposed to be, and consider whether "the manufacturer will just foist off
some half-baked UDI driver on the entire consumer community, and then
spend time writing native drivers for the popular OSs" make any economic
sense. The exact same issue that causes poor drivers to begin with should
be an _incentive_ to create good UDI drivers in the first place.

As for open-source vs. binary, UDI would actually help the dissemination
of open-source drivers. As far as can see, it _must_ do: any UDI GPL
driver that is coded will work on _all_ platforms, whereas currently it
will work only on one platform (Linux, BSD, whatever).

> As near as I can tell, UDI drivers will always be a poor second cousin
> to native drivers... For some hardware it may not make a difference
> (for example, a scanner). But for other hardware (such as a gigabit
> ethernet board), my guess is that UDI will be a disaster as far as
> performance is concerned.

Not a disaster, just a limitation. An MMU is also a limitation, as is an
FS, etc. People learn to live with them, if the benefits are worth it.
It's called a "tradeoff".

(And no, I wouldn't want a gigabit ethernet board to be slowed down by
anything, if I could avoid it.)

-- 
Kenneth Albanowski (kjahds@kjahds.com, CIS: 70705,126)

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/