Tgps is a program that allows you to retrieve and send data to Garmin GPS receiver(s). It is also intended to be a Garmin protocol simulator, that allows you to generate NMEA and Garmin output for multiple destinations from a single GPS device.
Currently there is alpha version available, which still lacks lots of features of the final version, but which includes basic garmin upload and download protocol features. The NMEA support is missing, as is the garmin simulator mode support.
The source of the 0.19 version is available in http://www.acr.fi/tgps/tgps-0.19.tar.gz. Read the README for more information. This program is distributed under the no-commercial use license. Read the COPYING for more information about the license.
New features include preliminary support for the eTrex Vista. There is no documentation for the protocol used by it, thus I had to reverse engineer the protocol itself, and there might be some errors.