[QGIS-Developer] Plugin licensing requirements

Even Rouault even.rouault at spatialys.com
Thu Jan 7 10:09:05 PST 2021


On jeudi 7 janvier 2021 18:18:03 CET Vincent Picavet (ml) wrote:
> Hi,
> 
> On 07/01/2021 10:43, Nyall Dawson wrote:
> > On Thu, 7 Jan 2021 at 19:13, Topi Tjukanov <topi at gispo.fi> wrote:
> [..]
> 
> >> So if this really is a requirement, should this be enforced somehow and
> >> checked when plugins are accepted to the official repository?
> > 
> > Agreed, but keep in mind that it's a little tricky sometimes. A plugin
> > ONLY
> > has to make the modules which import QGIS classes GPL (and consequently
> > any
> > other modules which import these modules). It is entirely possible to
> > separate plugins into two isolated components, a non-GPL "core" layer
> > which
> > does NOT use any QGIS modules, and a GPL layer which imports both the QGIS
> > modules and the non-gpl core. (This is how the licensed SLYR plugin works,
> > for reference).
> 
> I would not bet any cent on these assertions. Would you have any serious
> references supporting this ?
> 
> The GPL licence makes the code "viral" through the notion of "link". For
> Python module, it is through import. A link is bidirectionnal, and
> therefore your whole package if distributed is considered GPL.
> 
> As far as I know, the only way to have a GPL/proprietary coexistence is to
> have distinct processes and inter-process communication ( through files,
> web interfaces... ). And it can be even trickier if there are strong
> dependencies between modules, which can be interpreted as "derived product"
> or "link", even if there is no link as in "library link" between the
> modules.

Those situations are tricky. Nyall's case looks to me a bit similar to the 
NVIDIA Linux kernel module:
- Linux kernel core : GPL
- shim layer for the NVIDIA driver: GPL
- NVIDIA blob that doesn't call GPL code: proprietary
NVIDIA claims that the blob isn't considered a derived work of the Linux 
kernel as it is OS-independent work.
Only a judge can ultimately decide what is a derived work or not.

Reference to a discussion regarding the NVIDIA case:
https://ipfs.io/ipfs/QmdA5WkDNALetBn4iFeSepHjdLGJdxPBwZyY47ir1bZGAK/comp/
linux/gpl_modules.html

https://www.gnu.org/licenses/gpl-faq.en.html#GPLIncompatibleLibs might also be 
relevant.

-- 
Spatialys - Geospatial professional services
http://www.spatialys.com


More information about the QGIS-Developer mailing list