Zandronum Chat @ irc.zandronum.com
#zandronum
Get the latest version: 3.0
Source Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003512Doomseeker[All Projects] Suggestionpublic2018-09-22 23:202018-10-07 11:14
ReporterWubTheCaptain 
Assigned ToZalewa 
PriorityhighSeveritymajorReproducibilityalways
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version1.1 
Target Version1.2Fixed in Version1.2 
Summary0003512: MaxMind GeoLite2: Update from CC BY-SA 3.0 licensed dataset to newer CC BY-SA 4.0 licensed work
DescriptionThe about dialog in Doomseeker says MaxMind GeoLite2 is included and under CC BY-SA 3.0 license. This is no longer true today, if updated stuff is shipped?

Also, CC BY-SA 3.0 would be incompatible with all other licenses. CC BY-SA 4.0 allows distributing the combined work (binaries with inclusion of GeoLite2) under terms of GPLv3-only.
Steps To Reproduce
  1. Launch Doomseeker.
  2. Navigate to Help β†’ About.
  3. In this "About Doomseeker" dialog window, notice the following text.


Quote
GeoLite2 License:
This work is licensed under the Creative Commons Attribution - ShareAlike 3.0 Unported License. To view a copy of this license, visithttp://creativecommons.org/licenses/by-sa/3.0/.
[^]
Additional Information0003237.

media/SOURCES.txt says CC BY-SA 4.0 properly.
Attached Files

- Relationships
parent of 0003538resolvedZalewa The preferred form of IP2C database for modifications (CSV) is not currently distributed 
parent of 0003543closedWubTheCaptain "This program uses GeoLite2 database..." is displayed in the About dialog regardless if the database is loaded or not 
related to 0003537resolvedZalewa Unbake IpToCountry.dat from executable (resources.qrc), make it optional 
child of 0003237resolvedWubTheCaptain Non-free files and copyright issues in source archive 

-  Notes
User avatar (0019721)
Pol M (developer)
2018-09-24 22:07

pull request good night :)
User avatar (0019722)
WubTheCaptain (developer)
2018-09-24 22:13

Question: What's the licensing of the one included with the distribution? (Not those remotely downloaded.)
User avatar (0019729)
WubTheCaptain (developer)
2018-09-24 23:42

Additionally, tools/geolite2_conv.py copyright notice is in question. (2016, CC BY-SA 3.0 mentioned there.)

Additionally, the "about dialog" (and its translations) still says (c) 2016 for the data. Is this correct?
User avatar (0019754)
Pol M (developer)
2018-09-25 15:26
edited on: 2018-09-25 15:28

Quote from Wub

Additionally, the "about dialog" (and its translations) still says (c) 2016 for the data. Is this correct?

Quote from About dialog

This program uses GeoLite2 database for IP-to-Country (IP2C) purposes. Database and Contents Copyright (c) 2016 MaxMind, Inc.

Yep, It does say so.

Quote from Wub

What's the licensing of the one included with the distribution?

(I'm not sure if I understood you) If you are referring to the file "media/IpToCountry.dat", It seems to be licenced under CC BY-SA 4.0, as you already stated. Unfortunately, I'm not sure, due to the file being added the 2016‑05‑14 with commit f78933a and at the time being licenced under CC BY-SA 3.0. The file has not changed ever since. If we have problems with the file, I think it could be updated. (2 years is a lot of time :)) (If you weren't referring to that, sorry)

User avatar (0019758)
WubTheCaptain (developer)
2018-09-25 18:06

I was referring to media/IpToCountry.dat indeed, it's downloaded and created with tools/geolite2_conv.py.
User avatar (0019759)
Pol M (developer)
2018-09-25 18:13

Quote from Linda

I was referring to media/IpToCountry.dat indeed

Ok, then I'll generate a new IpToCountry.dat, just in case you think that it needs to be updated.
User avatar (0019764)
Zalewa (developer)
2018-09-25 20:50

Quote from Pol
Ok, then I'll generate a new IpToCountry.dat, just in case you think that it needs to be updated.


From what I understand this ticket describes this approach as impossible because it would be illegal.

I'm not sure what's the "definition of done" for this ticket.
User avatar (0019768)
WubTheCaptain (developer)
2018-09-25 23:42

Quote from Zalewa
From what I understand this ticket describes this approach [generating a new IpToCountry.dat] as impossible because it would be illegal.


How so?

Let's disregard IP2C autoupdates for a moment. I'll make some interpretations and perhaps some assumptions, no warranties of what I speak of is correct.

Consider Doomseeker 1.1 is released under GPLv2. Consider Doomseeker 1.1 uses CC BY-SA 3.0'd GeoLite2. Consider CC BY-SA 3.0 is not compatible with GPLv2 or GPLv3. Binaries of Doomseeker 1.1 with GeoLite2 in it (linked) could be "illegal" to distribute, for plausibility of violating the copyright of both parties. (Fyi, 1.1 has not been relicensed to LGPLv2.1+ or granted any special linking exemption with MaxMind's database under GPLv2.)

