[sigc] libsigc++, LPGL and c++ templates


I know libsigc++ already some years and I use it in an open source project.
Now, I'd like to use it in my company, too - we make a proprietary software application on windows platforms.

There are long discussions in newsgroups about the LGPL and c++ templates and I must admit that can't figure it out.

Some people think that templates are just "header files" not falling under LGPL because the license addresses object code only, some think that changes in the library only concern the library but not the executable program and others think that template instantiations cause object code from the library to be incorporated in the executable program, thus rendering it a derivative work of the library.

I understand that if e.g. the slot implementation is changed then the object code of the libsigc++ library is changed and the user could exchange the shared library with his/her own version. But it's not clear regarding template instantiations and derived template classes (e.g. classes derived from sigc::adapts).

Could you give me a clear understanding what I can do with libsigc++ and what I must not? Is it enough to link my executable dynamically and distribute the executable alone with the sigc-2.0.dll or am I required to provide object/source code in case somebody changes templates concerning e.g. functors?

Thank you for enlightening me,

Klaus Triendl

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