Viking is a free/open source program to manage GPS data. You can import, plot and create tracks, routes and waypoints, show OSM, Bing Aerial and other maps, geotag images, see real-time GPS position (not in Windows), make maps using Mapnik (not in Windows), control items, etc.
It is written in mostly in C (with some C++) & the GTK+2 toolkit.
- OpenStreetMap (OSM)
- Mapnik Rendering
Lacks an "Undo" button, can't move groups of points between layers. Other than this, it's very nice code.