transmission-remote-gui / transgui

🧲 A feature rich cross platform Transmission BitTorrent client. Faster and has more functionality than the built-in web GUI.
GNU General Public License v2.0
3.24k stars 281 forks source link

Transgui in Debian and licencing issues #1239

Closed anoteng closed 4 years ago

anoteng commented 5 years ago

I am attempting to create a test package for Debian with the intent of switching upstream sources from Mr Sidorovs project to this one. There are a couple of things I would love to have changed before I make the switch.

The software is licenced under GPL without OpenSSL exception but is linking against OpenSSL. This seems to be a violation of the GPL and an updated package is likely to be refused in Debian without removing the SSL-support. Would you be willing to re licence with OpenSSL exception or consider switching to a free-er library? Mr Sidorov has previously commented on this issue in this bug: https://github.com/transmission-remote-gui/transgui/issues/369 More information: https://people.gnome.org/~markmc/openssl-and-the-gpl.html Debian's stand on the issue: https://lists.debian.org/debian-legal/2002/10/msg00113.html Error message from lintian:

E: transgui: possible-gpl-code-linked-with-openssl
N: 
N:    This package appears to be covered by the GNU GPL but depends on the
N:    OpenSSL libssl package and does not mention a license exemption or
N:    exception for OpenSSL in its copyright file. The GPL (including version
N:    3) is incompatible with some terms of the OpenSSL license, and therefore
N:    Debian does not allow GPL-licensed code linked with OpenSSL libraries
N:    unless there is a license exception explicitly permitting this.
N:    
N:    If only the Debian packaging, or some other part of the package not
N:    linked with OpenSSL, is covered by the GNU GPL, please add a Lintian
N:    override for this tag. Lintian currently has no good way of
N:    distinguishing between that case and problematic packages.
N:    
N:    Severity: serious, Certainty: wild-guess
N:    
N:    Check: copyright-file, Type: binary

Another minor problem I have is that the source package is shipping binary files in setup/win/openssl. This is the error message from Debian's lintian tool:

W: transgui source: source-contains-prebuilt-windows-binary setup/win/openssl/libeay32.dll
N: 
N:    The source tarball contains a prebuilt binary for Microsoft Windows.
N:    They are usually provided for the convenience of users. These files
N:    usually just take up space in the tarball.
N:    
N:    However, they may be a DFSG violation in that the corresponding source
N:    and build system are not available.
N:    
N:    Check if upstream also provides source-only tarballs that you can use as
N:    the upstream distribution instead. If not, you may want to ask upstream
N:    to provide source-only tarballs.

Also, fyi lintian also gives this minor informational alert:

I: transgui: spelling-error-in-binary usr/bin/transgui occured occurred
N: 
N:    Lintian found a spelling error in the given binary. Lintian has a list
N:    of common misspellings that it looks for. It does not have a dictionary
N:    like a spelling checker does.
N:    
N:    If the string containing the spelling error is translated with the help
N:    of gettext or a similar tool, please fix the error in the translations
N:    as well as the English text to avoid making the translations fuzzy. With
N:    gettext, for example, this means you should also fix the spelling
N:    mistake in the corresponding msgids in the *.po files.
N:    
N:    You can often find the word in the source code by running:
N:    
N:     grep -rw <word> <source-tree>
N:    
N:    This tag may produce false positives for words that contain non-ASCII
N:    characters due to limitations in strings.
N:    
N:    Severity: minor, Certainty: wild-guess
transgui$ grep -rw occured *
lineinfo2.pp:  more safe when an error has occured in the program }
synapse/source/lib/blcksock.pas:    {:report situation where communication error occured. When raiseexcept is
synapse/source/lib/blcksock.pas:     occured.)}
synapse/source/lib/synaser.pas:    {:Receive all data to stream, until some error occured. (for example timeout)}
synapse/source/lib/pingsend.pas:     requested destination, when some error occured!}
anoteng commented 5 years ago

I went ahead and uploaded to debian without openssl, stripping out the windows binaries from the source tarball. At least this fork will be in Debian (and Ubuntu) now, but until an ssl exception is added to the licence it'll be without ssl support.

leonsoft-kras commented 5 years ago

Thank. You can join the project and do some work. No one else will do it. Contact PeterDaveHello

PeterDaveHello commented 5 years ago

Feel free to send proper pull requests to fix those issues.

anoteng commented 4 years ago

@PeterDaveHello I have created a pull request #1285

anoteng commented 4 years ago

Closed by commit 220ebedc95d32db34ae78026a363feb43295f328