Zandronum Chat on our Discord Server Get the latest version: 3.1
Source Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003237Doomseeker[All Projects] Bugpublic2017-09-01 13:282019-06-23 02:33
ReporterWubTheCaptain 
Assigned ToWubTheCaptain 
PriorityhighSeverityblockReproducibilityN/A
StatusclosedResolutionfixed 
Platformx86_64 (really cross-platform)OSDebian GNU/LinuxOS Versionbuster/sid
Product Version1.1 
Target Version1.2Fixed in Version1.2 
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. wget'http://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
related to 0003246acknowledged Debian packaging 
related to 0003292acknowledged Microsoft Windows packaging (Windows Installer) 
parent of 0003309closedZalewa FixedFtpReply and FixedNetworkAccessManager have missing license files 
parent of 0003320closedZalewa Replace buddies.png (id Software / Doom) 
parent of 0003322closedZalewa Clarify copyright status of distributed LGPL binaries (Nokia's LGPLv2.1-only code) 
parent of 0003329closedZalewa Update all GNU All-Permissive License texts to a newer version of the license with warranty disclaimers 
parent of 0003381closedZalewa tools: Missing a full copy of the license in source distribution (GPLv2+) 
parent of 0003451closedZalewa Binary forms aren't reproducing Eeli Reilin's JSON library 2-clause BSD license properly (second clause) 
parent of 0003510closedWubTheCaptain Remove SRB2 engine plugin distribution 
parent of 0003511closedPol M Turok's CRC code: Missing BSD license 
parent of 0003512closedZalewa MaxMind GeoLite2: Update from CC BY-SA 3.0 licensed dataset to newer CC BY-SA 4.0 licensed work 
parent of 0003513closedZalewa Missing a required URI or copy of CPOL license in third-party dependencies of updateinstaller tool (?) 
related to 0003298closedBlzut3 Multiple variations of Blzut3's name in copyright notices 
related to 0003295resolvedZalewa Rename LICENSE files to COPYING 
related to 0003450closedZalewa Update Doomseeker "About" dialog's copyright 
related to 0003509closedPol M Update copyright years in Change Log copyright notice 
related to 0003522closedWubTheCaptain Update LEGALCOPYRIGHT_DEF year in copyright notice 
related to 0003537closedZalewa Unbake IpToCountry.dat from executable (resources.qrc), make it optional 
related to 0003595closedZalewa Contributor documentation is not yet available 
child of 0003483closedBlzut3 Doomseeker 1.2 release 

-  Notes
User avatar (0018208)
WubTheCaptain (reporter)
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 (reporter)
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 (reporter)
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 (reporter)
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 (reporter)
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 (reporter)
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 (reporter)
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 (reporter)
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 (reporter)
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 (reporter)
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 (reporter)
2017-10-02 23:03

Note: geolite2_conv.py was liberated there:'https://bitbucket.org/Doomseeker/doomseeker/commits/f35541193055b5364f1f6aff8aa77cf8132111a9 [^]'
User avatar (0018472)
WubTheCaptain (reporter)
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 (reporter)
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. See'https://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" in'https://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 (reporter)
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 (reporter)
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 (reporter)
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 is'https://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 from'http://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 (reporter)
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 is'https://store.kde.org/content/show.php/Crystal+Clear?content=25668. [^]'

The download is dead, tho. Fortunately you can still find these icons in'http://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 (reporter)
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 (reporter)
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 (reporter)
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 (reporter)
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 (reporter)
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 (reporter)
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 (reporter)
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 (reporter)
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 (reporter)
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.
User avatar (0018647)
Zalewa (developer)
2017-10-29 14:05
edited on: 2017-10-29 14:06

3319 needs to be resolved, or at least attended to until we get working icon theming, before we can deal with buddies.png.

User avatar (0018658)
WubTheCaptain (reporter)
2017-10-29 19:00

See 0003320.
User avatar (0018722)
Zalewa (developer)
2017-11-02 11:16

I think all matters have been taken care of. Wub, can you go over this again and see if anything has been missed?
User avatar (0018724)
WubTheCaptain (reporter)
2017-11-02 13:45

Soon. I'll look into it tomorrow or this weekend. Thank you.

The game engine icons, though?

I'd also like to cleanup the media icons' SOURCES.txt, so expect to (maybe) see an attached patch with a new format soon.
User avatar (0018725)
Zalewa (developer)
2017-11-02 14:11

Quote from "WubTheCaptain"
The game engine icons, though?

I can't imagine getting rid of them.
User avatar (0018776)
WubTheCaptain (reporter)
2017-11-05 02:20
edited on: 2017-11-05 02:23

Game engine icons:


  • Chocolate Doom icon is either GPLv2-only or GPLv2+. The chocolate ice cream cone was originally uploaded by another author on Flickr, but the copyright holder agreed to the same GPL license as the Chocolate Doom project. It is also missing the source for the right-side "D" in the icon ("preferred form of the work for making modifications to it"), thus strict GPLv2+ compliance seems not to be possible.'https://github.com/chocolate-doom/chocolate-doom/tree/413f4ecd7aae41229cc7b40ea3275970dc18cdb4/data [^]'

  • Odamex icon is assumably GPLv2-only (for the lack of "any later version" clarification). Again, no GPL'd source that I can find.'https://github.com/odamex/odamex/tree/f2b13d0bb4215e570b1e723cb7d9b237995a44c5/media [^]'

  • SRB2 icon is non-free and not redistributable without permission from Sega (copyright holders of Sonic the Hedgehog character).

  • Turok 2 EX icon is non-free(?) not redistributable without permission from Nightdive Studios.

  • Zandronum, dunno. Hard to find, but a quick uneducated guess may be Sleepycat (GPL + BSD).



Chocolate Doom and Odamex may be easy to fix by contacting the corresponding developers. Zandronum may be possible, but I don't know who to contact about the issue. SRB2 and Turok 2 EX may be difficult, as they are backed by corporates.

From Debian's standpoint, it must be possible to build a redistributable LGPL or GPL binary (DOOMSEEKER_INSTALL_NONFREE=NO?). Any binaries built with DOOMSEEKER_INSTALL_NONFREE are not redistributable as such (in conflict with Doomseeker's LGPLv2.1+ license and third-party GPL'd icons), but the source code may be.

Disclaimer: The above information consists of my current beliefs. No warranty any of the above information to be correct, it is not an endorsement.

I'll run a licensecheck a bit later. See 0003329 meanwhile.

User avatar (0018777)
Blzut3 (administrator)
2017-11-05 02:36
edited on: 2017-11-05 02:37

The logos are going to have to be where the line is drawn as far as we are concerned. I'm not a lawyer, but I believe our usage falls under fair use of trademarks since they're used to identify services provided by the respective projects. So unless a lawyer says otherwise I think that's all in the clear (although SRB2 might be a little questionable, but that's more between Sega and SRB2 itself).

User avatar (0018778)
WubTheCaptain (reporter)
2017-11-05 02:56
edited on: 2017-11-05 02:59

"Fair use" or "de minimis" defence argument may (or may not) be fine, I would at least make an effort to try as far as Debian Social Contract is concerned. Trademark sure, copyright is a bit more questionable.

For official Debian repositories (0003246), I'd prefer if there was a way to disable the non-free game engine icons from the resulting binary. I can understand if DRD Team will distribute non-free versions for Debian-based systems too with their apt repository.

Please reconsider.

User avatar (0018782)
Blzut3 (administrator)
2017-11-05 03:54

Well the way I see it the icons are essential for the usability of the program, so they can't just be disabled. Replacing is strictly speaking possible, but is there really a user friendly option to replace them with? Or were you proposing an option to have none of the plugins built at all? (Yeah that last question was hyperbole since Chocolate Doom and Odamex are easy to clear.)

I'm not strictly against it, but presumably if pidgin-data can contain protocol logos in the main repo surely Doomseeker can?
User avatar (0018783)
WubTheCaptain (reporter)
2017-11-05 09:27

While I was writing a note about Pidgin data, then I accidentally refreshed the page without having a copy and lost it. It has no Debian copyright file, is severely outdated with Debian Policy and most of the icons were simple shapes ineligible for copyright.

