Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Native Development

Reply
Trusted Contributor
Posts: 195
Registered: ‎03-12-2012
My Device: PlayBook
My Carrier: None

Qt and LGPL

I have asked the question on the Native forum and got no definitive answer.  Since Cascades is built on top of Qt, what is the license of the Qt library that's used?  If it is LGPL without static linking exception, how are we developers going to satisfy the requirement that the user of the binary be able to sub in his/her version of the Qt lib when our apps are distributed through App World?

 

Using LGPL stuff makes me very nervous.  Maybe RIM could just buy Qt from Nokia so we could use Qt for BB10 without losing sleep at night. Smiley Happy

Sucroid.com
Sweet Apps for the Fans
Developer
Posts: 6,473
Registered: ‎12-08-2010
My Device: PlayBook, Z10
My Carrier: none

Re: Qt and LGPL

I'm losing no sleep over it.

For one thing it seems clear that the copyright holder is fully aware of the situations involved and is happy to have the libraries used in these environments. I believe they're concerned only about changes to the actual Qt libs being made available (i.e. meeting the spirit of LGPL), and RIM is clearly doing that.

As for the letter of the license, I'm doing nothing to prevent users from swapping out for their own versions of the libraries, and restrictions that may prevent them from doing that are restrictions inherent in the platform on which they've chosen to run my apps.

Actually, as far as I can tell the "letter of LGPL" part is very poorly understood, and it's really only the "spirit" (free for use so long as changes to library itself are made available) that's widely known. I don't see anyone challenging people on this without the consent of the copyright holder and, on that, see my first point.

Peter Hansen -- (BB10 and dev-related blog posts at http://peterhansen.ca.)
Author of White Noise and Battery Guru for BB10 and for PlayBook | Get more from your battery!
New Developer
Posts: 29
Registered: ‎02-26-2012
My Device: Playbook, Bold 9900
My Carrier: Telus

Re: Qt and LGPL

I've read the GPL and LGPL numerous times.  I am not a lawer, but I don't see any clause that compels the application developer to ensure that a mechanism exists to allow for the replacement of the library.  What the LGPL seems to say is that your application can not be designed to actively prevent this (ie by statically linking the libraries object code with yours). And that the safest/easiest route to avoid this is to dynamically link against the library.

 

Since, we are dynamically linking with the library that is pre-installed, your job is done.  

 

I don't see anything that compels RIM to allow the library to be replaced either.  That would wreak havoc with security on the device so I'm sure this has been considered by RIM before using 3rd party LGPL libraries.

 

They haven't added Qt to the list of 3rd party legal notices yet, I assume they will do so before bb10.

http://worldwide.blackberry.com/legal/ThirdPartySoftware.pdf.  And RIM has taken care, as they need to, to comply with the LGPL by supplying a guarantee to ship the source code to anyone who asks.

 

My question is, do the RIM notices absolve developers who use these libraries from including legal notices with their software when using libraries like Qt that are included in the SDK?

Highlighted
Trusted Contributor
Posts: 195
Registered: ‎03-12-2012
My Device: PlayBook
My Carrier: None

Re: Qt and LGPL

Thanks for your reading @npross.

 

I guess if the library is prepackaged and dynamically linked at launch, it's probably ok.  But it's probably very different if the library is not prepackaged with the OS and from some other sources (like the full Qt).  In this case, how does one faciliate dynamic linking by packaging the library as an asset?  I'm not very familiar with linking technology so I'm not sure if this is even possible.  (I just use the IDE as a blackbox when it comes to linking. Smiley Happy)

Sucroid.com
Sweet Apps for the Fans