The GoodFET is an open-source JTAG adapter and universal serial bus adapter.
It supports communicating with embedded devices and integrated circuits over a number of different protocols including various standard and vendor-proprietary versions of SPI and JTAG. Client side communicating is done using a Python library, and pre-written clients for common functions (dumping flash, etc) are already written. Additionally, users can extend the codebase to support additional protocols.
Source code, schematics, and firmware: https://github.com/travisgoodspeed/goodfet