UDI, the Uniform Driver Interface, is a well-documented interface between a driver module and the executing OS. It provides source portability across OSes and binary portability within a processor ABI. It also provides modern driver features like instance independence, high scalability, and physical location transparency. The Reference Source provides an initial implementation of UDI for Linux, SCO UnixWare, SCO OpenServer, and other OSes.
GPSBabel converts waypoint data between about fifty file formats, including Magellan and Garmin serial, Garmin USB, Mapsource, Mapsend, Streets & Trips, Delorme, National Geographic, many PDA formats, and many others. It is endian and word-size safe, includes a GUI, and runs on a variety of operating systems. It also supports Groundspeak GPX extensions for geocaching.