Re: MPL2 instead of LGPL

2020-08-19 Thread Hörmetjan Yiltiz
May I try to point out the elephant in the room? Most KDE applications and
libraries are copyleft, with tremendous effort and contributions from a
wide range of people. Since most of them belong to more than one author, it
is not possible for a maintainer to simply re-licence an existing piece of
software from copyleft to permissive style license; that requires getting
all previous contributors on board and getting their explicit permission.
However, if anyone is working on a new project based solely on permissive
style licenses, the developer(s) are free to also release their new project
in a permissive style license. I hope I did not digress.
Best,
Hörmet

He who is worthy to receive his days and nights is worthy to receive all
else from you (and me).
 -- The Prophet, Gibran
Kahlil



On Wed, Aug 19, 2020 at 3:24 PM Sandro Andrade 
wrote:

> On Wed, Aug 19, 2020 at 2:27 PM Roman Gilg  wrote:
> >
> > On Wed, Aug 19, 2020 at 6:01 PM Sandro Andrade 
> wrote:
> > >
> > > On Sun, Aug 16, 2020 at 5:11 AM Roman Gilg  wrote:
> > > >
> > > > Hi,
> > >
> > > Hi Roman,
> > >
> > > > * Proprietary code static linking LGPL code is not practically
> doable.
> > > > [5] See also above ZeroMQ exception.
> > >
> > > This is a topic every now and then pops around when discussing
> > > licensing issues. The FSF is pretty clear in stating the providing
> > > object files are enough to enable users to relink with different
> > > versions of the LGPL library. I see some projects using LGPL + static
> > > linking exceptions and I've read all the things regarding "work based
> > > on the library" vs "work which uses the library", header dependencies,
> > > and so on but such LGPL exceptions look more like a clarification
> > > point than a thing not already covered by LGPL.
> > >
> > > I really don't see the point of comments like "If you statically link
> > > a LGPL library, then the application itself must be LGPL. We have had
> > > our lawyer double-check on this in the past. Dynamically linking to a
> > > LGPL library is the only way to avoid becoming LGPL", presented in the
> > > stackoverflow link [5] you provided.
> > >
> > > Could you elaborate a bit why this is not practically doable or
> > > legally incorrect?
> >
> > Hi Sandro,
> >
> > no I can't. I was just rephrasing what I read in some sources online
> > and asking here for educated opinions on if this interpretation is
> > right or wrong. Thanks for taking the time to "debunk" some of the
> > myths floating around.
> >
> > Do you see it the same way in regards to the usage of templates in C++
> > libraries licensed under the LGPL? Is this also a "non-issue" in the
> > end?
>
> AFAIK, and with all due IANAL disclaimer, this has been specifically
> addressed at Section 3 (Object Code Incorporating Material from
> Library Header Files) of LGPLv3. For LGPLv2'ed applications, expanding
> inline functions and templates inside an application's object would
> render LGPLv2 equivalent to the GPL. As stated in LGPLv3, even if the
> application's object incorporate header elements which "are not
> limited to numerical parameters, data structure layouts and accessors,
> or small macros, inline functions and templates (ten or fewer lines in
> length)" you may convey such object code under terms of your choice as
> long as:
>
> "
> a) Give prominent notice with each copy of the object code that the
> Library is used in it and that the Library and its use are covered by
> this License.
> b) Accompany the object code with a copy of the GNU GPL and this
> license (LGPLv3) document.
> "
>
> Cheers,
> Sandro
>
> >
> > > Cheers,
> > > Sandro
>


Re: MPL2 instead of LGPL

2020-08-19 Thread Sandro Andrade
On Wed, Aug 19, 2020 at 2:27 PM Roman Gilg  wrote:
>
> On Wed, Aug 19, 2020 at 6:01 PM Sandro Andrade  wrote:
> >
> > On Sun, Aug 16, 2020 at 5:11 AM Roman Gilg  wrote:
> > >
> > > Hi,
> >
> > Hi Roman,
> >
> > > * Proprietary code static linking LGPL code is not practically doable.
> > > [5] See also above ZeroMQ exception.
> >
> > This is a topic every now and then pops around when discussing
> > licensing issues. The FSF is pretty clear in stating the providing
> > object files are enough to enable users to relink with different
> > versions of the LGPL library. I see some projects using LGPL + static
> > linking exceptions and I've read all the things regarding "work based
> > on the library" vs "work which uses the library", header dependencies,
> > and so on but such LGPL exceptions look more like a clarification
> > point than a thing not already covered by LGPL.
> >
> > I really don't see the point of comments like "If you statically link
> > a LGPL library, then the application itself must be LGPL. We have had
> > our lawyer double-check on this in the past. Dynamically linking to a
> > LGPL library is the only way to avoid becoming LGPL", presented in the
> > stackoverflow link [5] you provided.
> >
> > Could you elaborate a bit why this is not practically doable or
> > legally incorrect?
>
> Hi Sandro,
>
> no I can't. I was just rephrasing what I read in some sources online
> and asking here for educated opinions on if this interpretation is
> right or wrong. Thanks for taking the time to "debunk" some of the
> myths floating around.
>
> Do you see it the same way in regards to the usage of templates in C++
> libraries licensed under the LGPL? Is this also a "non-issue" in the
> end?

