Re: Question regarding a LGPL program and closed-source plugin
Scripsit Yong Li <email@example.com>
> Upon running the chosen plugin(s) will be loaded into the
> server's space through dlopen. Then the server will get pointers of
> functions from the plugin and call them as certain events occur.
> One of the plugins, arguably the only one that most people will be
> interested, is binary only.
This will prevent the server itself from being in main - but it can be
> 1. Could the plugin be considered as a "work that uses the Library"
> according to section 5 of LGPL, thus its distribution is outside of the
> scope of LGPL? The thing confused me is that the server program is
> not a typical library and the plugin is not a typical program that "is
> designed to work with the Library by being compiled or linked with it".
I think that it is a Work That Uses the Library. It is clearly
designed to work with the library by being linked with it. The
direction of the linking makes no difference IMO.
> 2. The plugin uses some data structures and macros from many header files
> from the server program. As such, does the generated object code (the so
> file in this case) have to be considered a "derivative work of the
> Library", thus subject to LGPL license?
No, as the LGPL itself says:
| If such an object file uses only numerical parameters, data
| structure layouts and accessors, and small macros and small inline
| functions (ten lines or less in length), then the use of the object
| file is unrestricted, regardless of whether it is legally a
| derivative work. (Executables containing this object code plus
| portions of the Library will still fall under Section 6.)
Henning Makholm "The practical reason for continuing our
system is the same as the practical reason
for continuing anything: It works satisfactorily."