[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GPL Interpretation on load [Was: [bug #61594] suggest new $(hash ...
From: |
Eli Zaretskii |
Subject: |
Re: GPL Interpretation on load [Was: [bug #61594] suggest new $(hash ...) function] |
Date: |
Wed, 01 Dec 2021 16:24:52 +0200 |
> From: <rsbecker@nexbridge.com>
> Date: Wed, 1 Dec 2021 09:09:55 -0500
> Cc: bug-make@gnu.org, boris@kolpackov.net
>
> On December 1, 2021 9:06 AM, Tim Murphy wrote:
>
> <big snip>
> > -load $(XTRA_OUTPUTDIR)/hash$(XTRA_EXT)
>
> This thread brings up a question. The load function checks for GPL
> compatibility.
>
> /* Assert that the GPL license symbol is defined. */
> symp = (load_func_t) dlsym (dlp, "plugin_is_GPL_compatible");
> if (! symp)
> OS (fatal, flocp,
> _("Loaded object %s is not declared to be GPL compatible"),
> ldname);
>
> I am wondering why that is the case. A DLL that is loaded by GNU Make is not
> necessarily subject to GPLv2 or GPLv3. GPLvx makes it clear that you are
> subject to GPLvx if you include portions of the code from the project under
> license. However, an external DLL that is loaded by GNU Make via dlopen does
> not have to use any code from the code base. Using a published API, which
> would be the function interface has precedent for being excluded from license
> enforcement - the UNIX kernel API is an example that is purely public domain
> itself, while the individual header files are subject to licenses.
The test doesn't check that the library is under GPL, it tests that
it's "GPL-compatible", which means it's Free Software. GNU Make
doesn't want to load non-free modules.