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

Re: Bug#251885: ITP: cgal -- C++ library for computational geometry


If the two licenses only applied to different libraries that linked to
each other, they would be compatible, because the scope of the LGPL
deliberately stops at the library boundary.  However, the LGPL requires
that all code which directly incorporates LGPLed code be LGPLed.
So any "work based on the library" must be licensed under the LGPL.
Since the QPL is not compatible with the LGPL, the entire work is

So what are the options for upstream?

a) Relicense the code in a way that the work is redistributable, if possible DFSG-free.

b) Split the library in (at least) two libraries, one (or more) for the LGPL code and one (or more) for the QPL code. (By "splitting", I mean creating two (or more) static/dynmaic libraries, not splitting the package itself.)

c) What about clause 7 of the LGPL:

>   7. You may place library facilities that are a work based on the
> Library side-by-side in a single library together with other library
> facilities not covered by this License, and distribute such a combined
> library, provided that the separate distribution of the work based on
> the Library and of the other library facilities is otherwise
> permitted, and provided that you do these two things:
>     a) Accompany the combined library with a copy of the same work
>     based on the Library, uncombined with any other library
>     facilities.  This must be distributed under the terms of the
>     Sections above.
>     b) Give prominent notice with the combined library of the fact
>     that part of it is a work based on the Library, and explaining
>     where to find the accompanying uncombined form of the same work.

For clarification, as I understand it:
"Library" = LGPL-part of the code
"library" = the dynamic/static library (including QPL code)

Would this be another option? Is there a piece of software that actually uses this clause?

d) What about an exception with respect to clause 2c) of the LGPL? Something similar like the GPL-waiver for libssl? This would also be an option, right?


Reply to: