- From: Roel Vanhout <roel riks nl>
- To: Ole Laursen <olau hardworking dk>
- Cc: gtkmm-list gnome org
- Subject: Re: Libpropc++
- Date: Fri, 19 Aug 2005 15:16:12 +0200
> Since template code cannot be 'separated' from the rest of a program
> into a shared library, all the files that depend on a template library
> (such as, in fact, libsigc++) will have to be open-sourced in order to
> comply with the terms of the LGPL. This does indeed implicate that you'd
> have to open-source at least a part of your program in order to be able
> to use libsigc++.
But this is your interpretation. Clearly, the authors of gtkmm and
libsigc++ didn't intend this interpretation. Especially for libsigc++
it simply does not make any sense to license it under LGPL if the
template parts weren't covered by the same pattern of use - i.e. as
long as you are just using the library, there are no restrictions on
your license as long as people can get to the source of the library
itself (and do the relinking stuff).
Well this is where the fun begins. First, "the authors of gtkmm and
libsigc++ didn't intend this interpretation" is completely irrelevant.
Not the 'intent' of the authors is what gives the license its validity,
a reasonable interpretation of the wording of it does. So then we get
to the 'reasonable' part, and yes, in this case it could be argued both
ways. I still maintain that the case of gtkmm/libsigc++, a strict
interpretation of the LGPL is in order, which would not allow people to
use it in closed-source software. Notice that eg wxWidgets explicitly
allows static linking (they use the LGPL with this addition, at least
the last time I checked). I'd argue that if other projects are aware of
this deficiency in the LGPL, then the projects that continue to use it
unmodified want a strict interpretation, otherwise they'd use a modified
form as well.
LGPL is legally very muddy water. Even Richard Stallman and Eben Moglen
don't agree on the details of it, and they wrote the thing! (I don't
have time to dig up references now, I think I mentioned them last time
this issue came up on this list).
Also, I think 6a) in the LGPL
covers this with the paranthesis:
(It is understood that the user who changes the contents of
definitions files in the Library will not necessarily be able to
recompile the application to use the modified definitions.)
The question here is if template code is still a 'definition' file. I'd
argue not, a template class/function necessarily has to be both
definition and implementation.
] [Thread Prev