Okay, yeah. I sometimes forget the plugins are not baked into the executable but libraries linked at runtime, and Debian doesn't have to distribute all of them once.

I'll be posting a long note about SRB2 soon.
User avatar (0018785)
Zalewa (developer)
2017-11-05 09:41

Quote from "WubTheCaptain"
I sometimes forget the plugins are not baked into the executable

To dispell any possible misunderstandings, DOOMSEEKER_INSTALL_NONFREE=yes also doesn't bake anything into the executable. INSTALL is the keyword here and it only controls whether extra files are `make installed` or not.
User avatar (0018789)
WubTheCaptain (reporter)
2017-11-05 10:05
edited on: 2017-11-05 10:20

I'd like to talk more about Sonic Robo Blast 2 (SRB2), and share my concerns with it too. If it's TL;DR, consider reading the last few paragraphs at least.

I have a concern SRB2 may be using unauthorized artistic works and characters under copyright from Sega, makes an interesting legal point for Doomseeker. I couldn't find USCO registration for Sonic the Hedgehog games/character or Sonic Generations, which could make statutory damage claims ineffective but not copyright infringement claims invalid. It is clear without doubt that the artistic works included in SRB2 are non-free. Freedom aside, I think there's a bit more to Doomseeker than a thought it to be "between Sega and SRB2 itself".

Though Doomseeker acts more like a server browser/search for SRB2 games, I consider it be an "act of communication" to the unlimited public audience to find multiplayer servers of SRB2.

This in itself would not be bad if the game was authorized, or official servers of an authorized multiplayer game would cease to operate. In contrast, Zandronum et. al require the original Doom 2 data to play (in favor of the copyright holders at id Software). Individual server hosts are responsible for what WADs and level of public access they convey, of course.

The SRB2 master server address is also included with Doomseeker's default configuration (a questionable thing), but if it was not to be included by default then Doomseeker might become more of a tool for private use and not a portal of access (a good thing).

In example, on 14 June 2017 the Court of Justice of the European Union (ECJ) published a press release named "Making available and managing an online platform for sharing copyright-protected works, such as ‘The Pirate Bay’, may constitute an infringement of copyright". Operating this kind of portal of access to infringements was held to be infringing, but the case was referred back to Netherlands' court for final decision in BREIN's case.

I've been talking more about European legislation, of course. Ideas are not generally copyrightable. Fair use in the United States... SRB2 is not fair use, in my opinion. The four criteria of fair use (17 U.S. Code § 107):


  1. the purpose and character of the use, including whether such use is of a commercial nature or is for nonprofit educational purposes;

  2. the nature of the copyrighted work;

  3. the amount and substantiality of the portion used in relation to the copyrighted work as a whole; and

  4. the effect of the use upon the potential market for or value of the copyrighted work.



In my view, SRB2 exploits the original works of Sega: It can or is likely harm the potential market of the original works, as replacements to the video games by Sega. This is point 4.

SRB2 does not seem to be seeking to profit from Sonic. This probably favors them for point 1 favorably or neutrally.

Point 2 (the nature of the copyrighted work) favors against SRB2. It's a fictional artistic work, in the sense that it is copyrightable. Facts and ideas are not copyrightable. A mere illusion of a clone game that reminds of the original Sonic games would be in favor of SRB2, but a fan-made Sonic game using Sonic artwork etc favors against SRB2.

Point 3: The works (the Sonic franchise characters, rings, textures) make up a substantial amount of SRB2 from what I've seen, nevermind the maps are original(?) in SRB2. This favors against or neutrally for them. SRB2 could've used original characters and passed it off as a game clone of Sonic, then it would've been in their favor or neutral.

It's not convincing from SRB2's legal page "no copyright infringement intended". That's something children say when they upload an unauthorized copy of a music track to YouTube to the wide public audience, "for entertainment purposes". (Don't do this.) Non-willful infringement does not waive the liability from reimbursing the copyright holder for infringements. In this case I suspect there to be reckless disregard for, or willful blindness to, the copyright holder's rights. SRB2 developers would have to refute evidence of willful infringement by establishing good faith belief in the innocence of its conduct but also show that it was reasonable to hold such belief. (http://www3.ce9.uscourts.gov/jury-instructions/node/708) More so, "Sonic Team Junior is in no way affiliated with Sega or Sonic Team."

Opinions are my own, of course. Turok 2 EX is secondary to this SRB2 concern, because Turok 2 EX is a licensed game and they've been cooperating with Doomseeker developers to my awareness.

I would personally close 0002540 as "won't fix", remove SRB2 from core Doomseeker plugin distribution and let the SRB2 team ("Sonic Team Junior") know they would have to distribute it themselves if they're ready to take legal responsibility for it. This takes care of the SRB2 icon issue in Doomseeker too.

Alternatively, I would remove the SRB2 master server from Doomseeker sources. I don't prefer this option over complete removal of the plugin distribution, because in my view SRB2 should not exist in the way it currently does. Contributory infringement (secondary liability) is knowingly inducing, causing or materially contributing to the infringing conduct of another. (https://ilt.eff.org/index.php/Copyright:_Infringement_Issues#Secondary_Liability_Theories)

I hope you can agree after reading this, and I'll be happy to answer to simple questions with my knowledge of copyright. I've already decided to not package SRB2 to Debian a long ago. Sorry for my difficulty to express a point across without my mess of thoughts.

User avatar (0018790)
Zalewa (developer)
2017-11-05 10:39

If you really want to complain how much legal difficulty SRB2 produces, I think the place to bring this up is their forum, not here.

In 0002540 we were asked nicely to provide a plugin for the game. Normally, we'd rather prefer if this request was made to the port author - if they want a server browser, they should care. However, in this case, as the game is different than Doom, I thought that building this plugin would be beneficial to Plugin API - it would show us places where the API is still not generic enough. So I did it. Putting it in Doomseeker's repository was the sanest thing to do technically.

If companies were such dicks to torpedo each fan work, most of the pop-culture wouldn't be possible. Imagine lawyers going to Star Trek con and suing everyone who came in dressed in a Starfleet uniform. Neither possible would be stuff like this. How many incidents would be necessary to destroy the fandom and ruin the franchise?

If character's head and an IP address are insurmountable legal problems, then something is severely wrong with this civilization.
User avatar (0018791)
WubTheCaptain (reporter)
2017-11-05 10:56
edited on: 2017-11-05 10:59

I see your points too.

The example video you linked is more likely to favor fair use with points 1, 3 and 4 at least. I make no large comment on the Star Trek con, but the argument does not seem to be a replacement to the original works nor harmful to the financial interests of the copyright holder, but in fact promotional in favor of the copyright holders. (Plus, at least common household objects are not copyrightable in the United States.)

I'll be doing a licensecheck later, as I said. Sorry I couldn't change your mind.

User avatar (0018792)
WubTheCaptain (reporter)
2017-11-05 11:18

Source needed to generate src/plugins/turok2ex/crc.cpp (the preferred form of the work for making modifications to it), else no LGPLv2.1+.
User avatar (0018793)
Zalewa (developer)
2017-11-05 13:25

Quote from "WubTheCaptain"
src/plugins/turok2ex/crc.cpp

The first 4 tables match the ones in zlib's crc32.h. The latter 4 don't. I emailed Edward850 asking if he knows the source, as he was the one to submit this file to the repo.
User avatar (0018800)
Blzut3 (administrator)
2017-11-05 19:45

In regards to pidgin being a bad model due to the copyright file being unusual. Consider also that kopete and empathy-common similarly seem to ignore the issue. In those cases many of them seem to be redrawn but last I checked redrawing something to look identical to the source unless you do a side-by-side comparison doesn't get you out free.

I don't know if I buy that they're all simple shapes, but I still think this is the point where an actual lawyer would be needed to give actual advice.
User avatar (0018807)
Zalewa (developer)
2017-11-05 21:21
edited on: 2017-11-05 22:14

