<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: The Uniform Driver Interface—why wasn&#8217;t it adopted?</title>
	<atom:link href="http://mike.trausch.us/blog/2010/03/03/the-uniform-driver-interface%e2%80%94why-wasnt-it-adopted/feed/" rel="self" type="application/rss+xml" />
	<link>http://mike.trausch.us/blog/2010/03/03/the-uniform-driver-interface%e2%80%94why-wasnt-it-adopted/</link>
	<description>My writing on life, computers, and technology</description>
	<lastBuildDate>Sat, 26 Feb 2011 18:10:29 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: Michael Trausch</title>
		<link>http://mike.trausch.us/blog/2010/03/03/the-uniform-driver-interface%e2%80%94why-wasnt-it-adopted/comment-page-1/#comment-424</link>
		<dc:creator>Michael Trausch</dc:creator>
		<pubDate>Sun, 07 Mar 2010 10:31:05 +0000</pubDate>
		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=592#comment-424</guid>
		<description>@lefty.crupps: Yes, I am pretty well aware of the Linux kernel&#039;s policy and why they want to have drivers in-tree.  Though, that brings up an interesting point: a specification could even be as loose as an ABI/API spec based upon, say, the Linux kernel at a given point in time.  Though, that would also probably very heavily influence other operating systems that implement the interface.

