gpsd provides a TCP/IP service by binding to port 2947 by default.4 It communicates via that socket by accepting commands, and returning results. These commands use a JSON-based syntax and provide JSON responses.5 Multiple clients can access the service concurrently.
The application supports many types of GPS receivers with connections via serial ports, USB, and Bluetooth. Starting in 2009, gpsd also supports AIS receivers.6
gpsd supports interfacing with the Network Time Protocol (NTP) server ntpd via shared memory to enable setting the host platform's time via the GPS clock.
gpsd was originally written by Remco Treffkorn with Derrick Brashear, then maintained by Russell Nelson.7 It is now maintained by Eric S. Raymond.89
Debian packages of gpsd http://packages.debian.org/search?keywords=gpsd ↩
Fedora package of gpsd Archived 2011-10-02 at the Wayback Machine https://admin.fedoraproject.org/pkgdb/acls/name/gpsd ↩
gpsd FreeBSD from the FreeBSD ports archive http://www.freebsdsoftware.org/astro/gpsd.html ↩
gpsd manual page Archived 2011-07-18 at the Wayback Machine gpsd project, retrieved 2011-07-11 http://gpsd.berlios.de/gpsd.html ↩
A Brief History of GPSD, "In July and August 2009 ESR redesigned the GPSD command protocol and gave gpsd the ability to read data from marine AIS receivers and pass it to clients."; retrieved 2011-05-01 Archived 2006-10-14 at the Wayback Machine http://gpsd.berlios.de/history.html ↩
GPSD CHANGELOG Archived 2007-09-28 at the Wayback Machine http://pygps.org/gpsd/CHANGELOG ↩
GPSD History Archived 2006-10-14 at the Wayback Machine http://gpsd.berlios.de/history.html ↩
Bad Code Offsets: Open Web Innovation http://thedailywtf.com/Articles/Bad-Code-Offsets-Open-Web-Innovation.aspx ↩