Quote from "Zalewa"
I emailed Edward850 asking if he knows the source, as he was the one to submit this file to the repo.

Quote from "Edward850"
It's from Intel's whitepapers on CRC. The slice by 8 implementation.

Specifically;'https://www.winrar-france.fr/winrar_instructions_for_use/source/html/HELPIntelCRC.htm [^]' which is under BSD. You may need to update the source file to include the copyright text, in hindsight, but it is LGPL compliant.

Also in case you're wondering, we can't give free license rights to the Turok icon for obvious reasons (that would be relinquishing of trademark), however you could simply change the icon for free distribution. For example, circle crop this head:'https://commons.wikimedia.org/wiki/File:Daspletosaurus_torosus_steveoc.jpg
[^]'

User avatar (0018809)
WubTheCaptain (reporter)
2017-11-06 03:03
edited on: 2017-11-06 03:05

Trademark and copyright are seperate rights, e.g. Apple Inc.'s logo is ineligible for copyright but still trademarked (non-copyright restrictions on use). I don't think a free copying license would affect rights about Turok negatively.

I'm not entirely convinced of the output from Intel's crc.exe to be copyrightable (the crc.cpp output), however Debian needs to be able to generate the binary crc.cpp from the software source and the source doesn't build on GNU/Linux (needs Microsoft's cl compiler). This and the non-free Turok icon means the Turok engine plugin would have to go to non-free repository in Debian, or not at all. I'll side with the latter, unfortunately.

Sidenote about the proposed dinosaur: CC BY-SA 2.5 is not transitively okay for Debian.

As for Doomseeker: Please consider including a copy of Intel's slice by 8 source with the Turok plugin for complete corresponding source code, despite the BSD licensing of itself.

User avatar (0019408)
Zalewa (developer)
2018-08-26 10:39

On the subject of Turok's CRC:

I vaguely remember trying to figure out the values of the CRC in the Turok plugin to pinpoint what exactly is the source-code that generated them, but I couldn't. Since I've fallen asleep on this issue on several occasions now, I won't be spending any more time on this.

On the remaining subjects:

I actually lost track on what remains to be done. I'll have to retrace this whole issue.
User avatar (0019418)
WubTheCaptain (reporter)
2018-08-27 01:13

Quote from Zalewa
I actually lost track on what remains to be done.


Probably not much anymore. Lots of noise in the notes of this ticket, I may create child tickets later for any remaining issues.

I haven't tried packaging Doomseeker in a while, so I also haven't run the tooling to check for issues.
User avatar (0019668)
WubTheCaptain (reporter)
2018-09-22 22:53
edited on: 2018-09-22 23:33

Right, status quo:

  • media/icons/buddies.png: ok, resolved (non-free theme also distributed, nope for Debian)
  • tools/updateinstaller/*: barely (not) ok? It's still "a pile of stinky poo". Code Project Open License – Wikipedia. Quick non-legal hunch is "yes, you can distribute it", but a big nope for Debian. Larger software distributions including the code can be "sold", but the dependencies itself cannot be. Cannot be sublicensed. Must include a copy of the license or an URI to it (section 5(e)) – not done yet?
  • CMakeLists.txt: ok, resolved.
  • lzma: ok (nope for Debian policy)
  • bzip2/zlib: ok (nope for Debian policy)
  • LGPL "later" clause: ok
  • Doxygen: ok?
  • icons: ok?
  • PSD icon: ok (nope for Debian policy)
  • Game logos: ok non-free "fair use"? (nope for Debian's policy?)
  • Fugue icons: ok, I believe CC BY-3.0 (author's website). No reply from the author for clarification.
  • SRB2: It's complicated. Not okay with me personally by legal hunch (and probably not okay from Debian's policy perspective), but fan art is a minefield... I personally don't believe SRB2 itself even pass the "fair use" test in United States, assuming it works as a replacement to Sega's other Sonic games (potential financial loss). Plugin code is our work which is ok and not copyright encumbered (afaik), however legal liability may exist (in some countries) for making access to infringement available (if I could claim infringement here). But there's no copyright infringement claim (yet)...
  • Turok (src/plugins/turok2ex/crc.cpp): ok with BSD-license inclusion (nope for Debian policy?)
  • MaxMind GeoLite2: ok on one condition: distributions of Doomseeker/Wadseeker with GeoLite2 (tarballs) must happen under conditions of GPLv3-only, due to one-way compatibility of CC BY-SA 4.0 to GPLv3. Else there'd be a violation of CC BY-SA 4.0 section 3, article (b)(3), of MaxMind's license. Compatible Licenses - Creative Commons Dunno on linking.


New tickets needed to clarify the situation and for decision making: 4+.

I am not a lawyer. Not legal advice. No warranties.

User avatar (0019669)
WubTheCaptain (reporter)
2018-09-22 22:56

Quote from WubTheCaptain
distributions of Doomseeker/Wadseeker with GeoLite2 (tarballs)


s/tarballs/binaries/ (including'http://debian.drdteam.org/ [^]')
User avatar (0020100)
WubTheCaptain (reporter)
2018-10-13 16:25

I think it might be nice to mention in the changelog how all (?) non-free files have been removed from this source release (e.g., CPOL stuff in 0003513).
User avatar (0020105)
WubTheCaptain (reporter)
2018-10-13 17:43

All children are resolved or closed. I don't believe there are more remaining issues, unless I've missed something. (Non-free engine icons aside...)

Thanks to everyone involved for the big efforts to keep Doomseeker source code clean.
User avatar (0020116)
Zalewa (developer)
2018-10-13 19:57

I added a general note to the changelog on this task:'https://bitbucket.org/Doomseeker/doomseeker/commits/e96d4f5e161204fe32048f60be6a0911d9729537 [^]'
User avatar (0020122)
WubTheCaptain (reporter)
2018-10-14 12:53

Quote from Zalewa
I added a general note to the changelog on this task:'https://bitbucket.org/Doomseeker/doomseeker/commits/e96d4f5e161204fe32048f60be6a0911d9729537 [^]'


Wow, well it could've not been done without our collaboration. 🙃

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
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
2017-10-29 13:55 Zalewa Relationship added related to 0003319
2017-10-29 14:05 Zalewa Note Added: 0018647
2017-10-29 14:06 Zalewa Note Edited: 0018647 View Revisions
2017-10-29 18:56 WubTheCaptain Relationship added parent of 0003320
2017-10-29 19:00 WubTheCaptain Relationship deleted related to 0003319
2017-10-29 19:00 WubTheCaptain Note Added: 0018658
2017-10-30 01:36 WubTheCaptain Target Version => 1.2
2017-10-30 06:17 WubTheCaptain Relationship added parent of 0003322
2017-11-02 11:16 Zalewa Note Added: 0018722
2017-11-02 11:16 Zalewa Status assigned => needs review
2017-11-02 13:45 WubTheCaptain Note Added: 0018724
2017-11-02 14:11 Zalewa Note Added: 0018725
2017-11-05 02:19 WubTheCaptain Relationship added parent of 0003329
2017-11-05 02:20 WubTheCaptain Note Added: 0018776
2017-11-05 02:20 WubTheCaptain Status needs review => assigned
2017-11-05 02:23 WubTheCaptain Note Edited: 0018776 View Revisions
2017-11-05 02:36 Blzut3 Note Added: 0018777
2017-11-05 02:37 Blzut3 Note Edited: 0018777 View Revisions
2017-11-05 02:56 WubTheCaptain Note Added: 0018778
2017-11-05 02:58 WubTheCaptain Note Edited: 0018778 View Revisions
2017-11-05 02:59 WubTheCaptain Note Edited: 0018778 View Revisions
2017-11-05 03:54 Blzut3 Note Added: 0018782
2017-11-05 09:27 WubTheCaptain Note Added: 0018783
2017-11-05 09:41 Zalewa Note Added: 0018785
2017-11-05 10:05 WubTheCaptain Note Added: 0018789
2017-11-05 10:08 WubTheCaptain Note Edited: 0018789 View Revisions
2017-11-05 10:20 WubTheCaptain Note Edited: 0018789 View Revisions
2017-11-05 10:39 Zalewa Note Added: 0018790
2017-11-05 10:56 WubTheCaptain Note Added: 0018791
2017-11-05 10:56 WubTheCaptain Status assigned => needs review
2017-11-05 10:56 WubTheCaptain Note Edited: 0018791 View Revisions
2017-11-05 10:59 WubTheCaptain Note Edited: 0018791 View Revisions
2017-11-05 11:18 WubTheCaptain Note Added: 0018792
2017-11-05 11:18 WubTheCaptain Status needs review => assigned
2017-11-05 13:25 Zalewa Note Added: 0018793
2017-11-05 19:45 Blzut3 Note Added: 0018800
2017-11-05 21:21 Zalewa Note Added: 0018807
2017-11-05 21:50 Zalewa Note Edited: 0018807 View Revisions
2017-11-05 22:14 Zalewa Note Edited: 0018807 View Revisions
2017-11-06 03:03 WubTheCaptain Note Added: 0018809
2017-11-06 03:05 WubTheCaptain Note Edited: 0018809 View Revisions
2018-02-21 21:52 WubTheCaptain Relationship added parent of 0003381
2018-08-20 19:41 WubTheCaptain Relationship added related to 0003450
2018-08-20 20:13 WubTheCaptain Relationship added parent of 0003451
2018-08-26 10:39 Zalewa Note Added: 0019408
2018-08-27 01:13 WubTheCaptain Note Added: 0019418
2018-08-27 01:13 WubTheCaptain Status assigned => needs review
2018-09-01 12:05 WubTheCaptain Relationship added child of 0003483
2018-09-22 19:35 WubTheCaptain Relationship added related to 0003509
2018-09-22 22:53 WubTheCaptain Note Added: 0019668
2018-09-22 22:53 WubTheCaptain Note Edited: 0019668 View Revisions
2018-09-22 22:56 WubTheCaptain Note Added: 0019669
2018-09-22 22:57 WubTheCaptain Status needs review => assigned
2018-09-22 23:07 WubTheCaptain Relationship added parent of 0003510
2018-09-22 23:12 WubTheCaptain Relationship added parent of 0003511
2018-09-22 23:21 WubTheCaptain Relationship added parent of 0003512
2018-09-22 23:32 WubTheCaptain Relationship added parent of 0003513
2018-09-22 23:33 WubTheCaptain Note Edited: 0019668 View Revisions
2018-09-23 07:47 Zalewa Assigned To Zalewa =>
2018-09-23 07:50 Zalewa Status assigned => confirmed
2018-09-25 01:59 WubTheCaptain Relationship added related to 0003522
2018-10-01 04:34 WubTheCaptain Relationship replaced related to 0003246
2018-10-01 04:39 WubTheCaptain Relationship replaced related to 0003292
2018-10-06 11:43 WubTheCaptain Relationship added parent of 0003537
2018-10-06 12:38 WubTheCaptain Relationship added related to 0003538
2018-10-06 12:41 WubTheCaptain Relationship deleted related to 0003538
2018-10-13 16:18 WubTheCaptain Assigned To => WubTheCaptain
2018-10-13 16:18 WubTheCaptain Status confirmed => needs review
2018-10-13 16:25 WubTheCaptain Note Added: 0020100
2018-10-13 17:26 WubTheCaptain Relationship replaced related to 0003537
2018-10-13 17:43 WubTheCaptain Note Added: 0020105
2018-10-13 17:43 WubTheCaptain Status needs review => resolved
2018-10-13 17:43 WubTheCaptain Fixed in Version => 1.2
2018-10-13 17:43 WubTheCaptain Resolution open => fixed
2018-10-13 19:57 Zalewa Note Added: 0020116
2018-10-14 12:53 WubTheCaptain Note Added: 0020122
2018-10-14 12:56 WubTheCaptain Relationship replaced related to 0003298
2018-10-27 22:53 WubTheCaptain Status resolved => closed
2019-06-23 02:33 WubTheCaptain Relationship added related to 0003595






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2024 MantisBT Team
Powered by Mantis Bugtracker