FreeDiag is a scantool that uses SAEJ1979 (ODB II) protocol on ISO9141, ISO14230, SAEJ1850 VPW and SAEJ1850-PWM interfaces depending on what hardware interface is attached to the PC. Last updated 2003.
http://freediag.sourceforge.net/Supported-Interfaces.html (CAN is not supported!)
http://freediag.sourceforge.net/OBD_knowledge.html (everything we can find about OBD-II, it's various interfaces, protocols and layers.)
The ELM327 is a $35 connector that outputs to USB and bluetooth.
Android OBD Reader ELM327 and BlueOBD.
BlueOBD Hobby kit.
Torque Android app. Closed-source. Their wiki has info on compatible adaptors which can similarly be used for obdchat.
ScanTool.net: OBD-II Software Front End C. No update since 2006.
The OBDLink SX $75 (USB) is sold at http://www.scantool.net/. They also make the ELMScan 5.
OBDToolbox ELM327 or OBDLink. Active project. C++/Qt.
OOBD -OpenOnBoardDiagnostics The aim of OOBD is to provide an open framework as one single program, which is able to handle all kinds of diagnostic problems by having a flexible plug-in interface for all type of requests, visualizations and hardware. JavaME / Lua scripts. ?Android. ?No source code?? Uses bluetooth (a custom device?)

Garmon ELM327. Python / GTK+ (nice UI). Active project.
openOBD: OBD-II Scan Tool C++/CMake. ELM327.
OBD Console C++. Uses libobd. Last commit mid 2010.
openelm VisualStudio?. ELM327.