Uniform Driver Interface
The Uniform Driver Interface (UDI) is a defunct project developed by several companies to define a portable interface for device drivers.
The Uniform Driver Interface (UDI) allowed device drivers to be portable across both hardware platforms and operating systems without any changes to the driver source. With the participation of multiple OS, platform and device hardware vendors, UDI was intended to be the first interface which was likely to achieve such portability on a wide scale. UDI provided an encapsulating environment for drivers with well-defined interfaces which isolated drivers from OS policies and from platform and I/O bus dependencies. In principle, this allowed driver development to be totally independent of OS development. In addition, the UDI architecture was intended to insulate drivers from platform specifics such as byte-ordering, DMA implications, multi-processing, interrupt implementations and I/O bus topologies.
While UDI could potentially benefit open source operating systems such as Linux and *BSD by providing more driver support from companies, some open source/free software advocates feared that UDI would cause a proliferation of closed source drivers and a reduction in open source support by companies, undermining the purpose of the free software and open source movements. Richard Stallman (the leader of the free software movement) has claimed that the project does not benefit the free software movement.
See also
References
- {{cite press release
|publisher = Software Technologies Group
|date = 2001-05-09
|title = UDI Reference Implementation Open Sourced
|url = http://stg.com/press_releases/050901.html
|url-status = bot: unknown
|archiveurl = https://web.archive.org/web/20011109203050/http://stg.com/press_releases/050901.html
|archivedate = 2001-11-09
}}
External links
- [https://udi.certek.com/ Project UDI] (Project UDI home page, loaded in a frameset by the official project URL [http://www.projectudi.org/ www.projectudi.org])
- [https://udi.certek.com/specifications Official UDI Specifications] (official UDI specifications published by Project UDI)
- [https://udi.certek.com/Docs/pdf/UDI_Driver_Writers_Guide.pdf UDI Driver Writer's Guide (PDF)] (documentation from Project UDI, also [http://uw714doc.xinuos.com/en/UDI_dwg/CONTENTS.html here] in HTML format)
- [https://udi.certek.com/udi_i2o.html UDI and I2O] (statement from Project UDI about I2O)
- [https://projectudi.sourceforge.net/ UDI Reference Implementation] (official UDI reference implementation published by Project UDI)
- [https://www.gnu.org/philosophy/udi.html The Free Software Movement and UDI] (essay written by Richard Stallman in 1998, opposing UDI on philosophical grounds)
- [https://lwn.net/1998/0924/ Leading items] (LWN.net article from 1998 about UDI and Linux)
- [http://www.kroah.com/log/linux/stable_api_nonsense.html The Linux Kernel Driver Interface] (explanation written by Greg Kroah-Hartman in 2004 about why Linux doesn't have stable internal APIs, also [https://github.com/torvalds/linux/blob/b36ddb9210e6812eb1c86ad46b66cc46aa193487/Documentation/process/stable-api-nonsense.rst here] in Linux kernel tree)
- [https://web.archive.org/web/20131208053812id_/https://www.ties.org/deven/udi.html We should all be supporting Project UDI.] (editorial written by Deven Corzine in 2005 in support of Project UDI)
- [https://web.archive.org/web/20110911042942if_/https://mike.trausch.us/blog/2010/03/03/the-uniform-driver-interface%E2%80%94why-wasnt-it-adopted/ The Uniform Driver Interface—why wasn’t it adopted?] (blog post written in 2010 by Michael Trausch)
- [https://wiki.osdev.org/Uniform_Driver_Interface Uniform Driver Interface] (UDI wiki page on OSDev.org for hobbyists interested in implementing UDI)
- [https://github.com/thepowersgang/acess2 Acess2 Hobby Operating System] (hobbyist OS with UDI support)
{{Software-eng-stub}}