[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Question regarding a LGPL program and closed-source plugin

Scripsit Yong Li <rigel863@yahoo.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
in contrib.

> 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."

Reply to: