Closed autarch closed 10 years ago
Hi David,
Thanks for the clarification about the library name. I didn't fully understand what the 'GeoLite2' or 'GeoIP2' really means. According to your suggestion, I renamed it to 'maxminddb' or 'MaxMindDB' in both github and rubygems. It's a more discoverable name!
I really appreciate your attention to this library as well as allowing us to use the fantastic database for free.
Yuji
Hi, @yhirose, I think the distinction is best understood by looking at our official APIs. Basically, the MaxMindDB APIs are low level APIs that don't know anything about the data in the database. The GeoIP2 APIs expect a very specific set of data to be associated with each IP address, and give you an object corresponding to that data.
The MaxMind DB format is open, so it's entirely possible somebody else out there could produce a MaxMind DB file that contains an entirely different data set. In that case, a MaxMindDB API could read that file, but the GeoIP2 API would throw an exception because it wouldn't find the specific things it expects (continent, country, subdivisions, city, etc.).
Anyway, that may be more than you wanted to know. Thanks again for working on this, and thanks for renaming this gem.
Thanks for the detailed information. I took a look at the source code of maxmind db readers. It's very well written, and is already helping me to understand the file format document and find problems in my code. Thanks again for your hard work.
Hi, Yuji,
First, thank you for creating this package. It's always nice to see folks out in the community supporting our products like this.
It'd be great if you could rename this package to something like "maxminddb".
There's nothing GeoLite2 or GeoIP2 specific about your code. If you wanted to make a high-level GeoIP2 specific API on top of this code, that might also make sense, but that would be best done as a separate package that depends on this code. We've done this for the APIs we maintain for Perl, Python, Java, and others. Those would be good examples for you to see where the separation is. See http://dev.maxmind.com/geoip/geoip2/downloadable/ for links to these APIs.
Thanks,
Dave Rolsky Director of Software Engineering MaxMind, Inc. www.maxmind.com