Page 1 of 2 12 LastLast
Results 1 to 20 of 28

Thread: Qt LGPL unclear

  1. #1
    Join Date
    Aug 2009
    Posts
    44
    Thanks
    29
    Thanked 5 Times in 5 Posts
    Qt products
    Qt4
    Platforms
    MacOS X Unix/X11 Windows

    Default Qt LGPL unclear

    Hi,

    If I want to develop a proprietary software by using Qt LGPL version...

    I must make sure these things:

    1) Dynamic linking only (when no changes to Qt itself)

    2) Say somewhere in my software that i am using Qt (for example under the Help menu->About Qt)


    Then here: http://blog.qt.nokia.com/2009/11/30/...sing-decision/

    If you are shipping an executable, you must include any data and utility programs needed for reproducing the executable (i.e. must provide components needed to recompile with a new version of the library) unless such data and utility programs are normally distributed with the major components of the operating system on which the executable runs
    So
    3) i have to include anything to reproduce the executable? What does this concretely mean? I ship the object files?? *.o? or how do you achive this? (perhaps theuser could just replace the dlls)

    The Nokia Exception says that you can include up to 5% of the entire Library? Does it mean i can't create infinite amount of Buttons derivated from QButton class?


    Thanks!

  2. #2
    Join Date
    Apr 2010
    Posts
    769
    Thanks
    1
    Thanked 94 Times in 86 Posts
    Qt products
    Qt3 Qt4
    Platforms
    Unix/X11

    Default Re: Qt LGPL unclear

    This clause means that, if your program requires special tools in order to build, you must include those tools in your distribution. A trivial example would be a compiler, although that particular requirement is already met by the exception for tools that are "normally distributed" with ordinary configurations. A more robust example would be a specialized pre-compiler (like Objective CAML, for instance) or an external toolkit your program requires for normal operation, like a specialized FFT package. The idea here is to escape several "proprietary" exemptions that various organizations applied under the last version of the GPL that effectively left anyone downstream unable to make use of their otherwise license-covered obligations. See "Tivoization" for more information.

    No idea what the Nokia exception says; consult a lawyer, or contact Nokia for clarification.

    Or, just pony up for a commercial license. They're not expensive, and give you unlimited rights.

    Or choose an alternative. Like Java. Or Motif.

  3. The following user says thank you to SixDegrees for this useful post:

    giowck (19th May 2010)

  4. #3
    Join Date
    Sep 2009
    Location
    UK
    Posts
    2,447
    Thanks
    6
    Thanked 348 Times in 333 Posts
    Qt products
    Qt4
    Platforms
    Windows

    Default Re: Qt LGPL unclear

    If your using the DLL, people can simply replace the DLL to use a newer (binary compatible) version of the Qt library (which is the intent in the license), you don't need to distribute object code and building tools as you are not statically linking (thats when it gets complicated).

    The nokia exception means you can include things required to use the Qt library (such as header files) in your own code, thus some of the Nokia licensed code appears in your code, but they don't require your code to be under the same license. What it prevents is you using a significant portion of the Nokia code in your code and still claiming you are exempt, or making a derivative of the library under the exemption.

  5. The following user says thank you to squidge for this useful post:

    giowck (19th May 2010)

  6. #4
    Join Date
    Aug 2009
    Posts
    44
    Thanks
    29
    Thanked 5 Times in 5 Posts
    Qt products
    Qt4
    Platforms
    MacOS X Unix/X11 Windows

    Default Re: Qt LGPL unclear

    Quote Originally Posted by fatjuicymole View Post
    If your using the DLL, people can simply replace the DLL to use a newer (binary compatible) version of the Qt library (which is the intent in the license), you don't need to distribute object code and building tools as you are not statically linking (thats when it gets complicated).

    The nokia exception means you can include things required to use the Qt library (such as header files) in your own code, thus some of the Nokia licensed code appears in your code, but they don't require your code to be under the same license. What it prevents is you using a significant portion of the Nokia code in your code and still claiming you are exempt, or making a derivative of the library under the exemption.
    ok now it seems more clear. But do i have to be afraid that i am using too much from the library during normal use (QButtons inheritance), or is it very improbable to use 5% of the lib when i am not modifying it... Because i don't know how much % i use...

  7. #5
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,368
    Thanks
    3
    Thanked 5,018 Times in 4,794 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: Qt LGPL unclear

    Quote Originally Posted by giowck View Post
    ok now it seems more clear. But do i have to be afraid that i am using too much from the library during normal use (QButtons inheritance), or is it very improbable to use 5% of the lib when i am not modifying it... Because i don't know how much % i use...
    It doesn't apply to buttons and stuff because you are not including their code in your program but rather link to the code from the dll. The clause is meant for template classes mostly as if you use them (like QList) in your code, then you fall under the "derived work" (or similar) clause (as the whole code of QList is included in your own code because of the nature of templates). Same goes probably for moc and uic generated files.
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  8. The following user says thank you to wysota for this useful post:

    giowck (19th May 2010)

  9. #6
    Join Date
    Sep 2009
    Location
    UK
    Posts
    2,447
    Thanks
    6
    Thanked 348 Times in 333 Posts
    Qt products
    Qt4
    Platforms
    Windows

    Default Re: Qt LGPL unclear

    It only depends on the source you directly include into your project (eg. by #include). Once you have include'd it once, you can create an infinite amount of buttons using it, subclassed or otherwise.

    Basically, If you just #include normal Qt header files, your fine. If you modify the library, header files, or start copying chunks from header files directly into your code, things start getting tricky.

    EDIT: wysota makes a good point about templates.

  10. The following user says thank you to squidge for this useful post:

    giowck (19th May 2010)

  11. #7
    Join Date
    Aug 2009
    Posts
    44
    Thanks
    29
    Thanked 5 Times in 5 Posts
    Qt products
    Qt4
    Platforms
    MacOS X Unix/X11 Windows

    Default Re: Qt LGPL unclear

    thanks to all!

  12. #8
    Join Date
    Aug 2009
    Posts
    44
    Thanks
    29
    Thanked 5 Times in 5 Posts
    Qt products
    Qt4
    Platforms
    MacOS X Unix/X11 Windows

    Default Re: Qt LGPL unclear

    i tried to substitude dlls of an app, made using Qt 4.5.2, with dlls from version 6.2 but i get some errors...

    so it is not enough just to replace the dlls with the new one...

    So what have i to do, in order to allow users to upgrade the library (as LGPL says)? Do i need to provide the object files now?

  13. #9
    Join Date
    Dec 2008
    Location
    Poland
    Posts
    383
    Thanks
    52
    Thanked 42 Times in 42 Posts
    Qt products
    Qt4
    Platforms
    MacOS X Unix/X11 Windows Android

    Default Re: Qt LGPL unclear

    I had same problem in the past, and "solved" it by shipping my app with correct version of Qt libs. I (please correct me if I'm wrong) think that You are allowed to do that.
    Also I have one question that I'm not so sure about:
    Can I redistribute my program (dynamic linking) under LGPL (Qt libs) and Freeware (close source of my code)? And if I can do that, how 5% limitation, for templates, apply to my code in that situation (how can someone verify that I use less then 5%? - I assume that it is My obligation to prove that I use less then 5% to the authorities )?
    Last edited by Talei; 22nd May 2010 at 13:49.

  14. #10
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,368
    Thanks
    3
    Thanked 5,018 Times in 4,794 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: Qt LGPL unclear

    You don't have to prove anything. I'm sure all the code that might get included into your application from Qt is less than those 5%. Qt is over 700 public classes (+probably another ~700 private ones) now so it's probably around million lines of code in total give or take.
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  15. #11
    Join Date
    Sep 2009
    Location
    UK
    Posts
    2,447
    Thanks
    6
    Thanked 348 Times in 333 Posts
    Qt products
    Qt4
    Platforms
    Windows

    Default Re: Qt LGPL unclear

    Quote Originally Posted by giowck View Post
    i tried to substitude dlls of an app, made using Qt 4.5.2, with dlls from version 6.2 but i get some errors...
    6.2? Are you sure? Latest Qt beta is 4.7.

  16. #12
    Join Date
    Apr 2010
    Posts
    769
    Thanks
    1
    Thanked 94 Times in 86 Posts
    Qt products
    Qt3 Qt4
    Platforms
    Unix/X11

    Default Re: Qt LGPL unclear

    I'm going to interject here, simply to point out that discussions like these, though interesting, are pointless. At the end of the day, when you're facing legal action over your deployment decisions, "I read it on th' Internet" doesn't give you any protection at all. None.

    If this issue is really of concern, you MUST consult an attorney, preferably one with experience in software intellectual property rights. Or, buy a Qt commercial license. There are really no other options. This thread could extend to hundresd of pages with thousands of comments (in fact, you can easily find such lengthy discussions on this exact topic scattered across the Internet) but none of it will amount to a hill of beans when you're standing in front of a judge.

  17. The following user says thank you to SixDegrees for this useful post:

    giowck (22nd May 2010)

  18. #13
    Join Date
    Dec 2008
    Location
    Poland
    Posts
    383
    Thanks
    52
    Thanked 42 Times in 42 Posts
    Qt products
    Qt4
    Platforms
    MacOS X Unix/X11 Windows Android

    Default Re: Qt LGPL unclear

    I would disagree with last post, at least in i.e. my case, when I create work based on Qt for free. Of course If anyone think seriously about selling product so consulting that mater with lawyer is only natural, but I don't want to spend x$ when I develop FREE programs. So I think these threads are not pointless, and they gave people like me somewhat of overview about licensing mater concerning Qt at least.
    And to bump my previous question:
    Can I go with LGLP for Qt libs and Freeware (closesource) for my main program (dynamic linking)?

  19. #14
    Join Date
    Apr 2010
    Posts
    769
    Thanks
    1
    Thanked 94 Times in 86 Posts
    Qt products
    Qt3 Qt4
    Platforms
    Unix/X11

    Default Re: Qt LGPL unclear

    Can I go with LGLP for Qt libs and Freeware (closesource) for my main program (dynamic linking)?
    Again - you can find thousands of endless discussions on exactly this point all over the Internet. Here's the definitive answer: there isn't an answer.

    You can distribute whatever you like. But if you care about retaining your intellectual property rights and control over your source code, then you need to consult with an attorney with expertise in such matters, or you stand a high risk of losing such rights and control if your code brushes up against the LGPL or GPL, especially the latest versions of these. Dick Stallman and the FSF are aggressively pursuing lawsuits with the purpose of establishing precedent, and even the smallest developer runs a substantial risk of finding themselves made an example of as the FSF pursues its ideological goals through the court system. And they have very deep pockets; if you think the cost of a Qt license or a legal consultation are high, wait 'til you have to answer a summons from such a group which is actively looking for trouble.

    Again: feel free to discuss this 'til the cows come home, but none of the opinions expressed here are going to be of any help if you're staring down a lawsuit. Basing such potentially costly, important decisions on forum chatter is foolish.

  20. #15
    Join Date
    Sep 2009
    Location
    UK
    Posts
    2,447
    Thanks
    6
    Thanked 348 Times in 333 Posts
    Qt products
    Qt4
    Platforms
    Windows

    Default Re: Qt LGPL unclear

    He has a point. Although we can offer advice and tell you what WE THINK our interpretation of the license means, if you want to ensure you abide by it, you need to seek legal advice from someone who, if they tell you wrong, you can sue them.

  21. #16
    Join Date
    Dec 2008
    Location
    Poland
    Posts
    383
    Thanks
    52
    Thanked 42 Times in 42 Posts
    Qt products
    Qt4
    Platforms
    MacOS X Unix/X11 Windows Android

    Default Re: Qt LGPL unclear

    I know that You both have right, but from developer point of view, and probably You guys wrote some free applications to, this is nonsense. Why? Because what You are suggesting is SPEND the MONEY to make FREE Software! (I know that money are not for app but for the knowledge) I seek help here, maybe this is not the right place for that kind of "help", so I agree what You wrote is correct about this kind of topics, but either way someone of You did publish application that, like in my case is free-ware but You want keep the source code close (well it's really not a big of a deal, just academical debate, especially taking into acount that software itself is not some advance AI that will gave birth to sky-net or something ).
    My point here is, and that's why I ask, that someone did the same in the past (I doubt that I'm the first person in the world, who thought about sharing using LGPL and freeware (closesource) ), and if so, did he get sued or not , or maybe a information like: on xxx_dot_com web page is all what You ask for. Although maybe in this community and at this point in space and time person who know answer at my question actually sleep .

  22. The following user says thank you to Talei for this useful post:

    giowck (22nd May 2010)

  23. #17
    Join Date
    Aug 2009
    Posts
    44
    Thanks
    29
    Thanked 5 Times in 5 Posts
    Qt products
    Qt4
    Platforms
    MacOS X Unix/X11 Windows

    Default Re: Qt LGPL unclear

    Sorry with 6.2 i mean 4.6.2

    i think the LGPL sucks, because it is unclear, why have I to contact a lawyer for a license from the FSF, they have to make it clear and usable...

    Why should developers use such licenses that are crap...

    i will go with Java or buy a commercial license... But Qt Nokia says that you can use their lib for commercaĆ­al use.. but without "real" information

  24. #18
    Join Date
    Sep 2009
    Location
    UK
    Posts
    2,447
    Thanks
    6
    Thanked 348 Times in 333 Posts
    Qt products
    Qt4
    Platforms
    Windows

    Default Re: Qt LGPL unclear

    The license is a legal document. When was the last time you read a legal document that was clear and concise? Thats how lawyers make there money.

    If you want a less restrictive license, and support from Nokia over any licensing issues you have, you need to buy commercial license. Thats really all there is to it.

  25. #19
    Join Date
    Jan 2006
    Location
    Germany
    Posts
    4,380
    Thanks
    19
    Thanked 1,005 Times in 913 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows Symbian S60
    Wiki edits
    5

    Default Re: Qt LGPL unclear

    Quote Originally Posted by fatjuicymole View Post
    When was the last time you read a legal document that was clear and concise?
    And also be aware that the LGPL is treated differently in each country. That is because the LGPL is mainly from the American law system, which is compared to the German one (as an example) totally different. So it had to be interpreted by the german law and so on...

  26. #20
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,368
    Thanks
    3
    Thanked 5,018 Times in 4,794 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: Qt LGPL unclear

    Quote Originally Posted by Talei View Post
    Because what You are suggesting is SPEND the MONEY to make FREE Software!
    There is a misunderstanding here. There is a difference between "Free Software" (as in freedom of speech) and "free software" as in "free beer". LGPL is about the former, not the latter.

    Quote Originally Posted by Lykurg View Post
    And also be aware that the LGPL is treated differently in each country. That is because the LGPL is mainly from the American law system, which is compared to the German one (as an example) totally different. So it had to be interpreted by the german law and so on...
    That's exactly the main problem with (L)GPL - it tends to be interpreted differently in different places. Especially GPL.

    The rest of this discussion is just a big fuzz over nothing. Whether we are talking about LGPL or any other kind of licence - if you want to be sure you are not violating it, you have to consult a lawyer who will stand by his word in the court of law. "Free" and "free" has nothing to do with that. Try interpreting the licence of Visual Studio Express.
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


Similar Threads

  1. LGPL question
    By tim47 in forum Installation and Deployment
    Replies: 5
    Last Post: 15th March 2010, 08:07
  2. VC++ 2008 and LGPL
    By uj in forum Installation and Deployment
    Replies: 4
    Last Post: 27th January 2010, 17:39
  3. Commercial and LGPL
    By bnilsson in forum Installation and Deployment
    Replies: 3
    Last Post: 2nd August 2009, 20:56
  4. Unclear Error Message at Release!!!
    By undercover in forum Qt Programming
    Replies: 9
    Last Post: 16th February 2009, 15:08
  5. Unclear path
    By mongenix in forum Newbie
    Replies: 2
    Last Post: 7th January 2007, 16:13

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Qt is a trademark of The Qt Company.