Qt Online Installer 3.2.3
qt.io
qt.io
1. Do not buy the commercial version.
2. Do not change the source code of the Qt library. Use it at it is.
3. Provide access to either statically or dynamically linked object files with instructions for linking. Static vs. dynamic linking does not matter with LGPL. LGPL requires access to source code and the ability for the user to modify open source library and link it to your closed source object file to create binary.
You compile your commercial code into commercial.o then compile LGPL code into lgpl.o and link them into a single binary.
ld -o binary lgpl.o commercial.o -lc
When you deliver the software, you send the binary, provide access to commercial.o and LGPL licensed source code with instructions for linking. User has now the ability to meddle with LGPL version of Qt, compile it into lgpl.o and link it against your commercial.o without having access to your source code.(note: of course you can modify the Qt under LGPL when you release modifications with the LGPL. But then you have to maintain the fork on your own and you don't usually want to do that.)
There's literally no way to use LGPL Qt on iOS. Thankfully Qt considers iOS a "mobile device" and not an "embedded device" so you can deploy a Qt app through the App Store with a single deployment license and not a per-unit royalty.
Dick move.
Such behaviour just leaves the market to big corps who can afford to release such tools for free while extracting money from elsewhere.
There's nothing in the BSD license that prevents you from mixing in code. LGPL doesn't care if you link it against BSD code. Just that the LGPL code must stay under LGPL.
Also, LGPL is already problematic, because you cannot link statically with it.
Damn. I just wrote the whole top level comment to explain that you can link statically LGPL code and how to do it with details.
"If you statically link against an LGPLed library, you must also provide your application in an object (not necessarily source) format, so that a user has the opportunity to modify the library and relink the application."
That's precisely what makes LGPL the LGPL. If it is a dick move, it is a FSF-endorsed, widely deployed, and widely used dick move.
"Creative accounting is what we want, since we didn't outlaw it."
It would mean however that if someone were to make a proprietary fork of your project, they would no longer be permitted to use the no-charge version of Qt. They would have to get a commercial licence. I don't see anything wrong with any of this though.
Edit: I wasn't clear here: Qt is also available under the LGPL, so the restrictions of the GPL aren't directly relevant.
However, using any GPL-code, no matter if linked statically or dynamically, requires the author to release the combined work under GPL.
I'm not sure where you're going with this.
Correct.
> using any GPL-code, no matter if linked statically or dynamically, requires the author to release the combined work under GPL.
Yes, the combined work itself ends up being GPL [0]. This is similar to making a fork of some BSD-licensed code and adopting the GPL for the fork. Your code, treated independently of the combination, may still be released under a (more permissive) GPL-compatible licence (like the BSD licence) if you so choose.
Put another way then, if Qt were only made available under the GPL, it would still be fine to release your Qt-powered application code under the BSD licence, but it wouldn't be possible to make a proprietary fork of that BSD-licensed application code, as you wouldn't then be permitted to link against libraries released only under the GPL. (I'm ignoring commercial licensing of Qt, of course.)
[0] https://www.gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean
This is exactly what Nokia wanted when they made Qt available under the LGPL in 2009; they fully endorsed this kind of usage. All subsequent buyers and investors have been fully aware of what the LGPL means.
Just remember that some ancillary Qt software - such as Qt Virtual Keyboard - are only available under the GPLv3 and commercial licenses.
So if your program ships with dynamically linked qt.dll or qt.so (or whatever) then it's good enough to just provide the source code because they can just build their own qt.dll or qt.so with their own code and directly use your program with it. But if your program statically links QT then you also need to provide some files (e.g. object files) for your application along with instructions on how to link those with the QT archive or your modified replacement. I remember a comment here on Hacker News about a program (a Sun one I think) that did exactly that, or least provided a URL to download the object files and build instructions.
So that means that if you provide a device containing GPL or LGPL code then you ought to provide a way to upload your own modified version onto that device. I'm not sure that's always true in practice, but that's the intention. If it's not possible, maybe the lawyers have figured out that a strict reading of the licence text doesn't actually require them to do that. Or maybe they simply don't adhere to the GPL properly but no one has dared to sue them.
vcpkg install qt-base
Not sure if it covers all the binaries you are likely to want - it includes qmake (although that's deprecated) and moc (that's probably what you really want). But it only includes enough to build programs, so not e.g. QtDesigner.It also builds the actual libraries (obviously this command only builds the core ones, but there are other ports e.g. qt5-charts). But on Linux I think they are statically linked, which may not be what you want.