Concerns / assumptions: 1. GPS data being read from the kernel must be visible to the user, and controllable. 2. No clients can run unless the user decides they should, through Maemo UI Suggestions: 1. gpsd will run only when there is a liblocation client 2. location-daemon will be started by and running only when there is a liblocation client 3. location-daemon and gpsd only run at the same time. 4. When no liblocation clients exist, gpsd is stopped, location-daemon is stopped 5. location-status is typically 'passive': it only listens on dbus, but does not activate location services 6. AMEND location-status with 'active liblocation' mode, where the user can use the UI to switch it into active mode, keeping location-daemon and gpsd active, allowing for libgps clients to interact with gpsd, until user stops active mode. Consequences: 1. gpsd does not always run, never automatically on boot 2. it is not possible for applications to drain battery without it being clear that gps is being used 3. control panel does not control gpsd service, location-daemon does that Upsides: 1. Simple solution: only run location-daemon gpsd when it should 2. Access control a no brainer: no gpsd = no libgps clients 3. Other maemo components that rely on location dbus signals require no changes Downsides: 1. It might not be obvious to the user that a specific program uses libgps and does not work because of location-status not being in active mode. But if the wording is clear, it might make sense 2. GPS locks might potentially take longer if it is true that keeping gpsd running will lead to faster gps locks (unclear, also unclear what affect A-GPS would have) 3. Unclear what "Enable Location" really means at this point, since there is now essentially another "enable location" state through location-status