Messages in this thread | | | Date | Sat, 10 Oct 1998 14:17:22 +0100 | From | Jamie Lokier <> | Subject | Re: [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/
| |