> From: <rsbec...@nexbridge.com>
> Date: Wed, 1 Dec 2021 09:09:55 -0500
> Cc: bug-make@gnu.org, bo...@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.

Reply via email to