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
0003237Doomseeker[All Projects] Bugpublic2017-09-01 13:282017-10-22 22:58
ReporterWubTheCaptain 
Assigned ToZalewa 
PriorityhighSeverityblockReproducibilityN/A
StatusassignedResolutionopen 
Platformx86_64 (really cross-platform)OSDebian GNU/LinuxOS Versionbuster/sid
Product Version1.1 
Target VersionFixed in Version 
Summary0003237: Non-free files and copyright issues in source archive
DescriptionTo create package suitable for inclusion in Debian GNU/Linux, much of Doomseeker's source code needs to be omitted, patched and/or repackaged without files which don't come with a copyright or license notice to meet Debian Free Software Guidelines (DFSG). There are also non-free files or files without copyright/license notice, which is a blocker for redistributing packages.

Arguably it's unsafe to assume everything to be under GPLv2(+) without explicitly stating so, and also impossible to tell if a source file is under "GPLv2 only" or "GPLv2+" (any later version) without a license heading. The origins of each file must be known certainly for inclusion.

Not every file needs to be under GPLv2+ of course, only under a compatible license. GNU All-Permissive license is suitable for small README files, for example. For media files and such where metadata is not possible to attach, human-readable instructions of licensing in COPYING file or similar will do the work.

One concrete example: tools/geolite2_conv.py has no free license stated, but claims "(c) The Doomseeker Team 2016." (Whether this is enforceable or not is a different issue, depending on if "The Doomseeker Team" is a legal entity recognized by courts.)

Other issues: In some non-Berne convention countries, (c) or (C) alone may not be enough and may need to include the word "Copyright" or symbol ©. Lintian tag copyright-with-old-dh-make-debian-copyright.
Steps To Reproduce

  1. wgethttp://doomseeker.drdteam.org/files/doomseeker-1.1_src.tar.bz2 [^] # Retrieves the source archive

  2. tar xvfz doomseeker-1.1_src.tar.bz2 # Extracts the archive

  3. Use standard system utilities (see intro(1) man page) to browse and read the files.

  4. licensecheck --recursive ./ reproduces attached licensecheck.log.

  5. debmake -c reproduces debmake-c.log (may need to create Debian stub files with dh_make first).



Additional InformationAttached logs also have false positives, but many true positives too.
Attached Fileslog file icon debmake-c.log [^] (172,856 bytes) 2017-09-01 13:28
log file icon dpkg.log [^] (506 bytes) 2017-09-01 13:28
log file icon licensecheck.log [^] (144,059 bytes) 2017-09-01 13:28
log file icon licensecheck.problems-and-ambiguities.log [^] (13,793 bytes) 2017-09-18 16:48
log file icon licensecheck.problems-and-ambiguities_progress1.log [^] (9,778 bytes) 2017-10-07 12:23

- Relationships
parent of 0003298resolvedBlzut3 Multiple variations of Blzut3's name in copyright notices 
parent of 0003309feedbackWubTheCaptain FixedFtpReply and FixedNetworkAccessManager have missing license files 
related to 0003295closedWubTheCaptain Rename LICENSE files to COPYING 
child of 0003246assignedWubTheCaptain Debian packaging. 
child of 0003292acknowledged Microsoft Windows packaging (Windows Installer) 
Not all the children of this issue are yet resolved or closed.

-  Notes
User avatar (0018208)
WubTheCaptain (developer)
2017-09-01 13:31
edited on: 2017-09-01 13:31

In example, the dependencies folder comes with binary Windows objects for bzip2 1.0.6 and zlib 1.2.3. The Debian package maintainer needs to repack a DFSG source archive without these objects for each release (which can be somewhat automated in debian/copyright Files-Excluded field).

User avatar (0018214)
WubTheCaptain (developer)
2017-09-01 16:32
edited on: 2017-09-01 16:33

I also found out there's no real documentation about Doomseeker's binaries being redistributable under GPLv3(+?) only, because of LGPLv3(+?) dependency on Qt5.

Quite the opposite, in fact: "This program is distributed under the terms of the GPL v2." in about dialog. Uh oh.

User avatar (0018232)
Blzut3 (administrator)
2017-09-06 01:15

Doomseeker is GPLv2+, Wadseeker is LGPLv2.1+ so while the about page is wrong it is in the clear. I have no issues with fixing this although any chance you might have a link to an explanation of what makes LGPLv2.1 incompatible with LGPLv3? All I can find without digging into the text of the license itself is the statement that it is not. Which seems strange to me if I could mix it with 100% proprietary code, but not GPLv2/LGPLv2.1. Unless it's just a quirk with how the GPL requires that all code fit under its exact terms.
User avatar (0018234)
WubTheCaptain (developer)
2017-09-06 05:54
edited on: 2017-09-17 17:13

There might have been a miscommunication or misunderstanding. The Free Software Foundation has published a compatibility table:https://www.gnu.org/licenses/gpl-faq.en.html#AllCompatibility [^]

So if you want to use a library under LGPLv3 (Qt5), the combination (executable) should be ok under GPLv3. (No word on GPLv3+ and LGPLv3+, but I would assume the "or later" clause applies.)

Qt4 could be built with LGPL 2.1-mode and I tested I could still build Doomseeker 1.1 with Qt4. Thus Qt4 builds can remain under GPLv2+, while Qt5 are GPLv3(+).

User avatar (0018304)
Zalewa (developer)
2017-09-17 17:04

In regards to licenshecheck tool:

1. How do we satisfy the errors it prints for .png files or other images?

2. How do we satisfy the errors for code that is not ours?

2.1. Some of this belongs to bzip/zlib dependencies that can be statically linked into Doomseeker but also can be replaced by OS libraries: bzip/zlib. This code is actually forcefully statically linked in Windows builds because finding compatible, pre-built library versions on Windows is a nightmare born in hell.

