[Qgis-developer] Mixing GPL-2 & GPL-3 code in QGIS (official Debian package rejected by FTP master)

Sebastiaan Couwenberg sebastic at xs4all.nl
Sat Feb 28 10:21:23 PST 2015


Hi all,

After 4 releases and a significant update of the debian/copyright file,
the Debian FTP masters have reviewed the qgis package and unfortunately
rejected it due to incompatibly licensed code.

I've included the FTP master response below, and it's also available in
the list archive:

http://lists.alioth.debian.org/pipermail/pkg-grass-devel/2015-February/027884.html

The dxf2shp_converter plugin contains code under GPL-2 (v2 only), GPL-2+
(v2 or later), MIT, LGPL-2+ and commercial licenses. This is documented
in the debian/copyright file as follows:


Files: src/plugins/dxf2shp_converter/builder.cpp
 src/plugins/dxf2shp_converter/builder.h
Copyright: 1999, Frank Warmerdam <warmerda at pobox.com>
Comment: The code is heavily based on Christopher Michaelis' DXF to
 Shapefile Converter (http://www.wanderingidea.com/content/view/12/25/),
 released under GPL License
 .
 This code is based on two other products:
    DXFLIB (http://www.ribbonsoft.com/dxflib.html)
 This is a library for reading DXF files, also GPL.
    SHAPELIB (http://shapelib.maptools.org/)
 Used for the Shapefile functionality.
License: MIT

Files: src/plugins/dxf2shp_converter/getInsertions.h
Copyright: Christopher Michaelis
License: GPL-2

Files: src/plugins/dxf2shp_converter/getInsertions.cpp
Copyright: Christopher Michaelis
License: GPL-2+

Files: src/plugins/dxf2shp_converter/shapelib-1.2.10/*
Copyright: 1999, 2001-2002, Frank Warmerdam
License: MIT or LGPL-2+

Files: src/plugins/dxf2shp_converter/dxflib/src/*
Copyright: 2001-2003, RibbonSoft
                2001, Robert J. Campbell Jr
License: GPL-2 or dxflib-Commercial-License


The GPL-2 (v2 only) files are problematic because their license prevents
the upgrade to the GPL-3+ license used for libpal:


Files: src/core/pal/*
Copyright: 2008, Maxence Laurent, MIS-TIC, HEIG-VD
License: GPL-3+

Files: src/core/pal/costcalculator.cpp
 src/core/pal/costcalculator.h
Copyright: 2009, Martin Dobias
License: GPL-2+

Files: src/core/pal/rtree.hpp
Copyright: disclaimed
Comment: from http://www.superliminal.com/
 .
 AUTORS
    - 1983 Original algorithm and test code by Antonin Guttman and
      Michael Stonebraker, UC Berkely
    - 1994 ANCI C ported from original test code by Melinda Green -
      melinda at superliminal.com
    - 1995 Sphere volume fix for degeneracy problem submitted by
      Paul Brook
    - 2004 Templated C++ port by Greg Douglas
    - 2008 Portability issues fixed by Maxence Laurent
License: public-domain
 LICENSE : Entirely free for all uses. Enjoy!
 This File is in the public domain


The use of the GPL instead of LGPL by libpal is unfortunate, because the
GPL doesn't have the link exceptions. The use libpal in QGIS makes the
combination fall under the GPL-3+ which GPL-2+ license for QGIS allows,
but the GPL-2 licensed work do not.

See the GPL license compatibility matrix for an overview of the effects
of combining works under various GPL licenses:

http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility

To keep the combined work shipped in QGIS releases under the GPL-2+
license of GPL-3+ works needs to be changed. This requires all copyright
holders of the work to consent with the GPL-2+ license for their
contributions.


libpam is not the only problematic GPL-3+ work included in QGIS, a
couple of resources are too:


Files: resources/cpt-city-qgis-min/ds9/*
Copyright: 2010, William Joye
License: GPL-3+

Files: resources/cpt-city-qgis-min/grass/*
Copyright: 2009, GRASS Development Team
License: GPL-3+


Removing the dxf2shp_converter plugin from QGIS would get rid of the
problematic GPL-2 licensed works, but the inclusion of GPL-3+ works
still upgrades the GPL-2+ license for QGIS to GPL-3+.

Excluding the GPL-3+ resources doesn't look very problematic at first
glance, but I expect the removal of libpal to cause more breakage.


Besides the GPL-2/GPL-3 issue, one of the resources also has problematic
license terms:


Files: resources/cpt-city-qgis-min/es/*
Copyright: 2008, ElvenSword (http://elvensword.deviantart.com/)
Comment: Credit requested for use, required for distribution
License: ElvenSword
 For use:
 .
 * Using for commercial works, prints:
 Yes. There is no need ask permission first, or after.
 My resources are free for personal or commercial arts works. Credit is
 enough if possible, if there is a description. Note link to me not
 necessary. But it is good, I can not see them otherwise, feel free
 about it.
 .
 * Using in only DA:
 I submit them only DA yes, but you may use out of DA.
 .
 For distribute:
 .
 * I like sharing. So okay distributing my resources with credit,
 for good, for free. But,
 .
 * Do not distribute my resource files without original preview.
 ('cause previews including credit. Credit is important point on
 this situation.)
 .
 * Do not remove my name on it (preview). I saw some Turkish and
 Russian forum sites delete artists names though, and they puting
 their own cursed crappy logos on the previews. It is not sharing.
 It is ...
 .
 * Do not create collection with new preview, claiming open or close
 they're your own creations.
 .
 * Do not Rip/Merge with other artists work. Example: All in one
 gradients by Merger/Ripper Nickname) for download/sell
 .
 * Thanks


The "Do not Rip/Merge" clause may prevent inclusion in QGIS if the
cpt-city collection is considered an "All in one gradients ... for
download".

Since the README.txt included in cpt-city clearly states that copyright
is held by the respective authors, the clause does not seem to apply.
The gradients collection is not claimed to be by a different author.

If the FTP masters cannot be persuaded of this view, excluding the es
gradient doesn't look very problematic either.

What does the QGIS development community think about the issues raised
by the Debian FTP masters and ways to resolve them?

Kind Regards,

Bas

On 02/28/2015 05:00 PM, Thorsten Alteholz wrote:
> unfortunately I have to reject your package.
>
> In your debian/copyright you have the following entry:
>  Files: src/core/pal/*
>  Copyright: 2008, Maxence Laurent, MIS-TIC, HEIG-VD
>  License: GPL-3+
> (strictly speaking this is not true as costcalculator.cpp and
>  costcalculator.h are GPL-2+)
>
> you also have:
>  Files: src/plugins/dxf2shp_converter/getInsertions.h
>  Copyright: Christopher Michaelis
>  License: GPL-2
>
>  Files: src/plugins/dxf2shp_converter/getInsertions.cpp
>  Copyright: Christopher Michaelis
>  License: GPL-2+
> The second license header of getInsertions.cpp states it is GPLv2
> only, so the whole thing seems to be licensed under GPLv2.
>
> Unfortunately you can not mix GPLv2 and GPLv3 software.
>
> Further you have
>  Files: src/plugins/dxf2shp_converter/dxflib/src/*
>  Copyright: 2001-2003, RibbonSoft
>                  2001, Robert J. Campbell Jr
>  License: GPL-2 or dxflib-Commercial-License
> which doesn't fit either.
>
>
> License: ElvenSword says:
>  * Do not Rip/Merge with other artists work. Example: All in one
>    gradients by Merger/Ripper Nickname) for download/sell
> This is non-free and aren't you doing this with all the other stuff
> in resources/cpt-city-qgis-min/*?
>
> So I am afraid, there needs to be a new revision of this software.

-- 
 GPG Key ID: 4096R/6750F10AE88D4AF1
Fingerprint: 8182 DE41 7056 408D 6146  50D1 6750 F10A E88D 4AF1


More information about the Qgis-developer mailing list