[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>
> On 2 May 2003, Henning Makholm wrote:
> > Scripsit Yong Li <rigel863@yahoo.com>

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

> There are a couple of LGPLed plugins to go with the server, albeit less
> useful. So perhaps the server and those 2 plugins could be put in main and
> the binary only plugin be put in non-free?

I was assuming, judging by your own comment, that the non-free plugin
is pragmatically important enough that the package ought to declare
"Recommends" against the non-free plugin. In that case, Debian policy
(2.1.2) prevents it from being in main.

Remember, being in main is not a goal or honor in itself. The
distinction between main and contrib is that we promise our users that
software in main will be genuinely useful *without* looking outside
of main. If that is not the case, putting the software in main anyway
will just amount to cheating our users.

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

> But it is not designed to work with the library by being *linked* with it.
> As a plugin, it is actually designed to work with the library by being
> *loaded* into the library. That's what makes me uncertain.

Linking and (this meaning of) loading are really just two words for
the same process. Rememer, e.g., that the system linker is called
"ld" - which is short for "load". And in a very real sense,
dynamically liked binaries under Linux do indeed "load" shared
libraries rather than being "linked" with them. Look up the man page
for ld.so(8).

> According to GPL FAQ, under the topic of "If a program released under the
> GPL uses plug-ins, what are the requirements for the licenses of a
> plug-in", it says:

>     If the program dynamically links plug-ins, and they make function 
>     calls to each other and share data structures, we believe they form a 
>     single program, so plug-ins must be treated as extensions to the main 
>     program. This means they must be released under the GPL ...

> And I think in this regard GPL and LGPL are same. Do I miss anything?

Yes, you're missing exactly the difference between LGPL, which is that
the LGPL does allow linking (loading, foobaring) with softare under a
different license, as long as the user has the means to change the
LGPL'ed part of the software.

Anyway, it this bothers you it will probably be a relatively simple
matter, techincally, to rewrite the LPGL'ed application such that it
is a conventional library that is invoked by a user-specified main
function, and then writing a BSD-licenced main module that links
traditionally to the plugin *and* the LGPL library, connecting them
to each other. However, the very triviality of this exercise is one
reason why I don't it should be considered different from a licensing

Henning Makholm                             "Det er du nok fandens ene om at
                                         mene. For det ligger i Australien!"

Reply to: