Scripsit Yong Li <[EMAIL PROTECTED]> > 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."