2.2. There is some code that is used to build tools that are:

a) only needed during building and not distributed at all, or
b) distributed only on Windows as separate .exe files

2.3. lzma is "public domain", yet the tool spills out problems. Should we ignore that?

2.4. .ui and .ts files are generated by Qt tools.

2.5. doxygen.* files are generated by doxygen, albeit we can alter them pretty safely to add license header. But, should we? It was generated by a tool, even if it was later modified by hand.

2.6. ./src/core/CMakeFileListing.txt is a file that is generated by building tools.

3. tools/doomseeker-portable.bat is a one-liner. Do I need to add "rem" lines with GPL preamble there? This file is only needed on Windows, so probably not due to being out of scope for Debian.

4. What is the exact definition of done here? If I grep the licensecheck log file by UNKNOWN it spills out 1174 lines. Do we need to get this down to zero?


$ grep UNKNOWN licensecheck.log-1.txt | wc -l
1174


If I grep out files that I believe should not be touched by us, I get a smaller list where most files I can agree need amending, however, how can I be sure that whatever I'll do will be satisfactory?


$ grep UNKNOWN licensecheck.log-1.txt | \
    grep -i -v \\.png | \
    grep -v tools/updateinstaller | \
    grep -v tools/updaterevision | \
    grep -v /lzma/ | \
    grep -v \\.ts | \
    grep -v \\.ui | \
    grep -v /bzip2/ | \
    grep -v /zlib/ | \
    grep -v /dependencies/ | \
    wc -l
108
User avatar (0018305)
Zalewa (developer)
2017-09-17 17:28

Since the licensing in the source files indeed states that any "later" (L)GPL version can be used, we should probably amend all text that states that Doomseeker/Wadseeker is on (L)GPLv2(.1) and doesn't state "or later".
User avatar (0018314)
WubTheCaptain (developer)
2017-09-18 08:49
edited on: 2017-09-18 13:43

Quote from Zalewa
1. How do we satisfy the errors it prints for .png files or other images?


Those can be manually reviewed by the packager. As long as there's a notice somewhere stating everything under X is licensed under Y (or a COPYING file in that subdirectory), that's good enough for me. Some may interpret more broadly everything not explicitly stated to be under the project's license (GPLv2+/COPYING). Of course, it must a free license or else it may be excluded or replaced in Debian.

Quote from Zalewa
2. How do we satisfy the errors for code that is not ours?


Can you give an example?

If it can be satisfied with my answer to #1, that's fine. If it's non-free, then it should be replaced or removed (or if distribution permits, at most non-free archive in Debian). If it's non-essential to a Debian package, then it may be excluded in a DFSG release.

Quote from Zalewa
2.1. Some of this belongs to bzip/zlib dependencies that can be statically linked into Doomseeker but also can be replaced by OS libraries: bzip/zlib. This code is actually forcefully statically linked in Windows builds because finding compatible, pre-built library versions on Windows is a nightmare born in hell.


I have proposed at issue 0003238 to distribute those seperately (and create documentation how to acquire/build it on Windows). I'm not sure what exactly would need to be done to do this.

bzip2 license is somewhat similar to a BSD-license/zlib license and permits binary distributions sure. zlib is the same and compatible with GPL, but I believe the problem expressed here is the conflict with Debian's policy. The binaries without source can be excluded from a DFSG package in Debian, probably.

Quote from Zalewa
2.2. There is some code that is used to build tools that are


If make clean can remove it after build, that's fine for Debian I suppose. Not sure what the question (if any) was here.

Quote from Zalewa
2.3. lzma is "public domain", yet the tool spills out problems. Should we ignore that?


The code seems to be public domain, so it's a false positive in licensecheck. I can handle this manually. The documentation/specifications licensing is a bit more ambiguous: src/wadseeker/lzma/7zC.txt for example has this top heading and license text:

7z ANSI-C Decoder 9.35
----------------------

...

LICENSE
-------

7z ANSI-C Decoder is part of the LZMA SDK.
LZMA SDK is written and placed in the public domain by Igor Pavlov.


I would assume good faith of the creative mind behind the work and assume all of it to be under public domain without warranty expressions. I doubt it causes any problems for Debian, but if it does the specifications can be excluded in a DFSG release but the code will stay.

Quote from Zalewa
.ui and .ts files are generated by Qt tools.


This is a false positive too. Qt is free, so there's no issue with freedom. .ts files seem to be translations created by this project, so they're covered under Doomseeker's license (GPLv2+). Probably the same for .ui files:

Quote from LGPLv2.1
The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it).


A copyright notice (who authored the UI design/translations in what year) would be preferable to mention/document somewhere, although not a strict requirement. Mercurial commit logs may be enough for this.

Quote from Zalewa
2.5. doxygen.* files are generated by doxygen, albeit we can alter them pretty safely to add license header. But, should we? It was generated by a tool, even if it was later modified by hand.


See #1: An external COPYING notice is fine, a false positive in that case. Preferable if one can build the doxygen files from doxygen sources instead.

Quote from Zalewa
2.6. ./src/core/CMakeFileListing.txt is a file that is generated by building tools.


See previous.

Quote from Zalewa
tools/doomseeker-portable.bat is a one-liner.


A command to start the .exe executable with --portable flag is below threshold of originality, ineligible for copyright/public domain as stand-alone. False positive in such case.

Quote from Zalewa
What is the exact definition of done here? If I grep the licensecheck log file by UNKNOWN it spills out 1174 lines. Do we need to get this down to zero?


There's false positives, sure. Preferably do what you can for Doomseeker/Wadseeker sources, but it's not a strict requirement if the files are free. Doing so would at least make a package maintainer's life easier and avoid ambiguity for redistributors.

Autogenerated files probably don't need to be touched where not feasible.

Remove or replace whatever is non-free and can't be distributed under GPLv2+ from the main source code distribution.

