www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - QtD lisence

reply "ShestakoffVS" <shestakoffvs gmail.com> writes:
Could you explicitly explain me can i use QtD bindings for 
commercial project?
Aug 16 2012
next sibling parent reply "David Nadlinger" <see klickverbot.at> writes:
On Thursday, 16 August 2012 at 16:35:19 UTC, ShestakoffVS wrote:
 Could you explicitly explain me can i use QtD bindings for 
 commercial project?

I am not a lawyer, but: Yes, you can, under the restriction your Qt license mandates. The QtD libraries itself are Boost-licensed, it's just the generator executable (and the samples) which are GPL due to code carried over from QtJambi. David
Aug 16 2012
parent reply Jacob Carlborg <doob me.com> writes:
On 2012-08-16 22:32, ShestakoffVS wrote:

 David, i read about LGPL and other nokia stupid ideas and now want to
 know can i staticly link my programm with qtd.

As far as I know you need to link dynamically to Qt to avoid the LGPL license. -- /Jacob Carlborg
Aug 16 2012
parent Jacob Carlborg <doob me.com> writes:
On 2012-08-17 09:55, Russel Winder wrote:

 Can I suggest a re-phasing "proprietary code needs to dynamically link
 to Qt to comply with the LGPL". To avoid the LGPL with Qt you need to
 buy a commercial Qt licence.

 Applications that are themselves LGPL or GPL can dynamically or
 statically link to LGPL libraries.

What I meant was to avoid being forced to license your code under LGPL. It's not just for proprietary code, there are also other open source licenses which are not compatible with GPL. -- /Jacob Carlborg
Aug 17 2012
prev sibling next sibling parent "ShestakoffVS" <shestakoffvs gmail.com> writes:
On Thursday, 16 August 2012 at 18:24:51 UTC, David Nadlinger 
wrote:
 On Thursday, 16 August 2012 at 16:35:19 UTC, ShestakoffVS wrote:
 Could you explicitly explain me can i use QtD bindings for 
 commercial project?

I am not a lawyer, but: Yes, you can, under the restriction your Qt license mandates. The QtD libraries itself are Boost-licensed, it's just the generator executable (and the samples) which are GPL due to code carried over from QtJambi. David

Thanks for your reply, David. But i didn't understand how i can use qtd for commercial project if i must use qt sources (that i cant use in commercial project) when i'm building qtd. I think i can use without payment only qtd binding tehnology not qt sourses. Sorry about my pedantry. I want to explain why i need this information. I'm working with opengl within python and C, and now i need some more performance and i want move to D, but i need good GUI library. With python i used PySide it's under LGPL license.
Aug 16 2012
prev sibling next sibling parent "David Nadlinger" <see klickverbot.at> writes:
On Thursday, 16 August 2012 at 19:07:20 UTC, ShestakoffVS wrote:
 But i didn't understand how i can use qtd for commercial 
 project if i must use qt sources (that i cant use in commercial 
 project) when i'm building qtd.

You can use Qt under the LGPL: http://qt.nokia.com/products/licensing. David
Aug 16 2012
prev sibling next sibling parent "ShestakoffVS" <shestakoffvs gmail.com> writes:
On Thursday, 16 August 2012 at 19:11:51 UTC, David Nadlinger 
wrote:
 On Thursday, 16 August 2012 at 19:07:20 UTC, ShestakoffVS wrote:
 But i didn't understand how i can use qtd for commercial 
 project if i must use qt sources (that i cant use in 
 commercial project) when i'm building qtd.

You can use Qt under the LGPL: http://qt.nokia.com/products/licensing. David

David, i read about LGPL and other nokia stupid ideas and now want to know can i staticly link my programm with qtd.
Aug 16 2012
prev sibling next sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 8/16/12, ShestakoffVS <shestakoffvs gmail.com> wrote:
 David, i read about LGPL and other nokia stupid ideas and now
 want to know can i staticly link my programm with qtd.

Laws aren't stupid ideas. If you want to make a commercial app, regardless of any libraries, you better have a lawyer.
Aug 16 2012
prev sibling next sibling parent Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On Thu, 16 Aug 2012 23:15:14 +0200
Andrej Mitrovic <andrej.mitrovich gmail.com> wrote:

 On 8/16/12, ShestakoffVS <shestakoffvs gmail.com> wrote:
 David, i read about LGPL and other nokia stupid ideas and now
 want to know can i staticly link my programm with qtd.

Laws aren't stupid ideas.

Just stupidly implemented ;)
Aug 16 2012
prev sibling next sibling parent Russel Winder <russel winder.org.uk> writes:
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-08-16 at 22:32 +0200, ShestakoffVS wrote:
[=E2=80=A6]
 David, i read about LGPL and other nokia stupid ideas and now=20
 want to know can i staticly link my programm with qtd.

