yhirose / maxminddb

Pure Ruby GeoIP2 MaxMind DB reader.
MIT License
297 stars 58 forks source link

Name should be maxminddb or something similar #1

Closed autarch closed 10 years ago

autarch commented 10 years ago

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

yhirose commented 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

autarch commented 10 years ago

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.

yhirose commented 10 years ago

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.