The first[1] converts ip to location, and allows 100 free queries per day.
The second[2] converts physical addresses to location as part of it maps JavaScript api, and is part of its 25,000 free requests/day.
The third[3] is its http version of geocoding, which also converts physical addresses to locations or visa-versa. This api has the 2,500 req/day limit.
Also note that Google's geocoder can only be used for results to be displayed on a Google map (mentioned in emptystacks's link, also section 10.1.1 (g): https://developers.google.com/maps/terms)
This is a site for hackers, a lot of whom build things on the web. It's useful to get a sense of what tools are in vogue and/or complete enough to do certain projects.
Because freegeoip.net is open source and has always been a personal research project. First versions were written in Python, initially running on GAE, then twisted+cyclone, and currently in Go.
These guys might consider allowing people to pay for more requests. Even with the source, it would be easier for some people to just pay you, and you can still keep everything open source.
No plans to see anything there. It's a community supported service (volunteer donations only) and will always be. Also, although it currently uses MaxMind's GeoLite, this system has absolutely no affiliation with any company.
It's not. As I explained elsewhere it currently uses MaxMind but there's no affiliation with the company and I might eventually switch to any other db as did many times in the past.
Some of the early versions used libgeoip, but the database has changed many times over time; it started with MaxMind data, then switched to ipinfodb.com, then ip2location.com came into the mix, and currently is back to using MaxMind again with a few tweaks. The idea is to be free to change to whatever is more suitable whenever is necessary... Redis was initially used in the Python version (twisted+cyclone) to share usage quotas between multiple instances (one per cpu), and ended up in the Go version just because; actually, it could use a map or something, but I'd have to implement the ttl part... In other words, it's mostly for historical reasons.
https://developers.google.com/maps/documentation/geocoding/#...