LGPL is not a Nokia idea and not a stupid idea either. Using LGPL libraries you can write proprietary code and dynamically link to the version of the LGPL code the end user installs. If you want to statically link proprietary code to Qt then buy a commercial licence for Qt. The price of the Qt licence just becomes part of your BoM. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Aug 17 2012
prev sibling next sibling parent Russel Winder <russel winder.org.uk> writes:
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-08-16 at 23:04 +0200, Jacob Carlborg wrote:
 On 2012-08-16 22:32, ShestakoffVS wrote:
=20
 David, i read about LGPL and other nokia stupid ideas and now want to
 know can i staticly link my programm with qtd.

As far as I know you need to link dynamically to Qt to avoid the LGPL=20 license.

Can I suggest a re-phasing "proprietary code needs to dynamically link to Qt to comply with the LGPL". To avoid the LGPL with Qt you need to buy a commercial Qt licence. Applications that are themselves LGPL or GPL can dynamically or statically link to LGPL libraries.=20 --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Aug 17 2012
prev sibling next sibling parent Russel Winder <russel winder.org.uk> writes:
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 2012-08-17 at 11:37 +0200, Jacob Carlborg wrote:
[=E2=80=A6]
 What I meant was to avoid being forced to license your code under LGPL.=

 It's not just for proprietary code, there are also other open source=20
 licenses which are not compatible with GPL.

Indeed. Sadly though, licences such as ASL 2.0, MIT, BSD, etc. allow the unscrupulous to use and make proprietary versions of codebases and continue to make use of updates provided for free by unpaid volunteers, whilst making money from their proprietary version. The permissive licences are fine for established codebases, e.g. Groovy, where there is no realistic opportunity for successful bad behaviour. For smaller, less well established codebases, it is possible and known to have happened. The strategy seems then to use LGPL as a FOSS start up and then relicence to a more permissive licence once you have a reasonable sized user base that protects against bas behaviour.=20 None of this applies to systems that are necessarily distributed as source, for that case a whole different set of factors applies. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Aug 17 2012
prev sibling next sibling parent Joseph Rushton Wakeling <joseph.wakeling webdrake.net> writes:
On 17/08/12 08:55, Russel Winder wrote:
 Can I suggest a re-phasing "proprietary code needs to dynamically link
 to Qt to comply with the LGPL". To avoid the LGPL with Qt you need to
 buy a commercial Qt licence.

I think this is over-stating the licence requirements. The legally safest option is certainly to dynamically link against the LGPL-licensed code, but it's not an explicitly-stated _requirement_ of the licence. The requirements are that the recipient of the program must be able to link it to a newer version of the LGPL-licensed part. That could be achieved through dynamic linking, or it could be achieved through distributing object files along with the program. (You could also distribute source code, but since this is what's trying to be avoided here it's not a solution.) Qt recommends dynamic linking because it can't be guaranteed that some legal jurisdictions wouldn't interpret a statically-linked program as a "derivative work" of the LGPL-licensed code, thus falling under its copyleft provisions. However, such an interpretation is almost certainly not in line with the licence's intentions. It might be worth contacting the Software Freedom Law Center for advice on these points: https://www.softwarefreedom.org/
Aug 17 2012
prev sibling parent Russel Winder <russel winder.org.uk> writes:
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 2012-08-17 at 13:06 +0100, Joseph Rushton Wakeling wrote:
 On 17/08/12 08:55, Russel Winder wrote:
 Can I suggest a re-phasing "proprietary code needs to dynamically link
 to Qt to comply with the LGPL". To avoid the LGPL with Qt you need to
 buy a commercial Qt licence.

I think this is over-stating the licence requirements. The legally safes=

 option is certainly to dynamically link against the LGPL-licensed code, b=

 not an explicitly-stated _requirement_ of the licence.

This is true. About a decade ago I took legal advice regarding GPL, LGPL and various scenarios. The problem was that there was very little case law to give solidity to any interpretation of the licences and the law surrounding them. Taking a defensive view is thus the safest way forward.
 The requirements are that the recipient of the program must be able to li=

 to a newer version of the LGPL-licensed part.  That could be achieved thr=

 dynamic linking, or it could be achieved through distributing object file=

 with the program.  (You could also distribute source code, but since this=

 what's trying to be avoided here it's not a solution.)

We also thought about this interpretation of compliance, but it leads to dangerous doubts for end user products. OK for software tools where the end user is themselves in the software business. =20
 Qt recommends dynamic linking because it can't be guaranteed that some le=

 jurisdictions wouldn't interpret a statically-linked program as a "deriva=

 work" of the LGPL-licensed code, thus falling under its copyleft provisio=

 However, such an interpretation is almost certainly not in line with the=

 licence's intentions.

The core problem here is no case law and no international agreements. So "derivative work", "linking", "dynamic" and "static" are all legally undefined in this contexts in many jurisdictions. Worse I bet there are very few computer literate folk working in jurisprudence.
 It might be worth contacting the Software Freedom Law Center for advice o=

 points: https://www.softwarefreedom.org/

But the problem is that they are USA centric. Or are they taking on more people internationally now? --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Aug 17 2012