AFAIK, and with all due IANAL disclaimer, this has been specifically
addressed at Section 3 (Object Code Incorporating Material from
Library Header Files) of LGPLv3. For LGPLv2'ed applications, expanding
inline functions and templates inside an application's object would
render LGPLv2 equivalent to the GPL. As stated in LGPLv3, even if the
application's object incorporate header elements which "are not
limited to numerical parameters, data structure layouts and accessors,
or small macros, inline functions and templates (ten or fewer lines in
length)" you may convey such object code under terms of your choice as
long as:

"
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are covered by
this License.
b) Accompany the object code with a copy of the GNU GPL and this
license (LGPLv3) document.
"

Cheers,
Sandro

>
> > Cheers,
> > Sandro


Re: MPL2 instead of LGPL

2020-08-19 Thread Martin Floeser



Am 19. August 2020 19:27:09 MESZ schrieb Roman Gilg :

On Wed, Aug 19, 2020 at 6:01 PM Sandro Andrade 
wrote:


On Sun, Aug 16, 2020 at 5:11 AM Roman Gilg  wrote:
>
> Hi,

Hi Roman,

> * Proprietary code static linking LGPL code is not practically

doable.

> [5] See also above ZeroMQ exception.

This is a topic every now and then pops around when discussing
licensing issues. The FSF is pretty clear in stating the providing
object files are enough to enable users to relink with different
versions of the LGPL library. I see some projects using LGPL + static
linking exceptions and I've read all the things regarding "work based
on the library" vs "work which uses the library", header

dependencies,

and so on but such LGPL exceptions look more like a clarification
point than a thing not already covered by LGPL.

I really don't see the point of comments like "If you statically link
a LGPL library, then the application itself must be LGPL. We have had
our lawyer double-check on this in the past. Dynamically linking to a
LGPL library is the only way to avoid becoming LGPL", presented in

the

stackoverflow link [5] you provided.

Could you elaborate a bit why this is not practically doable or
legally incorrect?


Hi Sandro,

no I can't. I was just rephrasing what I read in some sources online
and asking here for educated opinions on if this interpretation is
right or wrong. Thanks for taking the time to "debunk" some of the
myths floating around.

Do you see it the same way in regards to the usage of templates in C++
libraries licensed under the LGPL? Is this also a "non-issue" in the
end?


I think all of this is pretty much a non issue. You are looking at this 
from the position of an engineer. But licenses are legal-speech and 
would be interpreted by a judge. Most likely a judge does not have the 
technical knowledge to understand the differences.


It is very unlikely that a judge would understand the implications of 
different linker flags (static vs. dynamic linking). Anybody without a 
high technical background won't understand that. What matters more is 
the intention of the license. And that is clear. It's the "lesser" gpl. 
And it would be interpreted like that. The (l)gpl was written with C in 
mind. Adapting it to other languages is difficult for us, but probably 
not for a legal person. A template library is a library. That it is kind 
of static linking is an implementation detail. And here the intention 
matters: if one would have wanted the gpl restrictions one would choose 
gpl as license. But using lgpl clearly states that one doesn't want the 
gpl restrictions to hold.


Granted all of that has not been tested in a court. Thus if one wants to 
be clear it might make sense to dual license or use class path 
exceptions, etc. But for our frameworks it's a non issue as we always 
stated the intention: allow users of Qt's commercial license to use our 
libraries. If a copyright holder would turn into a McHardy he would 
hopefully lose at court, especially if we as the community would 
contradict the claims.


Cheers and IANAL
Martin


Re: MPL2 instead of LGPL

2020-08-19 Thread Roman Gilg
On Wed, Aug 19, 2020 at 6:01 PM Sandro Andrade  wrote:
>
> On Sun, Aug 16, 2020 at 5:11 AM Roman Gilg  wrote:
> >
> > Hi,
>
> Hi Roman,
>
> > * Proprietary code static linking LGPL code is not practically doable.
> > [5] See also above ZeroMQ exception.
>
> This is a topic every now and then pops around when discussing
> licensing issues. The FSF is pretty clear in stating the providing
> object files are enough to enable users to relink with different
> versions of the LGPL library. I see some projects using LGPL + static
> linking exceptions and I've read all the things regarding "work based
> on the library" vs "work which uses the library", header dependencies,
> and so on but such LGPL exceptions look more like a clarification
> point than a thing not already covered by LGPL.
>
> I really don't see the point of comments like "If you statically link
> a LGPL library, then the application itself must be LGPL. We have had
> our lawyer double-check on this in the past. Dynamically linking to a
> LGPL library is the only way to avoid becoming LGPL", presented in the
> stackoverflow link [5] you provided.
>
> Could you elaborate a bit why this is not practically doable or
> legally incorrect?

Hi Sandro,

no I can't. I was just rephrasing what I read in some sources online
and asking here for educated opinions on if this interpretation is
right or wrong. Thanks for taking the time to "debunk" some of the
myths floating around.

Do you see it the same way in regards to the usage of templates in C++
libraries licensed under the LGPL? Is this also a "non-issue" in the
end?

> Cheers,
> Sandro