gpsd doesn't do the position determination, it's more or less a clearinghouse for the data once it's been calculated.
Actually taking the raw waveforms from the ADCs and turning them into a (position, velocity, time) solution is an entirely different task.
I'd be remiss if I didn't mention RTKLIB, which is an open-source package to do the PVT solving, using a whole bunch of different algorithms. It ALSO happens to include a bunch of plumbing to stick the pieces together, and thus in some ways overlaps functions of gpsd, but its primary function is actually solving the navigation equations.
gpsd is a service daemon that monitors one or more GPSes or AIS receivers attached to a host computer through serial or USB ports, making all data on the location/course/velocity of the sensors available to be queried on TCP port 2947 of the host computer.
It doesn't do much beyond multiplexing/marshalling. The actual calculations are done in the receiver.
https://gpsd.gitlab.io/gpsd/index.html
Development primarily lead by Eric Raymond:
https://gpsd.gitlab.io/gpsd/gps-hacking.html
http://www.catb.org/~esr/