Now, consider: Doomseeker 1.2 is released under LGPLv2.1+. MaxMind has licensed newer versions of GeoLite2 under CC BY-SA 4.0. One-way compatibility exists from CC BY-SA 4.0 to GPLv3, that is, CC BY-SA 4.0 works can be incorporated to GPLv3'd works but GPLv3'd works cannot be incorporated into CC BY-SA 4.0 works.

A compatibility chart between different versions of GNU licenses is available on GNU website:https://www.gnu.org/licenses/gpl-faq.en.html#AllCompatibility [^] – that is, "LGPLv2.1 gives you permission to relicense the code under any version of the GPL since GPLv2". Distributing Doomseeker 1.2 under terms of GPLv2+ seems fine.

A resulting adaptation of GeoLite2 (CC BY-SA 4.0) in Doomseeker (media/IpToCountry.dat) authored with tools/geolite2_conv.py would be licensable under GPLv3-only.

As GPLv3 license text also clarifies in section 5, a compilation of a work is called an "aggregate" and not a combined larger work. Or in other words, multiple incompatibly licensed works can reside on an aggregate medium like a filesystem or a CD without interference from GPLv3. "Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate." Doomseeker 1.2 source code may be legally conveyed under terms of LGPLv2.1+, resulting larger work binaries with GeoLite2 under GPLv3-only, and GeoLite2 under CC BY-SA 4.0 and GPLv3.

I say go ahead with updating media/IpToCountry.dat, as long as MaxMind's copyright notices are updated to reflect the license change to CC BY-SA 4.0.
User avatar (0019769)
WubTheCaptain (developer)
2018-09-25 23:55

Quote from Zalewa
I'm not sure what's the "definition of done" for this ticket.


I figured this ticket gets stretched a bit beyond the summary.

