lkml.org 
[lkml]   [1998]   [Oct]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [OT] RE: UDI and Free Software
On Thu, Oct 08, 1998 at 12:38:04PM -0400, Kenneth Albanowski wrote:
> 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.

I'm one of these folks, and I agree that supporting UDI will probably be
just fine for the reasons you give. Indeed, _technically_ if it is a
good spec it may be helpful.

Then again, for raw performance (where it matters), fixed specs have
their downside because our knowledge and capabilities improve with time.
Imagine if the Linux binary driver interface were still the same as in
the 2.0.x days. We'd be missing a lot of the performance advantages we
have with 2.1.x, most notably the exception handlers in copy_from_user et al.

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

(IMO) Indeed most manufacturers produce poor drivers for _all_ their
supported platforms, though they might do some half-baked testing on
Win95.

> Secondly, _why does Linux have anything to do with this_?

The complaint is that UDI makes it easy for manufacturers to produce a
Linux driver, and despite the short term benefit, we'd be worse off.

Right now, only the most dedicated and helpful manufacturers tend to
produce Linux drivers, the rest are written, mostly to a high quality by
Linux users.

With UDI, all those manufacturers who produce poor drivers for Windows
will be able to produce poor drivers for Linux as well. We don't want
that, because that gives those manufacturers the excuse to withhold
technical information that we need to write high quality drivers.

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

The company can "support" everything by writing a half-baked driver --
it does this already for Windows. (Not true of all companies, but many).

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

This is where you've mistaken most of the criticism. We believe that
most manufacturers write poor drivers for _all_ supported platforms,
Windows included, and much of Windows reputed instability is due to
this. We don't expect them to spend extra time writing native drivers
for any OS, popular or not.

If manufacturers who currently don't support Linux start supporting it
_as badly_ as they support Win95 (most Win95 drivers do not work under
NT), Linux will also acquire a reputation for instability, because of
those drivers.

Right now we have a reputation for stability and high quality drivers
because of peer review, coding by the actual users, good feedback from
testers in the field etc. That will go down the pan if manufacturers
find UDI an excuse to prevent this form of high quality coding.

Indeed, many manufacturers simply _cannot_ create high quality drivers
because they don't have the infrastructure -- unless they choose to
participate in the open development process, that is.

> The exact same issue that causes poor drivers to begin with should
> be an _incentive_ to create good UDI drivers in the first place.

I think you got this upside down. The same issues that cause poor
Windows drivers to be written will cause poor universal drivers to be
written.

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

I agree, there may be advantages in the open-source community using UDI
for portability. The issue is that we don't want to help closed-source
manufacturers, as most don't seem to be very good at writing drivers.

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

I'm convinced that here, coding to _any_ fixed interface will slow down
the fastest network technology of the day. We learn new tricks all the
time, and for the leading edge, we put the effort into applying them.
Only open source has this flexibility.

Sincerely,
-- Jamie

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

\
 
 \ /
  Last update: 2005-03-22 13:44    [W:0.053 / U:0.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site