Getting a gps to work on Linux is actually fairly easy. The devices usually have an integrated usb-to-serial adapter, so they show up in /dev/ as a serial device. Upon plugging in a BU-353 (which is available on Amazon and I fully recommend), there is a /dev/ttyUSB0.
The steps I used to get the GPS up and fully working were:
1. Install two packages as root:
yast -i gpsd gpsdrive
2. Modify /etc/sysconfig/gpsd. Change GPSD_STARTBYUDEV="no" to "yes".
(If you don't do this, you will have to manually start gpsd every time you plug in the gps. You can do so with "gpsd /dev/ttyUSB0" as root.)
3. Start gpsdrive. Give the GPS a minute or so to achieve a lock. The BU-353 gets a lock usually in 30 seconds and even quicker if it was recently used (it has some onboard short-term memory).