For clarification, it is:

  1. Update media/IpToCountry.dat with new CC BY-SA 4.0 licensed dataset from MaxMind with tools/geolite2_conv.py
  2. Keep media/SOURCES.txt at CC BY-SA 4.0
  3. Update about dialog year and text to 2018 / CC BY-SA 4.0
  4. Update tools/geolite2_conv.py copyright year and comment to 2018 / CC BY-SA 4.0 (please add the required attribution blurb from MaxMind too, see below)
  5. Preferably, open a new issue ticket to clarify Doomseeker 1.2 binaries are distributed under terms of GPLv3-only while Doomseeker 1.2 is licensed under LGPLv2.1+. (I'll not consider tools/updateinstaller's CPOL licensing and violations in the source archive, it's a seperate issue.)


Quote from MaxMind
This product includes GeoLite2 data created by MaxMind,
available fromhttp://www.maxmind.com.
[^]
User avatar (0019770)
WubTheCaptain (developer)
2018-09-26 00:05

Quote from WubTheCaptain
As GPLv3 license text also clarifies in section 5, a compilation of a work is called an "aggregate" and not a combined larger work.


Just in case, I'll also clarify the point of view from LGPLv2.1:

Quote from GNU Lesser General Public License, version 2.1
In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
User avatar (0019774)
WubTheCaptain (developer)
2018-09-26 01:25
edited on: 2018-09-26 01:27

Quote from WubTheCaptain
Quote from Zalewa
I'm not sure what's the "definition of done" for this ticket.


I figured this ticket gets stretched a bit beyond the summary.


Additionally, I think the preferred form for making modifications to MaxMind's GeoLite2 Country database is the CSV version (the one tools/geolite2_conv.py processes), not the MMDB binary. Required to satisfy GPLv3's source requirement. Distribute the CSV version alongside IpToCountry.dat in the source tree, too.

User avatar (0019775)
WubTheCaptain (developer)
2018-09-26 01:42

Lastly (?), don't forget to indicate you made changes to the CC BY-SA'd work (converted it to a format Doomseeker understands, if that's applicable [exemptions exist for interoperability in Finnish copyright law at least, I believe]). (CC BY-SA 4.0, section 3, article (a)(1)(B).)

I know, this ticket is messy and could use the help of some child tickets. πŸ˜•
User avatar (0019776)
WubTheCaptain (developer)
2018-09-26 01:47
edited on: 2018-09-26 01:49

Updated issue summary to reflect the actual work needed to be done here.

User avatar (0019779)
Zalewa (developer)
2018-09-26 05:42
edited on: 2018-09-26 05:42

Quote from "Zalewa"
From what I understand this ticket describes this approach as impossible because it would be illegal.

This comment still stands then as we want to release Doomseeker under LGPLv2.1, not GPLv3.

However, it seems the matter is as simple as removing the IpToCountry.dat database from the executable (resources.qrc) and putting it into /usr/share/doomseeker or Doomseeker dir on Windows.

User avatar (0019780)
WubTheCaptain (developer)
2018-09-26 12:08

Quote from WubTheCaptain
Lastly (?), don't forget to indicate you made changes to the CC BY-SA'd work


I wasn't aware of CC BY-SA 4.0 section 2, article (a)(4).

Quote from Zalewa
However, it seems the matter is as simple as removing the IpToCountry.dat database from the executable (resources.qrc) and putting it into /usr/share/doomseeker or Doomseeker dir on Windows.


I'm more dubious of practicability (especially for redistributors) of this, and not convinced due to lack of more detailed interpretation of the two licenses from you. The software still links with IpToCountry.dat (CC BY-SA 4.0). LGPLv2.1+ seemingly allows this (weak copyleft), but how can the CC BY-SA 4.0 license's copyleft be respected in such scenario for binaries? My answer: It cannot be. (I was initially going to say "Probably cannot be [under LGPLv2.1], but maybe under LGPLv3 leastmost could be respected.", but I later found out that's not true.)

Seems trivial to change something from static to dynamic linking if redistributors (NB: not you, The Doomseeker Team) still have to doubt about CC BY-SA 4.0 compliance under something else but GPLv3 or via Creative Commons proxy. It does still have some apparent benefits for redistributors, so I support the idea.

All the better for me (us) if GeoLite2 will be completely optional in use, so that any permanent license termination of CC BY-SA 4.0 does not make using Doomseeker with GeoLite2 useless or illegal too in such scenario beyond exceptions and limitations.

--

And now, the boring detail because I always ought to reason my views (how correct or incorrect ever those may be). I'm afraid it will most often just make me look worse or my opinions get easily dismissed for other reasons (such as in issue 0003510), because I feel like being the one-sided party arguing in this while not receiving arguments and interpretations back in detail. πŸ™ I don't want that to happen... Not the least someone would be asking the right questions for clarification, so I will try to explain almost everything at risk it will make me look worse and less comprehensible.

The benefit of dynamic linking (above) is that Doomseeker binary may (?) become distributable solely under LGPLv2.1+, if it can work without the BY-SA database (e.g., displaying "?" country flags for every server). I say "may", because [insert my incomprehensible question the "corresponding source", removed at last minute]. This may not immediately concern the supplier (Zalewa / Blzut3 at DRDTeam), but does arguably concern redistributors who do not want to infringe the copyrights in Doomseeker (its authors). There's no other benefit in Zalewa's proposal of dynamic linking / seperating the database from the Doomseeker binary.

The other part to solve is the copyleft provision of BY-SA 4.0's effect in Doomseeker, and respect that license.

I'm feeling quiet confident to claim the distribution of static linked Doomseeker binary with GeoLite2 (NB: excluding Doomseeker source code distribution from the claim) under terms of anything but GPLv3-only is unauthorized by the copyright holders (MaxMind), and leads to termination of the CC BY-SA license. (Hey, I believe to have started the 30-day BY-SA 4.0 license termination clock just now or slightly earlier! Oops, BY-SA 3.0 already terminated a long ago for DRDTeam. πŸ™)

"Share" in CC BY-SA 4.0 includes definition of communication, and an "adapted material" [sic] (from here on referred as "adapted work") includes, but is not limited to, "arranging" and "transforming" the works. It is my broad interpretation static or dynamic linking the two pieces fits these definitions. I'm thinking like collages (Commons:Collages), but in this case with software. The comparison to collages seems especially true with static linking.

The "contents" of IpToCountry.dat is not original work of Doomseeker developers; that's almost exclusively under MaxMind's copyright, despite the format change.

CC BY-SA 4.0 prohibits additional terms which restrict rights to that license. Far fetched, there's incompatibilities: LGPLv2.1 does not reinstate the license automatically and terminates immediately, unlike LGPLv3, GPLv3 and CC BY-SA 4.0. (It's far fetched, because changing from MMDB / CVS format to Doomseeker format doesn't seem to be an adaptation under CC BY-SA 4.0 section 2, article (a)(4); thus, there would be no adapter's license grant to terminate to that adapted work and the original BY-SA'd work. But I believe arranging and transforming (= linking) the two works together is an adaptation, so this plays a role.)

Assuming we have an adapted CC BY-SA 4.0 section 3, is LGPLv3 fine then? No... because article (b)(1) essentially says it needs to CC BY-SA 4.0 or later version, or a "BY-SA Compatible License", where the latter's explicit definition requires it to be "approved by Creative Commons as essentially the equivalent of this Public License" at the URL mentioned; and LGPLv3 is not on that list.

I emphasize: The BY-SA compatibility is a required condition of the license. Even though personally I think LGPLv3 (NB: not LGPLv2.1) makes sense with BY-SA 4.0 (NB: not BY-SA 3.0) compatibility in almost every way, the BY-SA 4.0 license does not allow to redistribute any adapted work of LGPLv2.1+/GPLv2+ and BY-SA 4.0 under anything but GPLv3-only + BY-SA 4.0; because Creative Commons (assumably) didn't review the LGPLv3 license for compatibility, and it is not recognized as "BY-SA compatible" by them. πŸ’©

Honestly, I stopped reviewing differences between the two licenses after this was so explicit in BY-SA 4.0.

If I didn't conclude something yet here, it's that Doomseeker binaries with GeoLite2 could be built with a GPLv3 configure flag (CMake, `-DENABLE_GPL`) at compile time. Else it could build without GeoLite2 and distribute under LGPLv2.1+. Neither is really an issue for a motivated redistributor, and not a concern for the source code supplier due to aggregation.

Hopefully my three hours of personal time saved in this note can save some costs on any questions to lawyers per hour. If the situation doesn't satisfy Zalewa, please take it to Creative Commons for compatibility review (if you will agree to at least LGPLv3+), remove GeoLite2 from LGPLv2.1+ distributions (CMake flag) or seek permission from MaxMind to have them relicense GeoLite2 under CC BY-4.0 (or similar compatible license without the conflicting copyleft).
User avatar (0019781)
WubTheCaptain (developer)
2018-09-26 13:00

I got few trivial words wrong (copyright & license, "is authorized" vs "would be unauthorized" or "would be in violation") but the point stays.

And for clarification, I must refer to GPLv3 text what creates an "aggregate" not an "adaptation" (because it was written by lawyers), to conclusively link the two things together:

Quote from GNU General Public License, version 3
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program


I claim linking creates an extension to the LGPLv2.1+'d work.
User avatar (0019782)
Blzut3 (administrator)
2018-09-27 01:11

While I don't disagree with your interpretation of BY-SA, I think that Zalewa's proposal to move it out the binary would indeed work. If you were to take that database and import it into a Microsoft SQL database (MS SQL being the first thing that comes to mind when I think proprietary database software but take your pick), would I be violating the license? To that end I don't think Doomseeker reading the work is equivalent to linking, although this has made me think about just how arbitrary the line is between dynamically linking code and reading a file.

With that said, if I may direct you tohttps://wiki.creativecommons.org/wiki/ShareAlike_compatibility:_GPLv3#Considerations_for_adapters_applying_the_GPLv3 [^]
Quote
This one-way compatibility mechanism with GPLv3 is not for general use. It was designed to help solve a specific problem for those working in niche areas where content is adapted and melded with code. Please take advantage of it only when you are adapting BY-SA 4.0 works and incorporating the adaptation into GPLv3 software in ways that make it difficult or impossible for downstream users to distinguish the content from code.

With a separate file I don't think there's any doubt at all here so per this quote I don't believe the use of CC-BY-SA data has any implications of the licensing of the program. I'm not even certain that having the files separated is a requirement although it might not be a bad idea to be on the safe side.
Quote from WubTheCaptain
And now, the boring detail because I always ought to reason my views (how correct or incorrect ever those may be). I'm afraid it will most often just make me look worse or my opinions get easily dismissed for other reasons (such as in issue 0003510), because I feel like being the one-sided party arguing in this while not receiving arguments and interpretations back in detail. πŸ™ I don't want that to happen... Not the least someone would be asking the right questions for clarification, so I will try to explain almost everything at risk it will make me look worse and less comprehensible.

Please understand that while we disagree on a lot of things I very much appreciate your point of view.
User avatar (0019784)
WubTheCaptain (developer)
2018-09-27 02:10
edited on: 2018-09-27 02:11

Quote from Blzut3
If you were to take that database and import it into a Microsoft SQL database (MS SQL being the first thing that comes to mind when I think proprietary database software but take your pick), would I be violating the license?


I'll be short to answer this theoretical question:

  • Section 2, article (a)(4): Technical modifications necessary are allowed by the licensor. This in itself doesn't create an "adapted material" (adapted work or derivative work)...
  • ...except when you import it to a larger dataset (where Sui Generis Database Rights apply), because you're (essentially) creating an adaptation / a larger work based on all or substantial portions of the CC BY-SA 4.0 work.
  • Section 2, article (a)(5)(C): No additional Effective Technological Measures to restrict the granted rights to the license (e.g., use), granted in section 2.
  • There is no requirement have the adapted work be modifiable under the CC BY-SA 4.0 license. You can still probably query your MS SQL database, or share the database dump. The software used probably plays no role here, I think you can agree.


User avatar (0019798)
Pol M (developer)
2018-09-28 20:36

Is there a consensus? πŸ˜…
User avatar (0019815)
Zalewa (developer)
2018-09-29 11:32

Can this be it?


  1. Download the database from MaxMind, unzip it and add it to the repository (is that really necessary? that's 13 extra Megabytes that's really useless for us)
  2. Update media/IpToCountry.dat with new CC BY-SA 4.0 licensed dataset from MaxMind with tools/geolite2_conv.py, but not with the autodownloaddatabase but by using the geolite2_conv.py's 3-argument mode that allows to specify blocks and locations files from the local filesystem
  3. Keep media/SOURCES.txt at CC BY-SA 4.0
  4. Update about dialog year and text to 2018 / CC BY-SA 4.0
  5. Update tools/geolite2_conv.py copyright year and comment to 2018 / CC BY-SA 4.0 (please add the required attribution blurb from MaxMind too, see below)
  6. Remove IpToCountry.dat from resources.qrc
  7. Get Doomseeker into state where it can run without the IP2C database altogether. The '?' flags shouldn't be displayed. Instead no flags should be displayed apart the icons for LAN and localhost servers.
  8. Ensure Doomseeker is capable of reading the personally downloaded IP2C database from the "IP2C update" feature without having any other copy of the database lying around. The country flags should reappear.
  9. Add IpToCountry.dat from the repo to Doomseeker's distribution/installation as a separate file
  10. Ensure Doomseeker will read this file if there's no personally downloaded IP2C database.
  11. Ensure Doomseeker will read the personally downloaded IP2C database instead of the preinstalled file if such downloaded IP2C database is ready.
  12. Keep releasing under LGPL21+.
User avatar (0019818)
WubTheCaptain (developer)
2018-09-29 13:28

Quote from Zalewa
Download the database from MaxMind, unzip it and add it to the repository (is that really necessary? that's 13 extra Megabytes that's really useless for us)


Needed by Debian, reproducibility and all. Copyright wise perhaps needed by GPLv3-only distribution (if this is how binaries will have to be distributed, source required), not in itself needed by LGPLv2.1+.

Additionally, it's disallowed for Debian packages to download something from the Internet in mid of build process. So yes, it's required for Debian (or else the Debian maintainer has to patch it in).

The rest of the proposal sounds fine, although a little complicated.

Quote from Zalewa
Add IpToCountry.dat from the repo to Doomseeker's distribution/installation as a separate file


Will be DFSG-removed from the Debian package and generated from source (point #1), but I don't think this is your concern.

Quote from Zalewa
Keep releasing under LGPL21+.


Reminding again that irregardless of outcome, Doomseeker's source code remains LGPLv2.1+'d – even if binaries built from LGPLv2.1+ code had to be distributed under terms of GPLv3-only. Beyond that, distributors, e.g. DRD Team, may still have to comply with Qt5's LGPLv3 source offer requirement for Qt5 source because of linking – this is not done yet. Qt4 shrug.
User avatar (0019834)
Blzut3 (administrator)
2018-09-30 01:50

If we're not baking it into the executable, do we actually benefit from having the database in the repo? The alternative is to download/convert it in our release scripts (to be clear for WubTheCaptain: not build time). I can't personally think of any real advantage to including the database in the repo especially given that even without a default Doomseeker can still download and use an updated database at runtime.

I suspect Debian would opt to not distribute a database at all given the closed ticket 0003235. But if they did want to distribute the database they could provide the database themselves and run the Python script during packaging.

Just throwing this out there since typically one want to avoid binary files in the repo a while before it made sense since it was compiled in, I'm not sure it makes sense in the separate file model.
User avatar (0019838)
Zalewa (developer)
2018-09-30 07:12

One thing to keep in mind here is that running the conversion script isn't costless when you're time-constrained. I made it use all CPU cores and split the jobs evenly, but even then

real 1m43.854s
user 0m0.000s
sys 0m0.000s
User avatar (0019854)
Blzut3 (administrator)
2018-10-01 04:58

Not anymore:https://bitbucket.org/Doomseeker/doomseeker/commits/536f21e02e30fb552fcdb8e832b400064bc56fb9 [^] (As I teased in an email to you last night.)
User avatar (0019862)
Pol M (developer)
2018-10-01 17:05
edited on: 2018-10-01 17:09

OK, let's see if I can make something out of this:

  1. Download the database from MaxMind, unzip it and add it to the repository (?)

  2. Quote from Blzut3

    do we actually benefit from having the database in the repo? The alternative is to download/convert it in our release scripts

    So, maybe we shall not add 13MB in the repo?

  3. Update media/IpToCountry.dat with new CC BY-SA 4.0 licensed dataset from MaxMind with tools/geolite2_conv.py, but not with the autodownloaddatabase but by using the geolite2_conv.py's 3-argument mode that allows to specify blocks and locations files from the local filesystem

  4. Affected by the 1st point, so only make a new media/IpToCountry.dat with new CC BY-SA 4.0?

  5. Keep media/SOURCES.txt at CC BY-SA 4.0

  6. Update about dialog year and text to 2018 / CC BY-SA 4.0

  7. Update tools/geolite2_conv.py copyright year and comment to 2018 / CC BY-SA 4.0 (please add the required attribution blurb from MaxMind too, see below)
  8. No problem here.

  9. Remove IpToCountry.dat from resources.qrc

  10. Add IpToCountry.dat from the repo to Doomseeker's distribution/installation as a separate file

  11. Quote from Wub
    Will be DFSG-removed from the Debian package and generated from source (point #1), but I don't think this is your concern.

    So not really necessary to satisfy the ticket?
  12. Get Doomseeker into state where it can run without the IP2C database altogether. The '?' flags shouldn't be displayed. Instead no flags should be displayed apart the icons for LAN and localhost servers.

  13. Ensure Doomseeker is capable of reading the personally downloaded IP2C database from the "IP2C update" feature without having any other copy of the database lying around. The country flags should reappear.

  14. Ensure Doomseeker will read this file if there's no personally downloaded IP2C database.

  15. Ensure Doomseeker will read the personally downloaded IP2C database instead of the preinstalled file if such downloaded IP2C database is ready.
  16. This, even if it turns out not to be necessary, Could be implemented. This could easily be a ticket on its own.


I'm trying to get the ideas clear, this ticket turned out to be a lot more complex than expectedπŸ€”. I'm getting quite confused, and it is not helping the fever I'm dealing with πŸ˜‚πŸ˜…

User avatar (0019866)
Zalewa (developer)
2018-10-01 17:31
edited on: 2018-10-01 17:34

Quote from Pol M

Add IpToCountry.dat from the repo to Doomseeker's distribution/installation as a separate file

    > Quote from Wub
    > Will be DFSG-removed from the Debian package and generated from source (point #1), but I don't think this is your concern.


So not really necessary to satisfy the ticket?

We package the program for Windows, for Ubuntu and for Mac OS, so it is necessary. We must be able to prepare a correct installation package because we do prepare installation packages for all those systems. See our download page:http://doomseeker.drdteam.org/download.php# [^]

If you're unsure how to do this, seek out install() statements in CMakeLists.txt. If you don't wish to muddle with Windows stuff, leave it to me - I'll take care of it.



Quote from Pol M

> Ensure Doomseeker will read the personally downloaded IP2C database instead of the preinstalled file if such downloaded IP2C database is ready.

This, even if it turns out not to be necessary, Could be implemented. This could easily be a ticket on its own.


This is necessary because that's how Doomseeker works right now - the only difference is that the "preinstalled" database is not placed on the filesystem but baked directly into "doomseeker" binary ("doomseeker.exe" on Windows). In addition, there's also a secondary mechanism that will read this database from disk if it's placed in a specific location. Doomseeker will prefer to do this over reading the one that's baked in, in hope that this disk-database is more up-to-date than the baked in. Thanks to this, we can issue updates of the database that people use without releasing new version of Doomseeker. If you open the IP2C update box from the menu "File | Update IP2C" it will tell you where the downloaded database is.

User avatar (0019867)
WubTheCaptain (developer)
2018-10-01 17:33

Quote from Blzut3
Not anymore:https://bitbucket.org/Doomseeker/doomseeker/commits/536f21e02e30fb552fcdb8e832b400064bc56fb9
[^]

The best commit of 2018. πŸ‘

Any benchmarks?

Quote from Zalewa
So, maybe we shall not add 13MB in the repo?


I don't see an issue (yet) for package maintainers either way. 🀷

Quote from Zalewa
So not really necessary to satisfy the ticket?


IpToCountry.dat is a binary format, not the preferred form for modifications. The 13 MB CSV lump is for that.

If it's seperate from the binary and loaded at runtime: Dunno.

If it's built-in to resources.qrc: GPLv3 almost certainly, source (CSV file) required in source code tarball release.

Quote from Zalewa
I'm getting quite confused


Ditto.
User avatar (0019868)
Zalewa (developer)
2018-10-01 17:36
edited on: 2018-10-01 17:39

Wub, you're actually quoting Pol here :)

Quote from WubTheCaptain

Any benchmarks?


New version:


real 0m1.960s
user 0m0.000s
sys 0m0.000s


Thanks, Blzut! That's really awesome.

User avatar (0019876)
Pol M (developer)
2018-10-01 18:47

Quote from Zalewa

If you're unsure how to do this, seek out install() statements in CMakeLists.txt. If you don't wish to muddle with Windows stuff, leave it to me - I'll take care of it.


I cannot access Windows computers that easily. I'll leave this ticket.
User avatar (0019909)
Zalewa (developer)
2018-10-04 21:42

I'll be taking care of this ticket next.
User avatar (0019932)
Zalewa (developer)
2018-10-06 11:14
edited on: 2018-10-06 11:54

(note split to 0003537:0019934)

Now, onto sourcing of the database.

(note split to 0003538)

I'll let this linger for a moment before taking further action.

User avatar (0019938)
WubTheCaptain (developer)
2018-10-06 11:55

Zalewa: There's multiple unrelated issues. I've split your note to issues 0003537 and 0003538.
User avatar (0019942)
WubTheCaptain (developer)
2018-10-06 12:51
edited on: 2018-10-06 12:54

To resolve this ticket:

  1. Update media/IpToCountry.dat with new CC BY-SA 4.0 licensed dataset from MaxMind with tools/geolite2_conv.py
  2. Keep media/SOURCES.txt at CC BY-SA 4.0
  3. Update about dialog year and text to 2018 / CC BY-SA 4.0
  4. Update tools/geolite2_conv.py copyright year and comment to 2018 / CC BY-SA 4.0 (please add the required attribution blurb from MaxMind too)
  5. new: Include this blurb in about dialog (and geolite2_conv.py?) (from GeoLite2-Country-CSV_20181002/LICENSE.txt): "This database incorporates GeoNames [http://www.geonames.org] geographical data, which is made available under the Creative Commons Attribution 3.0 License. To view a copy of this license, visithttp://www.creativecommons.org/licenses/by/3.0/us/." [^]


The rest is irrelevant to this ticket; see the other related issue tickets. Can we agree to this resolution?

User avatar (0019943)
WubTheCaptain (developer)
2018-10-06 12:53

Quote from WubTheCaptain
new: Include this blurb in about dialog (and geolite2_conv.py?) (from GeoLite2-Country-CSV_20181002/LICENSE.txt): "This database incorporates GeoNames [http://www.geonames.org] geographical data, which is made available under the Creative Commons Attribution 3.0 License. To view a copy of this license, visithttp://www.creativecommons.org/licenses/by/3.0/us/."
[^]

Actually this may be possibly irrelevant to IpToCountry.dat and this ticket, but relevant to 0003538 (we don't use latitude/longitude in IpToCountry.dat).
User avatar (0019958)
Zalewa (developer)
2018-10-06 17:45
edited on: 2018-10-06 17:45

Progress on this will continue as stated in comment 0003512:0019942.

User avatar (0019976)
Zalewa (developer)
2018-10-07 06:16

One last thing that concerns me:

With this commit the database has become an optional component. However, the "This program uses GeoLite2 database..." remains in the About dialog regardless if the database is loaded or not. Furthermore, there's an unrealistic but still possible chance of someone using some other data source to build IpToCountry.dat, which would make this statement even more false.

Should the statement be removed from the dialog if there's no database loaded?
User avatar (0019977)
Blzut3 (administrator)
2018-10-07 06:39

While I'm curious on Wub's opinion on the subject, I would say that trying to make the about dialog perfectly accurate is basically impossible. For example Qt5 versions of Doomseeker are technically LGPLv3 or GPLv3 since it's impossible to distribute the combined work otherwise. Similarly Qt4 builds would be LGPLv2.1 or LGPLv3 (not "or later"). And of course this all changes if someone paid for the commercial license for Qt where suddenly the Qt5 version can probably be LGPLv2.1 again.

And as you say technically some one could replace the third party files with ones from wherever which has more implications on the license text. So in my opinion I'd rather just leave it there and overstate.
User avatar (0019984)
Zalewa (developer)
2018-10-07 09:30

As IP2C stuff was moved to the blobs repository, so was the documentation. Relevant statements were updated in this commit:https://bitbucket.org/Doomseeker/doomseeker-blobs/commits/0720ceb57706e883d2e6627cba8eebe5cd26b5aa [^]
I think the whole repository can now be inspected for any remaining issues.

From Doomseeker's perspective all that was left was the statement in the About dialog, which should be covered here:https://bitbucket.org/Doomseeker/doomseeker/commits/ee388847d67dcc4b7c59484e51807a79f0ad2b4c [^]
User avatar (0019991)
WubTheCaptain (developer)
2018-10-07 10:49
edited on: 2018-10-07 10:49

Quote from Zalewa
One last thing that concerns me:


New issue 0003543.

I think this issue ticket is resolved as soon as I take a look at 0003538.


Issue Community Support
This issue is already marked as resolved.
If you feel that is not the case, please reopen it and explain why.
Supporters: No one explicitly supports this issue yet.
Opponents: No one explicitly opposes this issue yet.

- Issue History
Date Modified Username Field Change
2018-09-22 23:20 WubTheCaptain New Issue
2018-09-22 23:20 WubTheCaptain Steps to Reproduce Updated View Revisions
2018-09-22 23:21 WubTheCaptain Relationship added child of 0003237
2018-09-22 23:48 WubTheCaptain Priority normal => high
2018-09-24 01:19 Blzut3 Target Version => 1.2
2018-09-24 21:52 Pol M Assigned To => Pol M
2018-09-24 21:52 Pol M Status new => assigned
2018-09-24 22:07 Pol M Note Added: 0019721
2018-09-24 22:13 WubTheCaptain Status assigned => needs review
2018-09-24 22:13 WubTheCaptain Note Added: 0019722
2018-09-24 23:42 WubTheCaptain Note Added: 0019729
2018-09-25 15:26 Pol M Note Added: 0019754
2018-09-25 15:27 Pol M Note Edited: 0019754 View Revisions
2018-09-25 15:28 Pol M Note Edited: 0019754 View Revisions
2018-09-25 18:06 WubTheCaptain Note Added: 0019758
2018-09-25 18:13 Pol M Note Added: 0019759
2018-09-25 20:50 Zalewa Note Added: 0019764
2018-09-25 23:42 WubTheCaptain Note Added: 0019768
2018-09-25 23:46 WubTheCaptain Status needs review => assigned
2018-09-25 23:55 WubTheCaptain Note Added: 0019769
2018-09-26 00:05 WubTheCaptain Note Added: 0019770
2018-09-26 01:25 WubTheCaptain Note Added: 0019774
2018-09-26 01:27 WubTheCaptain Note Edited: 0019774 View Revisions
2018-09-26 01:42 WubTheCaptain Note Added: 0019775
2018-09-26 01:46 WubTheCaptain Category Bug => Suggestion
2018-09-26 01:46 WubTheCaptain Summary MaxMind GeoLite2: Outdated CC BY-SA 3.0 license statement in "About Doomseeker" dialog => MaxMind GeoLite2: Update from CC BY-SA 3.0 licensed dataset to newer CC BY-SA 4.0 licensed work
2018-09-26 01:47 WubTheCaptain Note Added: 0019776
2018-09-26 01:49 WubTheCaptain Note Edited: 0019776 View Revisions
2018-09-26 05:42 Zalewa Note Added: 0019779
2018-09-26 05:42 Zalewa Note Edited: 0019779 View Revisions
2018-09-26 12:08 WubTheCaptain Note Added: 0019780
2018-09-26 13:00 WubTheCaptain Note Added: 0019781
2018-09-27 01:11 Blzut3 Note Added: 0019782
2018-09-27 02:10 WubTheCaptain Note Added: 0019784
2018-09-27 02:11 WubTheCaptain Note Edited: 0019784 View Revisions
2018-09-28 20:36 Pol M Note Added: 0019798
2018-09-29 11:32 Zalewa Note Added: 0019815
2018-09-29 13:28 WubTheCaptain Note Added: 0019818
2018-09-30 01:50 Blzut3 Note Added: 0019834
2018-09-30 07:12 Zalewa Note Added: 0019838
2018-10-01 04:58 Blzut3 Note Added: 0019854
2018-10-01 17:05 Pol M Note Added: 0019862
2018-10-01 17:09 Pol M Note Edited: 0019862 View Revisions
2018-10-01 17:31 Zalewa Note Added: 0019866
2018-10-01 17:33 Zalewa Note Edited: 0019866 View Revisions
2018-10-01 17:33 WubTheCaptain Note Added: 0019867
2018-10-01 17:34 Zalewa Note Edited: 0019866 View Revisions
2018-10-01 17:36 Zalewa Note Added: 0019868
2018-10-01 17:39 Zalewa Note Edited: 0019868 View Revisions
2018-10-01 18:47 Pol M Note Added: 0019876
2018-10-01 18:49 Pol M Assigned To Pol M =>
2018-10-01 18:51 Pol M Status assigned => confirmed
2018-10-04 21:42 Zalewa Assigned To => Zalewa
2018-10-04 21:42 Zalewa Status confirmed => assigned
2018-10-04 21:42 Zalewa Note Added: 0019909
2018-10-06 11:14 Zalewa Note Added: 0019932
2018-10-06 11:15 Zalewa Note Edited: 0019932 View Revisions
2018-10-06 11:16 Zalewa Note Edited: 0019932 View Revisions
2018-10-06 11:20 WubTheCaptain Note Added: 0019933
2018-10-06 11:26 WubTheCaptain Note View State: 0019932: private
2018-10-06 11:28 WubTheCaptain Relationship added related to 0003537
2018-10-06 11:31 WubTheCaptain Note Edited: 0019932 View Revisions
2018-10-06 11:31 WubTheCaptain Note View State: 0019932: public
2018-10-06 11:31 WubTheCaptain Note Deleted: 0019933
2018-10-06 11:50 WubTheCaptain Relationship added related to 0003538
2018-10-06 11:54 WubTheCaptain Note Edited: 0019932 View Revisions
2018-10-06 11:55 WubTheCaptain Note Added: 0019938
2018-10-06 12:01 WubTheCaptain Relationship deleted related to 0003538
2018-10-06 12:37 WubTheCaptain Relationship added parent of 0003538
2018-10-06 12:38 WubTheCaptain Relationship replaced related to 0003538
2018-10-06 12:42 WubTheCaptain Relationship replaced parent of 0003538
2018-10-06 12:51 WubTheCaptain Note Added: 0019942
2018-10-06 12:51 WubTheCaptain Status assigned => feedback
2018-10-06 12:53 WubTheCaptain Note Added: 0019943
2018-10-06 12:53 WubTheCaptain Status feedback => assigned
2018-10-06 12:54 WubTheCaptain Status assigned => feedback
2018-10-06 12:54 WubTheCaptain Note Edited: 0019942 View Revisions
2018-10-06 12:56 WubTheCaptain Note View State: 0019774: private
2018-10-06 12:57 WubTheCaptain Note View State: 0019774: public
2018-10-06 17:45 Zalewa Note Added: 0019958
2018-10-06 17:45 Zalewa Status feedback => assigned
2018-10-06 17:45 Zalewa Note Edited: 0019958 View Revisions
2018-10-06 17:45 Zalewa Note Edited: 0019958 View Revisions
2018-10-07 06:16 Zalewa Note Added: 0019976
2018-10-07 06:39 Blzut3 Note Added: 0019977
2018-10-07 09:30 Zalewa Note Added: 0019984
2018-10-07 09:30 Zalewa Status assigned => needs review
2018-10-07 10:47 WubTheCaptain Relationship added related to 0003543
2018-10-07 10:49 WubTheCaptain Note Added: 0019991
2018-10-07 10:49 WubTheCaptain Note Edited: 0019991 View Revisions
2018-10-07 11:05 WubTheCaptain Relationship replaced parent of 0003543
2018-10-07 11:14 WubTheCaptain Status needs review => resolved
2018-10-07 11:14 WubTheCaptain Fixed in Version => 1.2
2018-10-07 11:14 WubTheCaptain Resolution open => fixed






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker