On 3. 6. 2013., at 23:56, Maxthon Chan <[email protected]> wrote:

> Well given Android is (at least partially) open-sourced, is it possible to 
> search their source code for their Wi-Fi geolocation API? Implement that as a 
> loadable bundle to prevent licensing issue. (this CoreLocation clone can be 
> LGPL so that this bundle, probably under Apache license as derived from 
> Android source code, can link against, and GPL code can load non-GPL code to 
> run or Linux will under dilemma)

That sounds good, doesn't it?

From what I understand, the problem is it's using Google Maps API, safely 
tucked away in the Google Maps application, which is not licensed under an open 
source license.

While you could reverse engineer the API, do we want GNUstep to get entangled 
in legal issues dealing with a commercial service's terms of use? Not to 
mention that according to the TOS, you'd have to have a license for each 
application -- not just for the library.

The reasons why Apple implemented the service themselves are probably 
financial: they are staff-wise and financially stuffed enough to handle such a 
big project, and the financial impact of licensing this from a third party is 
probably also sufficient enough that they don't want to hand over the 
implementation to a third party.

> And since we are searching code, how about tap into cellular geolocating (use 
> cell towers instead of Wi-Fi hotspots) as well?

How would you do that on a computer without access to a GSM modem that would 
list all the cell towers and signal strengths?

> Or can we crowd-source the location information of Wi-Fi hotspots ourselves 
> and set up our own servers for this? All this needs is pretty much a 
> smartphone app, as it can allow users to submit base station locations using 
> existing platform-specific location services. If I have the honor of 
> implementing it, I will make sure it will remain free and open sourced.

Sure, you can; how much information will you have about Croatia? :-)

That is, wherever the information is actually needed, you won't have it. It 
takes years to build a comprehensive and useful database, even for someone with 
installbase like Google and Apple. We don't have that.

It might be a fun project; and if it works out, there'd be something that could 
also be offered commercially. 

On the other hand, once a project grows enough, you'll need even more 
information to weed out attempts at spoofing information. And so the circle 
closes: you need to focus on this service full-time in order to make it useful. 
Which is why there's such a small number of companies doing this. (Not to 
mention that anyone that's not giant-sized is probably venture-backed, or not 
oriented at customers at all, but at b2b.)

Not to mention you're actually mapping private information (MAC addresses) to 
physical locations; something people don't take kindly to when Google's doing 
it, something people are not really aware Apple is doing and something they're 
not aware Skyhook Wireless did.

It would make sense to look at OpenStreetMap.org and see if they are interested 
in cooperating. And some possibly good news: Their wiki also seems to mention 
OpenBmap cell and wifi access points. It may be worth investigating 
openBmap.org.

> Also, since we are implementing this, how about bring MapKit into this 
> equation too? THere is an existing MapKit port to OS X that depend on 
> CoreLocation using Google Maps API. I am not sure if it is useable with 
> GNUstep (or mySTEP's) CoreLocation port.

Sure you could. But, Google Maps is also a commercial API.

You'll really want to examine the licensing and pricing before suggesting that 
the ultimate solution to the problem are Google's offerings :-)

While Google has historically offered many services for free, and is still 
offering many services for free to consumers, that is no longer the case when 
it comes to developers.

I have previously signed up for their console, which has a handy list of 
services, including those with "courtesy limits" -- that is, free trial limits. 
There may be another handy list somewhere else, but this is where I found it:
  https://code.google.com/apis/console

Relevant items:
"Google Maps API v3": Courtesy limit: 25,000 requests/day • Pricing
"Google Maps Geolocation API": Courtesy limit: 0 requests/day • Pricing

Note the zero next to "Geolocation API". :-)

Concluding -- an implementation of Core Location would ideally be layered into:
* client (framework)
* daemon
* multiple backends

Similarly, mapping could use a libre tileset generated from OpenStreetMap.org 
data.
--
Ivan Vučica
[email protected] - http://ivan.vucica.net/

_______________________________________________
Gnustep-dev mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to