User avatar (0018315)
WubTheCaptain (developer)
2017-09-18 09:02
edited on: 2017-09-18 09:04

Quote from Zalewa
Since the licensing in the source files indeed states that any "later" (L)GPL version can be used, we should probably amend all text that states that Doomseeker/Wadseeker is on (L)GPLv2(.1) and doesn't state "or later".


Yes, I believe so. I believe else the non-source forms from build output will be distributable under GPLv2 or LGPLv2.1 only.

User avatar (0018322)
WubTheCaptain (developer)
2017-09-18 14:13

I will look further into this.

Doxygen source is GPLv2 with Qt exception. Whether Doomseeker or Doxygen's copyright applies to Doxygen files I'm not entirely sure, but for distribution it doesn't matter because the license is all the same.

I'll post a cleaned up licensecheck log once finished to better define "done" for this ticket.
User avatar (0018323)
WubTheCaptain (developer)
2017-09-18 17:01
edited on: 2017-09-18 17:04

licensecheck.problems-and-ambiguities.log is now available. An overview:


  • Some have real licenses or are ineligible for copyright, so I've removed them manually from the output.

  • Some things will be nuked from Debian DFSG package. Those are marked appropriately and should have consideration to be removed where possible.

  • media/icons/buddies.png seems to be non-free and should be replaced (unfortunately). Freedoom, anyone?

  • Exact sources for some media icons are missing. Some are ineligible for copyright. Flags are public domain.

  • Zalewa has some Doomseeker code in there with copyright notices but no permission for GPLv2+. Those are marked too.

  • media/slotstyles/marines/ I'm unsure, so I left it up for a question.

  • Core source has few files without copyright notice and no permission notice.

  • tools/updateinstaller/external/AnyOption/* is a non-free release, needs update to Expat released version.

  • tools/updateinstaller/external/verpatch/* is CPOL licensed, non-free. Must be removed.

  • tools/updateinstaller/external/win32cpp/* has more of this CPOL crap.

  • tools/updateinstaller/* in general is a pile of stinky poo I don't want to deal with. Code duplication (minizip), zlib contribs (removed in Debian), just a pain in the ass.

  • CMakeLists.txt files are probably copyrightable and manually crafted.



https://www.gnu.org/licenses/license-list.en.html#cpol [^]

User avatar (0018324)
Zalewa (developer)
2017-09-18 17:15

Thankfully, nothing from tools/updateinstaller/ is needed on Linux.
User avatar (0018325)
WubTheCaptain (developer)
2017-09-18 17:18

True, but I believe tools/updateinstaller/* would need to be distributed seperately – if at all. How's Windows binaries, are they legal?
User avatar (0018326)
Zalewa (developer)
2017-09-18 18:31

Quote from "WubTheCaptain"
How's Windows binaries, are they legal?

Not in the clear, I would suspect, as one thing that is definitely missing is LICENSE file for the updater executable.

The update tool works like this:

1. As the "package maintainer", you build the complete software and `make install` it into a temporary directory. This prepares a full deployment of Doomseeker that you can now pack into a .zip file and redistribute to other computers. The program will run after extraction on any Windows XP or newer without any external dependencies needed - MSVC runtime DLLs are also provided in the package.

2. Mendeley Updater is also built and `make installed` as an "updater.exe" executable, which is bundled in Doomseeker package archive next to doomseeker.exe. We have altered Mendeley Updater's code to fit Doomseeker "theme", so: we changed the icon to Doomseeker's, the executable file metadata to state our ownership and also we changed some code because of problems. The customization alterations were done in accordance to the customization guidelines in Mendeley's README.md:https://github.com/Mendeley/Update-Installer#customizing-the-updater [^]

2.1. No part of Mendeley Updater is linked with doomseeker.exe.

3. Mendeley Updater comes with 2 Ruby scripts - one of those came with the original Mendeley Updater, but had to be modified by us due to problems. The other script was authored by us. These scripts are not `make installed` or otherwisely linked with any part of Doomseeker and only serve the "package maintainer" to build the update packages. When you run these Ruby scripts, showing them the directory where you `make installed` Doomseeker, they prepare .zip archives and .xml description files that is understood and handled by Mendeley Updater. Each .zip gets an .xml. How many are there depends on 4.

4. There are additional .js files that contain JSON structure understood by those Ruby scripts. They are located in "tools/updateinstaller/tools/(win32|macosx)-configs" directories. These .js files describe which files go into which update package. We build several separate packages: the core program, 3rd party dependency DLLs (Qt, MSVC), Wadseeker and each plugin also has its own update package. This is done to a) preserve bandwidth and b) allow to omit updating plugins that the user doesn't have in the first place. As with 3., these .js files are not packaged into Doomseeker.

5. Each package mentioned in 3. is also listed in a single, generated update-info.js file. This file describes the newest versions of each package, their names and download URLs.

6. Once we build the packages and the update-info.js file we upload them to a special directory on our website. From this point users will see that there's a new update available.


Now, the update process works like this:

1. Doomseeker (as in doomseeker.exe) downloads the update-info.js file from our website.

2. It compares package versions from this file to package versions loaded in its process's memory.

3. If there are any discrepancies (yes, even if the version number in the file is lower than the installed one), it will offer the download. When download completes, Doomseeker will notify the user that restart is required to install the updates. Depending on user configuration this process might be fully or half-automatic.

4. Upon shutdown or next start of "doomseeker.exe", it is detected that an update is pending installation and "updater.exe" is called with appropriate command line arguments. The "updater.exe" needs to be first copied by Doomseeker into a temporary file itself and run from that temporary copy, because Windows forbids overwriting of executables or DLLs that are running as processes. Running that temporary copy allows "updater.exe" to overwrite itself.

5. "updater.exe" overwrites the installed files with files from the update packages and restarts "doomseeker.exe" with appropriate arguments. It can notify "doomseeker.exe" if installation was successful or not through command line arguments.
User avatar (0018356)
Blzut3 (administrator)
2017-09-22 22:00

After some private discussion and contacting the few 3rd party contributors we have relicensed Doomseeker and all plugins to LGPLv2.1+ to remove any potential issues with library linking.
User avatar (0018357)
WubTheCaptain (developer)
2017-09-23 01:23
edited on: 2017-09-23 01:32

https://bitbucket.org/Doomseeker/doomseeker/commits/e4e1c693b3d94563d6da448d1c728f4357f6620a [^]

This relicensing caught me by surprise. The about dialog still makes no mention of "or any later version" though, so I'm not entirely sure what library linking we're talking about. (Qt is mentioned, but there may not have been an issue with Qt linking?) I'm not opposed, only curious.

User avatar (0018408)
WubTheCaptain (developer)
2017-09-28 00:32

Note to self: Some icons came from 0001874.
User avatar (0018409)
Blzut3 (administrator)
2017-10-01 19:50

I'll probably change it to read "or any later version" in the about page but kind of going back and forth on if that language even is meaningful in binary releases. With LGPL it shouldn't matter.

The relicense was done on principle rather than technical need. For awhile I've been believing that anything more restrictive than LGPL is too restrictive, and, while I don't want to put words in Zalewa's mouth, he shares similar feelings. Both of us typically release our other code under more permissive licenses like BSD. The fact that we could have, hypothetically speaking, been in a scenario where we were not able to upgrade Qt versions (i.e. if we were GPLv2 only) when that wouldn't have been our intention with the license is just the final straw.
User avatar (0018414)
Zalewa (developer)
2017-10-02 21:48
edited on: 2017-10-02 21:49

This commit should take care of all C++ and CMake files that had the preamble missing and it was obvious they should have it:https://bitbucket.org/Doomseeker/doomseeker/commits/4301950467ec4e3e54a6a1f3c51d296d68c0903d [^]

Media files will be dealt with subsequently.

I'll leave files that I'm unsure about for last.

User avatar (0018417)
WubTheCaptain (developer)
2017-10-02 23:03

Note: geolite2_conv.py was liberated there:https://bitbucket.org/Doomseeker/doomseeker/commits/f35541193055b5364f1f6aff8aa77cf8132111a9 [^]
User avatar (0018472)
WubTheCaptain (developer)
2017-10-07 12:22

Zalewa pushed commits.

About dialog "or later":https://bitbucket.org/Doomseeker/doomseeker/commits/0dba2ec82ddda80b1252c8523d0a3c9148cea9d6 [^]

releasescripts/*, tools/updateinstaller/tools/build-update-kit.rb and src/core/doxygen.dox should now also be (explicitly) free:https://bitbucket.org/Doomseeker/doomseeker/commits/455cdaa2030f5d06dcae10d133172272142669c9 [^]
User avatar (0018473)
Zalewa (developer)
2017-10-07 12:23

Progress:

1.https://bitbucket.org/Doomseeker/doomseeker/commits/58cc465927c77baaaa41e5d5089767e57cf20c06 [^] - moved zlib/bzip2 to dependencies/ dir.
This should unclutter the root dir. dependencies/NOTES.txt that now accompanies both zlib and bzip2 explains why they are there and when they should be used. See 3238#c18471.

2.https://bitbucket.org/Doomseeker/doomseeker/commits/455cdaa2030f5d06dcae10d133172272142669c9 [^] - more LGPL preambles.
releasescripts/*, build-update-kit.rb, doxygen.dox.

3.https://bitbucket.org/Doomseeker/doomseeker/commits/0dba2ec82ddda80b1252c8523d0a3c9148cea9d6 [^] - "or later"
Adds missing "or later" to the about dialog.

I'm also uploading updated "licensecheck.problems-and-ambiguities.log" file. I have removed the files that I dealt with and grouped the remaining files into categories with some comments. I posted some questions there and request further feedback.
User avatar (0018474)
WubTheCaptain (developer)
2017-10-07 13:29

Quote from Zalewa
If it's nevertheless necessary to include the copyright & license statement, will a small one or two-liner footnote at the end of the file be sufficient? Ie.


At least it works for licensecheck to detect LGPLv2.1+, but interpreting and following the LGPL license for documentation can be dodgy at best. If using the LGPL for documentation, it'd be best to also explicitly mention the LGPL's references to "object code" and "executables" to be interpreted as the output of any document formatting or typesetting system, including intermediate and printed output. That way, it's reusable in more formats other than plain text.

In other words, the LGPL wasn't really made for documentation and may create practical issues with corner-cases... probably not what you intended.

Here's GNU All Permissive:

  Copyright (C) <YEAR> The Doomseeker Team

  Copying and distribution of this file, with or without modification,
  are permitted in any medium without royalty provided the copyright
  notice and this notice are preserved.


Would this be a fine solution? licensecheck calls it "FSF All Permissive".

If you insist, I can trust your statement for it to be under LGPLv2.1+ despite the practical issues it may create for documentation. It will still be free for most uses.

Quote from Zalewa
Can we copyright or license Sonic's head in srb2.xpm?


I can't give legal advice, that's a question you'd want to ask about from a professional lawyer. However, I'd argue it should not violate the copyright of the original work. Seehttps://commons.wikimedia.org/wiki/Commons:Fan_art [^] for applicability.

If in doubt, it's probably a good idea to ask the authors of those icons or replace them.

Quote from Zalewa
Part of Microsoft redist for Visual Studio 2008, but the original files in the actual redist have a bug that was never fixed by Microsoft and the program will not run with them.


No means of source to generate that file means a REJECT from ftp-masters in Debian, so it will be nuked in Debian. See "no source" inhttps://ftp-master.debian.org/REJECT-FAQ.html [^] . If applicable, see also "generated files" from the same FAQ.

I'm not sure if keeping this file in the archive creates issues for Doomseeker's LGPL2.1+ compliance or not, the intentions were good.

Quote from Zalewa
./cmake/Modules/FindRequiredSystemLibraries.cmake:


Ok on BSD like I've noted, but I wanted to make sure your changes to this file are also free. I was not really sure if your changes were GPLv2+/LGPLv2.1+ licensed or BSD, because it's not explicitly mentioned.

Quote from Zalewa
updaterevision tool is used for generating a header file and not redistributed in any form


Sorry, what are you trying to say here?

If you're trying to say updaterevision source doesn't need to be redistributed (in Debian source), omitting the directory results in a FTBFS (failure to build from source):

CMake Error at CMakeLists.txt:104 (add_subdirectory):
  add_subdirectory given source "tools/updaterevision" which is not an
  existing directory.


Commenting that CMakeLists.txt line 104 to bypass the CMake check subsequently fails during make:

make[2]: *** No rule to make target '../src/core/updaterevision', needed by 'src/core/CMakeFiles/revision_check'.  
Stop.
CMakeFiles/Makefile2:160: recipe for target 'src/core/CMakeFiles/revision_check.dir/all' failed
make[1]: *** [src/core/CMakeFiles/revision_check.dir/all] Error 2


I didn't bother attempting to patch it any further for now.

I know inserting the svnrevision.h file to source tarball fixes the build. But that could be a "FTBFSIASW", resulting in a possible reject from ftp-masters.

Quote from Zalewa
Mendeley updater (updater.exe) source-code.


I know. Not all of Mendeley's dependencies seem to be DFSG-compatible however, so it will be nuked in Debian at least.

0003292 and 0003294 may give some pathway to remove Mendeley eventually. I know you seem to favor Mendeley, but I find it to be a burden for redistribution in the same source archive.
User avatar (0018475)
WubTheCaptain (developer)
2017-10-07 13:45

Sorry, I forgot to address some last questions from previous.

Quote from Zalewa
Besides, putting a copyright statement over what's essentially a directory listing does seem a bit excessive.


Agreed, I'd call it public domain. Just wanted to make sure.

Quote from Zalewa
./.hgignore: *No copyright* UNKNOWN


Public domain or all-permissive would be fine, just in case.
User avatar (0018476)
WubTheCaptain (developer)
2017-10-07 14:06
edited on: 2017-10-07 14:08

Oh, and thanks for the cleanups and liberations so far.

Could you also make a small note where dependencies/* were downloaded from? "Source package missing source" in reject FAQ is a bit ambiguous, but I think it wants to make sure the convenience copies included are more or less identical to upstream.

According to READMEs, they are bzip2 1.0.6 and zlib 1.2.5. (Latest zlib upstream is 1.2.11 and 1.2.8 in Debian. It has had some security issues in the past, which caused headaches with Debian patching some convenience copies too.)

User avatar (0018477)
Zalewa (developer)
2017-10-07 18:34

1. GNU All Permissive notices added to text files in this beeedfe.

2. Origins of dependencies/* explained in 02f2c41e.
User avatar (0018486)
Zalewa (developer)
2017-10-08 16:41

This should take care of most of the media files.

Doomguys and updaterevision remain to be dealt with.

As for .hgignore - it should probably be nuked from tarballs or any other source distribution that already strips the .hg directory. Same goes for .hgtags file.
User avatar (0018490)
WubTheCaptain (developer)
2017-10-09 02:36
edited on: 2017-10-09 02:43

Zalewa: Thank you. I have more concerns.

The LGPLv2.1+ requires keeping intact all the notices that refer to that license and to the absence of any warranty. Thus,

Quote
Unless stated otherwise, all files listed here are under the LGPL v2.1 or later.


may not be sufficient (though the intent was good).

Please include the LGPLv2.1+ copyright notice in the file after all "Copyright (C) <YEAR> <AUTHOR>" for LGPLv2.1+ media:

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA


Once is enough for LGPLv2.1+.

Quote
logo-src.psd


The free XCF format may be preferable, if possible.

Quote
Danish Royalty Free Icons by Jonas Rask Design


"These icons are free to use in both commercial products as well as personal use." has a bit of ambiguity on it in regard to right of redistribution, and it certainly makes no mention of creating derivative works (modifications).

They could be below threshold of originality and ineligible for copyright, but we probably have reasons to avoid that ambiguity with a replacement icon. For 0003246, having to go through debian-legal mailing list first to check for DFSG-compatibility would not be fun.

Quote
+- Crystal Clear (crystal_clear)
+	link:http://commons.wikimedia.org/wiki/Crystal_Clear [^]
+	license: LGPL-2.1
+	license link:http://creativecommons.org/licenses/LGPL/2.1/ [^]


Please attribute the author "Everaldo Coelho" and the derivative work author (red hue) if known. The source of original work ishttps://store.kde.org/content/show.php/Crystal+Clear?content=25668 [^] .

Bogus LGPLv2.1 link, but a little surprisingly it works and redirects to the GNU Project website.

Quote
+- Oxygen Icons 4.3.1 (KDE) (oxygen)
+	link:http://www.oxygen-icons.org/ [^]
+	License link:http://creativecommons.org/licenses/by-sa/3.0/ [^]
+		http://creativecommons.org/licenses/LGPL/2.1/ [^]
Bogus LGPLv2.1 link here too. oxygen-icon-theme 5.37 seems to be under LGPLv3 at the moment with an artwork "clarification". I'll have to check what it was previously because old releases a little hard to find. If the clarification is present there, that notice must also be included in the file or COPYING of that directory. I would suggest a split into AUTHORS and COPYING files, possibly.
Quote
+- nuovEXT2
+	link: https://github.com/redtide/nuovext-icon-theme/ [^]
+	license: LGPL v2.1


LGPLv3 at source given, no permission under LGPLv2.1+. Thus, I believe the combination of source code distribution must be conveyed under LGPLv3. For compiled Doomseeker binaries, this means LGPLv3-only too because the icons seem to be baked into that?

Even more confusingly, the nuoveXT(2?) says in AUTHORS the icons to be under an unspecified "GPL". Can I have a better source to verify your claim, please?

Quote
+- Copyright (C) Aha-Soft
+	link:http://www.aha-soft.com/ [^]
+	license: Attribution 3.0 Unported (CC BY 3.0)
+	license link:https://creativecommons.org/licenses/by/3.0/ [^]
+
+icons/person.png (blue hue changed to red)


I was unable to locate this icon from the source given.

Quote
+	Notes: data stored in this file does indeed come from MaxMind's
+		GeoIP2 database, although the format in which this data
+		is stored is native to Doomseeker.


Debian rejects generated files without corresponding original form. They're not considered as the preferred form of modification, so the corresponding original form will have to be provided and tools/geolite2_conv.py run during the build, or eventuallly depend on 0003235 for availability.

Their preferred form of attribution is missing, except in the Doomseeker software "About" dialog itself. Refer to section 3(a)(1)(A)(i) of the license. In other words, "This product includes GeoLite2 data created by MaxMind, available fromhttp://www.maxmind.com." [^] must be included as supplied by the Licensor.

Nevermind about IP2C autoupdates, the focus is on the source distribution.

A copy of the CC BY-SA 4.0 license should be included in the project or media directory root. An URI to the license text is also fine, but we have no control over third-party domain availability now or in the future.

Quote
Copyright unclaimed due to pictures depicting game logos


To be pedantic, since the Berne Convention (https://en.wikipedia.org/wiki/Berne_Convention) there is no requirement to explicitly claim copyright. These are not in the public domain, to my awareness.

User avatar (0018491)
WubTheCaptain (developer)
2017-10-09 02:57

Regarding MaxMind databases (GeoLite and GeoLite2), Debian has made a similar exception to uploads under the PHP license saying they cannot verify the veracity and uphold maintenance of the advertised link for acquiring the software.

https://ftp-master.debian.org/php-license.html [^]
User avatar (0018506)
Zalewa (developer)
2017-10-09 19:51

Adjustments.

Quote from "Wub"

"These [exclamation mark] icons are free to use in both commercial products as well as personal use." has a bit of ambiguity on it in regard to right of redistribution, and it certainly makes no mention of creating derivative works (modifications).

I suppose I will have to make my own exclamation mark then.

Quote from "Wub"

The source of [Crystal Clear] original work ishttps://store.kde.org/content/show.php/Crystal+Clear?content=25668. [^]

The download is dead, tho. Fortunately you can still find these icons inhttp://openiconlibrary.sourceforge.net/ [^]

Quote from "Wub"

Debian rejects generated files [IpToCountry.dat] without corresponding original form. They're not considered as the preferred form of modification, so the corresponding original form will have to be provided and tools/geolite2_conv.py run during the build, or eventuallly depend on 0003235 for availability.

0003235 is preferable solution here. I don't want the compilation to be dependant on running Python. I also don't feel like rewriting the Python tool in C.
User avatar (0018507)
Zalewa (developer)
2017-10-09 20:00

Freebeer exclamation is kill.
User avatar (0018508)
Blzut3 (administrator)
2017-10-09 20:08

XCF and PSD are not interchangeable. Photoshop does a lot more than GIMP in terms of non-destructive editing.
User avatar (0018509)
Zalewa (developer)
2017-10-09 20:19

PSD is resurrected
User avatar (0018510)
Blzut3 (administrator)
2017-10-09 20:22
edited on: 2017-10-09 20:23

The shield icon is mis-attributed to me. It's from iconarchive.com as well so I guess that needs to be replaced as well.

Edit:http://www.iconarchive.com/show/fugue-icons-by-yusuke-kamiyamane/tick-shield-icon.html [^]

User avatar (0018511)
Zalewa (developer)
2017-10-09 20:25
edited on: 2017-10-09 20:29

It seems to be CC BY 4.0 so I think we can use it: http://www.iconarchive.com/show/fugue-icons-by-yusuke-kamiyamane/tick-shield-icon.html. [^] The attribution should be amended, of course.

Edit: reattributed

User avatar (0018513)
WubTheCaptain (developer)
2017-10-10 06:54

Legal trivia: Strictly speaking, Creative Commons licenses terminate automatically on failure to comply with the license (section 6(a) of CC BY-4.0).

To our benefit, – also similarly to the newer GNU licenses (e.g. LGPLv3, GPLv3, FDL 1.3) – CC BY-4.0 reinstates that right automatically "provided it is cured within 30 days of Your discovery of the violation". This would not have been the case with CC BY-3.0, which requires requesting express reinstatement from the licensor.

So, well done for prompt cure for Doomseeker 1.2.

Unfortunately this also means previous violations of CC BY-SA 3.0 or LGPLv2.1 may need express reinstantement from the licensor, if being pedantic about it. Dunno. 😕
User avatar (0018514)
WubTheCaptain (developer)
2017-10-10 08:43

Regarding Fugue icons, the author's website lists CC BY-3.0 while Icon Archive lists CC BY-4.0.

I've emailed the author asking for clarification.
User avatar (0018515)
WubTheCaptain (developer)
2017-10-10 08:50
edited on: 2017-10-10 08:52

Fugue icons again:

(C) 2013 Yusuke Kamiyamane. All rights reserved.

These icons are licensed under a Creative Commons
Attribution 3.0 License.
<http://creativecommons.org/licenses/by/3.0/>


https://github.com/yusukekamiyamane/fugue-icons [^]

It seems like Icon Archive isn't in full compliance with keeping all copyright notices either. At least the above should need to be mentioned in SOURCES.txt.

User avatar (0018516)
WubTheCaptain (developer)
2017-10-10 09:13
edited on: 2017-10-10 09:29

I don't know where I should ask, so maybe I'll ask here instead of 0003238.

There's src/wadseeker/lzma, public domain. Since you added notes for bzip2 and zlib convenience copies, could you please give a pointer where was this LZMA SDK downloaded from?

(Eventually I'd also like to know if it's replaceable with a Debian package like liblzma-dev. The build system may not currently support this, however.)

Seems to be LZMA SDK 16.04 (7-Zip.org), by the way.

User avatar (0018521)
Zalewa (developer)
2017-10-10 19:46

@Blzut3, what do you propose we should do with doomguys?

The buddies icon can be replaced with something neutral, although I find the current one quite charming and it will be sad to see it go.

The player slots... well, we always have blocks as a fallback, so we can just delete them, but it will be sad to see them go too.

Freedoom is BSD 3-clause and we can take the player sprite from it, but it's not as clean and distinctive as the original. In fact, it might be too noisy to be useful as an icon.
User avatar (0018524)
Blzut3 (administrator)
2017-10-10 23:31

Probably the best way to handle them would be to go about supporting custom slot styles and icon replacements and turn it into a pure packaging issue. Obviously I'd like to keep our distribution as is, but I totally understand someone like Debian not wanting to distribute the non-free icons.

Either way a CMake flag would be needed, but another option would be just have the option change the buddies icon and disable the marines.
User avatar (0018527)
WubTheCaptain (developer)
2017-10-11 04:07

https://bitbucket.org/Doomseeker/doomseeker/commits/b5d87c0dde8e4f7a96c35dbe1d71217fb743b763 [^]

Quote from WubTheCaptain
(C) 2013 Yusuke Kamiyamane. All rights reserved.

These icons are licensed under a Creative Commons
Attribution 3.0 License.
<http://creativecommons.org/licenses/by/3.0/>


I emphasize again at least the first line needs to be included, per CC BY-3.0 section 4(b).
User avatar (0018533)
Zalewa (developer)
2017-10-11 17:51

I hope this is satisfactory.
User avatar (0018583)
Zalewa (developer)
2017-10-21 17:27

updaterevision tool
User avatar (0018585)
Zalewa (developer)
2017-10-22 13:17

"marines" style is no longer baked into the executable and its installation has been made optional.

Commits:

1. Introduce an idea of extra/custom player slot styles and load them from directories located in the "static data" file system paths.
2. Install the "marines" slot style as an aforementioned extra. This option is controlled by a new CMake option DOOMSEEKER_INSTALL_NONFREE, which defaults to "on" on Windows & Mac and to "off" on Linux. Thanks to this, the users who already use this style won't suddenly lose it, while at the same time it won't be baked into the executable anymore.
3. Added notices about the derivative pictures to media/SOURCES.txt.

If this is satisfactory, buddies.png will get the same treatment.
User avatar (0018592)
WubTheCaptain (developer)
2017-10-22 19:08
edited on: 2017-10-22 19:10

Thank you again, Zalewa.

A little odd for a public domain thing (updaterevision) to claim "Copyright (c)", but also place it into the public domain simultaneously. It's fine though, I get the intent.

There's hardly any original creativity in the marine slots but bot.png and player.png, so only the two are really non-free. open.png, specopen.png and spectator.png are fine, in my opinion: A mere simple shape or an idea of something is usually not copyrightable on its own.

The distribution of buddies.png and the two slot icons is still in the grey, and they'll be excluded in Debian distribution (except doomseeker-nonfree package as an extra if distribution permits). I suggest a "contrib" folder for buddies.png and marine slotstyles to make exclusion from source distribution easier.

User avatar (0018598)
WubTheCaptain (developer)
2017-10-22 20:24

In other news: Yusuke Kamiyamane (Fugue icons) hasn't reached back to me yet via email.
User avatar (0018608)
WubTheCaptain (developer)
2017-10-22 22:26

Zalewa, can I have your help with 0003309 please? I'm looking for the LGPL_EXCEPTION.txt file.
User avatar (0018613)
WubTheCaptain (developer)
2017-10-22 22:58

FYI: Since introduction, ereilin/qt-json has renamed to qt-json/qt-json and relicensed to GPLv3. Previous releases were under a BSD-license, like with Doomseeker/Wadseeker distribution.

I'm trying to find the corresponding commit for the BSD-licensed version, though. Maybe for Debian packaging reasons.

Issue Community Support
Only registered users can voice their support. Click here to register, or here to log in.
Supporters: No one explicitly supports this issue yet.
Opponents: No one explicitly opposes this issue yet.

- Issue History
Date Modified Username Field Change
2017-09-01 13:28 WubTheCaptain New Issue
2017-09-01 13:28 WubTheCaptain File Added: debmake-c.log
2017-09-01 13:28 WubTheCaptain File Added: dpkg.log
2017-09-01 13:28 WubTheCaptain File Added: licensecheck.log
2017-09-01 13:31 WubTheCaptain Note Added: 0018208
2017-09-01 13:31 WubTheCaptain Note Edited: 0018208 View Revisions
2017-09-01 16:30 Zalewa Relationship added child of 0003246
2017-09-01 16:32 WubTheCaptain Note Added: 0018214
2017-09-01 16:33 WubTheCaptain Note Edited: 0018214 View Revisions
2017-09-06 01:15 Blzut3 Note Added: 0018232
2017-09-06 05:54 WubTheCaptain Note Added: 0018234
2017-09-17 17:04 Zalewa Note Added: 0018304
2017-09-17 17:13 Zalewa Note Edited: 0018234 View Revisions
2017-09-17 17:28 Zalewa Note Added: 0018305
2017-09-18 08:49 WubTheCaptain Note Added: 0018314
2017-09-18 08:55 WubTheCaptain Note Edited: 0018314 View Revisions
2017-09-18 08:56 WubTheCaptain Note Edited: 0018314 View Revisions
2017-09-18 09:02 WubTheCaptain Note Added: 0018315
2017-09-18 09:04 WubTheCaptain Note Edited: 0018315 View Revisions
2017-09-18 13:43 WubTheCaptain Note Edited: 0018314 View Revisions
2017-09-18 14:13 WubTheCaptain Note Added: 0018322
2017-09-18 16:48 WubTheCaptain File Added: licensecheck.problems-and-ambiguities.log
2017-09-18 17:01 WubTheCaptain Note Added: 0018323
2017-09-18 17:04 WubTheCaptain Note Edited: 0018323 View Revisions
2017-09-18 17:15 Zalewa Note Added: 0018324
2017-09-18 17:18 WubTheCaptain Note Added: 0018325
2017-09-18 18:31 Zalewa Note Added: 0018326
2017-09-22 22:00 Blzut3 Note Added: 0018356
2017-09-23 01:23 WubTheCaptain Note Added: 0018357
2017-09-23 01:29 WubTheCaptain Note Edited: 0018357 View Revisions
2017-09-23 01:30 WubTheCaptain Note Edited: 0018357 View Revisions
2017-09-23 01:32 WubTheCaptain Note Edited: 0018357 View Revisions
2017-09-28 00:32 WubTheCaptain Note Added: 0018408
2017-10-01 19:50 Blzut3 Note Added: 0018409
2017-10-02 21:46 Zalewa Assigned To => Zalewa
2017-10-02 21:46 Zalewa Status new => assigned
2017-10-02 21:48 Zalewa Note Added: 0018414
2017-10-02 21:49 Zalewa Note Edited: 0018414 View Revisions
2017-10-02 23:03 WubTheCaptain Note Added: 0018417
2017-10-04 23:54 WubTheCaptain Relationship added child of 0003292
2017-10-07 12:22 WubTheCaptain Note Added: 0018472
2017-10-07 12:23 Zalewa File Added: licensecheck.problems-and-ambiguities_progress1.log
2017-10-07 12:23 Zalewa Note Added: 0018473
2017-10-07 12:23 Zalewa Status assigned => feedback
2017-10-07 13:29 WubTheCaptain Note Added: 0018474
2017-10-07 13:29 WubTheCaptain Status feedback => assigned
2017-10-07 13:45 WubTheCaptain Note Added: 0018475
2017-10-07 14:06 WubTheCaptain Note Added: 0018476
2017-10-07 14:08 WubTheCaptain Note Edited: 0018476 View Revisions
2017-10-07 18:34 Zalewa Note Added: 0018477
2017-10-08 16:41 Zalewa Note Added: 0018486
2017-10-09 02:36 WubTheCaptain Note Added: 0018490
2017-10-09 02:36 WubTheCaptain Note Edited: 0018490 View Revisions
2017-10-09 02:36 WubTheCaptain Note Edited: 0018490 View Revisions
2017-10-09 02:43 WubTheCaptain Note Edited: 0018490 View Revisions
2017-10-09 02:57 WubTheCaptain Note Added: 0018491
2017-10-09 19:51 Zalewa Note Added: 0018506
2017-10-09 20:00 Zalewa Note Added: 0018507
2017-10-09 20:08 Blzut3 Note Added: 0018508
2017-10-09 20:19 Zalewa Note Added: 0018509
2017-10-09 20:22 Blzut3 Note Added: 0018510
2017-10-09 20:23 Blzut3 Note Edited: 0018510 View Revisions
2017-10-09 20:25 Zalewa Note Added: 0018511
2017-10-09 20:29 Zalewa Note Edited: 0018511 View Revisions
2017-10-09 20:29 Zalewa Note Edited: 0018511 View Revisions
2017-10-10 06:00 WubTheCaptain Note Added: 0018512
2017-10-10 06:03 WubTheCaptain Note Edited: 0018512 View Revisions
2017-10-10 06:10 WubTheCaptain Note Edited: 0018512 View Revisions
2017-10-10 06:12 WubTheCaptain Note Edited: 0018512 View Revisions
2017-10-10 06:21 WubTheCaptain Relationship added parent of 0003298
2017-10-10 06:21 WubTheCaptain Note Deleted: 0018512
2017-10-10 06:54 WubTheCaptain Note Added: 0018513
2017-10-10 08:43 WubTheCaptain Note Added: 0018514
2017-10-10 08:50 WubTheCaptain Note Added: 0018515
2017-10-10 08:52 WubTheCaptain Note Edited: 0018515 View Revisions
2017-10-10 09:13 WubTheCaptain Note Added: 0018516
2017-10-10 09:29 WubTheCaptain Note Edited: 0018516 View Revisions
2017-10-10 19:46 Zalewa Note Added: 0018521
2017-10-10 23:31 Blzut3 Note Added: 0018524
2017-10-11 04:07 WubTheCaptain Note Added: 0018527
2017-10-11 17:51 Zalewa Note Added: 0018533
2017-10-21 17:27 Zalewa Note Added: 0018583
2017-10-22 13:17 Zalewa Note Added: 0018585
2017-10-22 19:08 WubTheCaptain Note Added: 0018592
2017-10-22 19:10 WubTheCaptain Note Edited: 0018592 View Revisions
2017-10-22 20:24 WubTheCaptain Note Added: 0018598
2017-10-22 21:34 WubTheCaptain Relationship added related to 0003295
2017-10-22 22:10 WubTheCaptain Relationship added parent of 0003309
2017-10-22 22:15 WubTheCaptain Priority normal => high
2017-10-22 22:26 WubTheCaptain Note Added: 0018608
2017-10-22 22:58 WubTheCaptain Note Added: 0018613






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2017 MantisBT Team
Powered by Mantis Bugtracker