There are, as oiaohm mentioned, other portable userspace driver implementations for various types of drivers.  I&#039;m going to have to look into them and perhaps write up on what I find next.</description>
		<content:encoded><![CDATA[<p>@lefty.crupps: Yes, I am pretty well aware of the Linux kernel&#8217;s policy and why they want to have drivers in-tree.  Though, that brings up an interesting point: a specification could even be as loose as an ABI/API spec based upon, say, the Linux kernel at a given point in time.  Though, that would also probably very heavily influence other operating systems that implement the interface.</p>
<p>There are, as oiaohm mentioned, other portable userspace driver implementations for various types of drivers.  I&#8217;m going to have to look into them and perhaps write up on what I find next.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Trausch</title>
		<link>http://mike.trausch.us/blog/2010/03/03/the-uniform-driver-interface%e2%80%94why-wasnt-it-adopted/comment-page-1/#comment-423</link>
		<dc:creator>Michael Trausch</dc:creator>
		<pubDate>Sun, 07 Mar 2010 10:24:12 +0000</pubDate>
		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=592#comment-423</guid>
		<description>@Jonathan: I could not have said it better myself.  There is a lot that we can learn from just stopping and listening to common sense.  Life&#039;s too short to stand at the end of a spectrum and scream until we keel over from high blood pressure or something like that.</description>
		<content:encoded><![CDATA[<p>@Jonathan: I could not have said it better myself.  There is a lot that we can learn from just stopping and listening to common sense.  Life&#8217;s too short to stand at the end of a spectrum and scream until we keel over from high blood pressure or something like that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Trausch</title>
		<link>http://mike.trausch.us/blog/2010/03/03/the-uniform-driver-interface%e2%80%94why-wasnt-it-adopted/comment-page-1/#comment-422</link>
		<dc:creator>Michael Trausch</dc:creator>
		<pubDate>Sun, 07 Mar 2010 10:22:37 +0000</pubDate>
		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=592#comment-422</guid>
		<description>@oiaohm:  I was aware of FUSE.  I didn&#039;t know about the existence of BUSE and CUSE, though.  So, I suppose between (F&#124;B&#124;C)USE and NDIS, we cover /most/ types of drivers.

Are there ports of (B&#124;C)USE to Windows and OS X?  I know that there is a FUSE for Mac, and I think (if memory serves) that there is one for Windows as well.

Thanks for your comments—it would seem that there was more out there than I was aware of.  Of course, userspace drivers come at a cost on operating systems where they are not the norm (e.g., µkernel systems where they take into account that that is their primary [indeed, &lt;em&gt;only&lt;/em&gt;] type of driver and make things very efficient for going back and forth).  It&#039;s still nice that there is the ability for them.  I will take a look into those things.</description>
		<content:encoded><![CDATA[<p>@oiaohm:  I was aware of FUSE.  I didn&#8217;t know about the existence of BUSE and CUSE, though.  So, I suppose between (F|B|C)USE and NDIS, we cover /most/ types of drivers.</p>
<p>Are there ports of (B|C)USE to Windows and OS X?  I know that there is a FUSE for Mac, and I think (if memory serves) that there is one for Windows as well.</p>
<p>Thanks for your comments—it would seem that there was more out there than I was aware of.  Of course, userspace drivers come at a cost on operating systems where they are not the norm (e.g., µkernel systems where they take into account that that is their primary [indeed, <em>only</em>] type of driver and make things very efficient for going back and forth).  It&#8217;s still nice that there is the ability for them.  I will take a look into those things.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yfrwlf</title>
		<link>http://mike.trausch.us/blog/2010/03/03/the-uniform-driver-interface%e2%80%94why-wasnt-it-adopted/comment-page-1/#comment-421</link>
		<dc:creator>Yfrwlf</dc:creator>
		<pubDate>Sat, 06 Mar 2010 12:50:54 +0000</pubDate>
		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=592#comment-421</guid>
		<description>Agreed.  Standards = freedom.  Why it was never done and why there isn&#039;t a community push to implement it?  That&#039;s beyond me.  Even if the Linux distros had some silly reason for not wanting it, users should still want it.</description>
		<content:encoded><![CDATA[<p>Agreed.  Standards = freedom.  Why it was never done and why there isn&#8217;t a community push to implement it?  That&#8217;s beyond me.  Even if the Linux distros had some silly reason for not wanting it, users should still want it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: oiaohm</title>
		<link>http://mike.trausch.us/blog/2010/03/03/the-uniform-driver-interface%e2%80%94why-wasnt-it-adopted/comment-page-1/#comment-420</link>
		<dc:creator>oiaohm</dc:creator>
		<pubDate>Sat, 06 Mar 2010 01:12:49 +0000</pubDate>
		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=592#comment-420</guid>
		<description>I really missed one.

cuse covers all char devices from user space.
buse covers all block devices from user space.   
fuse covers all filesystem from user space.

Only things not covered by this is network cards and devices you cannot directly talk to from userspace.

cuse and buse interfaces follow posix so any posix OS can have them implemented.   Even better freebsd follow the posix agreement of 2001 of supporting applications built using linux syscalls since those are stable.

Basically there is your cross platform neutral driver.   Built using only Linux syscalls running in user space and interface by cuse or buse or fuse to setup their block devices.   Covers all of the posix world bar Mac OS X.   

The idea that something equal to UDI does not exist today is wrong. 

All USB and Firewire drivers could be done using cuse and buse other than printers and network devices.   By the way userspace printer drivers are also stable across lots of platforms so not being able to do them in cuse and buse is not a issue.  libusb makes the USB bit simple.  Firewire has the same interface on all posix os&#039;s.  Makes life a lot simpler.

PCI and PCI-e some are supported issue is interp handling but that is improving.   Motherboard chipset for memory control basically always kernel space and out question to handle any other way.

UIO support in Linux that is not across other POSIX OS&#039;s at this time can do network card and all the PCI and PCI-e drivers that cuse and buse cannot do.

Basically UDI died.   New stuff grew up in it place.  Basically stop spreeding the myth that cross platform driver tech does not exist.   It does hardware makers choose not to use it.</description>
		<content:encoded><![CDATA[<p>I really missed one.</p>
<p>cuse covers all char devices from user space.<br />
buse covers all block devices from user space.<br />
fuse covers all filesystem from user space.</p>
<p>Only things not covered by this is network cards and devices you cannot directly talk to from userspace.</p>
<p>cuse and buse interfaces follow posix so any posix OS can have them implemented.   Even better freebsd follow the posix agreement of 2001 of supporting applications built using linux syscalls since those are stable.</p>
<p>Basically there is your cross platform neutral driver.   Built using only Linux syscalls running in user space and interface by cuse or buse or fuse to setup their block devices.   Covers all of the posix world bar Mac OS X.   </p>
<p>The idea that something equal to UDI does not exist today is wrong. </p>
<p>All USB and Firewire drivers could be done using cuse and buse other than printers and network devices.   By the way userspace printer drivers are also stable across lots of platforms so not being able to do them in cuse and buse is not a issue.  libusb makes the USB bit simple.  Firewire has the same interface on all posix os&#8217;s.  Makes life a lot simpler.</p>
<p>PCI and PCI-e some are supported issue is interp handling but that is improving.   Motherboard chipset for memory control basically always kernel space and out question to handle any other way.</p>
<p>UIO support in Linux that is not across other POSIX OS&#8217;s at this time can do network card and all the PCI and PCI-e drivers that cuse and buse cannot do.</p>
<p>Basically UDI died.   New stuff grew up in it place.  Basically stop spreeding the myth that cross platform driver tech does not exist.   It does hardware makers choose not to use it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: oiaohm</title>
		<link>http://mike.trausch.us/blog/2010/03/03/the-uniform-driver-interface%e2%80%94why-wasnt-it-adopted/comment-page-1/#comment-419</link>
		<dc:creator>oiaohm</dc:creator>
		<pubDate>Sat, 06 Mar 2010 00:41:41 +0000</pubDate>
		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=592#comment-419</guid>
		<description>Linux and freebsd both had UDI support in 2001.  SCO added it in 2003.   UDI was even mainline Linux kernel for a while.

Simple fact FSF had nothing todo with UDI dieing.   No drivers came.  I repeat no drivers came.  If hardware makers were not going to use it there was little point keeping it around.

Linux kernel and Freebsd kernel disregard FSF in regard to firmware.   This is where you have a problem say FSF has anything todo with the driver matter.  Lot of hardware makers have gone the path of loadable firmware with open spec interfaces.

Reason firmware allows them to keep their secrets.   Open spec interfaces allow better driver optimization without having to use an extra wrapper like UDI.

Also there are advantages to this.  Firmware screws up mostly it contained to the hardware its on.  So complete OS does not die.

Basically Linux kernel developers have a issue with closed source binaries in kernel space where if they screw up can completely stuff the secuirty of the OS.   NVidia is to blame a lot of this. 

Yes closed source driver makers have avoided using provided interfaces and gone for Linux Kernel internal interfaces because they are faster.  Then tried demanding they stay stable.

Basically go over the http://udi.certek.com/f-participants.html list and see if you can find 1 UDI driver.  Yep there are none.   Then Nvidia and other closed source drivers for Linux and Freebsd not once did they release a UDI driver.

These days there is a new common driver systems.  cuse and fuse shared between FreeBSD and Linux and others.  Advantage it don&#039;t need kernel space.   So secuirty of OS can be maintained.  Since it closer to posix OS&#039;s it works better.  There is also UIO in the Linux kernel that is used in the embed space.

So basically between fireware,  cuse, fuse and uio there are stable api&#039;s to build closed source drivers on Linux.   Yet where are the drivers.

&quot;What would the world be like if we could write a device driver for Linux, and be able to use it on FreeBSD without modification?&quot;  Were have you been it already happens.   Sorry 5 years too late to the party.</description>
		<content:encoded><![CDATA[<p>Linux and freebsd both had UDI support in 2001.  SCO added it in 2003.   UDI was even mainline Linux kernel for a while.</p>
<p>Simple fact FSF had nothing todo with UDI dieing.   No drivers came.  I repeat no drivers came.  If hardware makers were not going to use it there was little point keeping it around.</p>
<p>Linux kernel and Freebsd kernel disregard FSF in regard to firmware.   This is where you have a problem say FSF has anything todo with the driver matter.  Lot of hardware makers have gone the path of loadable firmware with open spec interfaces.</p>
<p>Reason firmware allows them to keep their secrets.   Open spec interfaces allow better driver optimization without having to use an extra wrapper like UDI.</p>
<p>Also there are advantages to this.  Firmware screws up mostly it contained to the hardware its on.  So complete OS does not die.</p>
<p>Basically Linux kernel developers have a issue with closed source binaries in kernel space where if they screw up can completely stuff the secuirty of the OS.   NVidia is to blame a lot of this. </p>
<p>Yes closed source driver makers have avoided using provided interfaces and gone for Linux Kernel internal interfaces because they are faster.  Then tried demanding they stay stable.</p>
<p>Basically go over the <a href="http://udi.certek.com/f-participants.html" rel="nofollow">http://udi.certek.com/f-participants.html</a> list and see if you can find 1 UDI driver.  Yep there are none.   Then Nvidia and other closed source drivers for Linux and Freebsd not once did they release a UDI driver.</p>
<p>These days there is a new common driver systems.  cuse and fuse shared between FreeBSD and Linux and others.  Advantage it don&#8217;t need kernel space.   So secuirty of OS can be maintained.  Since it closer to posix OS&#8217;s it works better.  There is also UIO in the Linux kernel that is used in the embed space.</p>
<p>So basically between fireware,  cuse, fuse and uio there are stable api&#8217;s to build closed source drivers on Linux.   Yet where are the drivers.</p>
<p>&#8220;What would the world be like if we could write a device driver for Linux, and be able to use it on FreeBSD without modification?&#8221;  Were have you been it already happens.   Sorry 5 years too late to the party.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Math</title>
		<link>http://mike.trausch.us/blog/2010/03/03/the-uniform-driver-interface%e2%80%94why-wasnt-it-adopted/comment-page-1/#comment-418</link>
		<dc:creator>Math</dc:creator>
		<pubDate>Fri, 05 Mar 2010 23:42:37 +0000</pubDate>
		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=592#comment-418</guid>
		<description>Because drivers by standard are written mainly for Windows and Microsoft do not other OS to work nicely.</description>
		<content:encoded><![CDATA[<p>Because drivers by standard are written mainly for Windows and Microsoft do not other OS to work nicely.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Links 5/3/2010: Elive Stable 2.0 Topaz, Canonical CEO Speaks &#124; Boycott Novell</title>
		<link>http://mike.trausch.us/blog/2010/03/03/the-uniform-driver-interface%e2%80%94why-wasnt-it-adopted/comment-page-1/#comment-417</link>
		<dc:creator>Links 5/3/2010: Elive Stable 2.0 Topaz, Canonical CEO Speaks &#124; Boycott Novell</dc:creator>
		<pubDate>Fri, 05 Mar 2010 22:36:30 +0000</pubDate>
		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=592#comment-417</guid>
		<description>[...] The Uniform Driver Interface—why wasn’t it adopted?  Imagine, for example, if drivers for graphics cards, TV tuner cards, video and audio encoding/decoding cards, modems, storage chipsets, motherboard chipsets, USB chipsets, IEEE-1394 chipsets, graphics tablet devices, touch screens, debugging interfaces, network devices, and so forth were all written to a common specification, it would reduce the amount of code which needed testing. It would increase user choice in both hardware and operating systems—something which I still hold is quite likely the most valuable freedom we have. It would increase reliability, since the users of Windows, OS X, Linux, the various BSD systems, and other, not-so-mainstream operating systems would be able to run the same driver code and collectively supply debugging information and perform testing in a multitude of environments. It would increase security, because then common code that is well-known could be used on all platforms and not just the one it was written for. It would do for device drivers what POSIX has done for user-mode application software. I do not believe that I could be convinced that this would be anything other than a good thing. [...]</description>
		<content:encoded><![CDATA[<p>[...] The Uniform Driver Interface—why wasn’t it adopted?  Imagine, for example, if drivers for graphics cards, TV tuner cards, video and audio encoding/decoding cards, modems, storage chipsets, motherboard chipsets, USB chipsets, IEEE-1394 chipsets, graphics tablet devices, touch screens, debugging interfaces, network devices, and so forth were all written to a common specification, it would reduce the amount of code which needed testing. It would increase user choice in both hardware and operating systems—something which I still hold is quite likely the most valuable freedom we have. It would increase reliability, since the users of Windows, OS X, Linux, the various BSD systems, and other, not-so-mainstream operating systems would be able to run the same driver code and collectively supply debugging information and perform testing in a multitude of environments. It would increase security, because then common code that is well-known could be used on all platforms and not just the one it was written for. It would do for device drivers what POSIX has done for user-mode application software. I do not believe that I could be convinced that this would be anything other than a good thing. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stuart Norman</title>
		<link>http://mike.trausch.us/blog/2010/03/03/the-uniform-driver-interface%e2%80%94why-wasnt-it-adopted/comment-page-1/#comment-416</link>
		<dc:creator>Stuart Norman</dc:creator>
		<pubDate>Fri, 05 Mar 2010 21:22:41 +0000</pubDate>
		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=592#comment-416</guid>
		<description>Even better would be a Universal Driver Interface layer in every OS, but the driver would be in a rom chip in the hardware. No need to download or acquire a driver in any way. The driver would just report the function to the UDI and everything would work. And it wouldn&#039;t matter whether the driver code was proprietary or ope source.</description>
		<content:encoded><![CDATA[<p>Even better would be a Universal Driver Interface layer in every OS, but the driver would be in a rom chip in the hardware. No need to download or acquire a driver in any way. The driver would just report the function to the UDI and everything would work. And it wouldn&#8217;t matter whether the driver code was proprietary or ope source.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan</title>
		<link>http://mike.trausch.us/blog/2010/03/03/the-uniform-driver-interface%e2%80%94why-wasnt-it-adopted/comment-page-1/#comment-415</link>
		<dc:creator>Jonathan</dc:creator>
		<pubDate>Fri, 05 Mar 2010 16:13:32 +0000</pubDate>
		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=592#comment-415</guid>
		<description>I had no idea that such a project had ever been proposed. As you lay it out, the choice between a common UDI and a series of proprietary drivers seems blatantly obvious. Further, you&#039;re right in pointing out that the FSF does occasionally shoot itself in the foot by demanding entirely free software all the time, even when to use such would be to disadvantage the end user. As developers, we need to remember that it is the end user who we serve, and that no amount of hand waving about morals and principles will excuse software that performs poorly on the user&#039;s system.</description>
		<content:encoded><![CDATA[<p>I had no idea that such a project had ever been proposed. As you lay it out, the choice between a common UDI and a series of proprietary drivers seems blatantly obvious. Further, you&#8217;re right in pointing out that the FSF does occasionally shoot itself in the foot by demanding entirely free software all the time, even when to use such would be to disadvantage the end user. As developers, we need to remember that it is the end user who we serve, and that no amount of hand waving about morals and principles will excuse software that performs poorly on the user&#8217;s system.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

