ChatGPT解决这个技术问题 Extra ChatGPT

Can I use Qt LGPL license and sell my application without any kind of restrictions? [closed]

Closed. This question is off-topic. It is not currently accepting answers. Want to improve this question? Update the question so it's on-topic for Stack Overflow. Closed 9 years ago. Improve this question

I want to start a cross-platform project. I had my researches and now I am almost certain Qt is the right deal. There is a big obstacle here though: licensing.

I want to sell my project and I also don't want to give out any source related to my work or pay for a license. I checked and noticed Qt offers both commercial and open source solutions. I have heard too many conflicting sayings on Qt licensing which confused me a lot. Some say that even if I use LGPL version of Qt, I still need to submit my code. Is this true?

Can someone give me a simple explanation on Qt licenses and tell me if I can sell my application without any kind of restrictions at all or not? Would anyone tell me any other equivalents to Qt for cross-platform development without any restrictions?

This question boils down to legal matters. Those are unfortunately off-topic here on SO.
I have a dilemma on the subject, There is no quarrelsome on the licensing itself! just how they are treated, and how they effect me in the development process.So i think it is perfectly fine to ask such a question.
I'm not seeking any advice for going commercial or LGPL , i just need some clarification on the licensing system itself.So i would be grateful if you open this question for further clarification on the subject.
Then come to Meta. Ask whether or not with your formulation the question is on topic and could be reopened. It needs either a moderator or 5 people with sufficient privileges to reopen it. Just make it a friendly question there and the community will have a look. meta.stackoverflow.com
Meta is awesome so long as you don't really care about your Meta rep. Voting is much more liberal there.

C
Cornstalks

Just dynamically link to Qt. If you dynamically link to LGPL libraries, there's nothing to worry about.

If you statically link to them, you can just distribute your object files (not your source code), and you'll be fine.

The idea of the LGPL is that the end user has to be able to replace the LGPL library with a version they want. Dynamically linking to the LGPL library lets you do that, as does statically linking and distributing your object files. So long as you do this, you can sell your closed source program all you want.

Of course, there's more to the LGPL than just this, but that's the relevant part.


The LGPL also requires that you "do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications," which may conflict with some commercial EULAs' prohibitions on reverse engineering.
@Hossein Did you even read the answer? This has nothing to do with your code. Qt's LGPL license relates to Qt and Qt only, so you can package your code and license it however you like, but unless you plan on buying a Qt commercial license, you have to dynamically link to Qt. Qt's commercial license is for when you wish to modify Qt's source code, and not release the changes you have made to the public.
@Hossein: And as long as you dynamically link to Qt. Honestly, you should just get a lawyer. You should always talk to one before engaging in a commercial venture. And FWIW, IANAL.
@Hossein, Users should be able te reverse engineer and completely replace Qt itself. However, this means that you should NOT prohibit reverse engineering. You have to distribute Qt as DLLs.... and for a bonus, your app's Object files (not mandatory). If you CARE about your object files, you should then also care about your EXE! Because for a guy that knows how to use Object files, he also knows what EXACTLY is an EXE! Thse people tend to care about low-level stuff, and they know far more than us. For them, even your EXE may be as readable as your source code to you :P
@ПетърПетров Yes, reverse engineering is a real concern when using LGPL libraries. However, executables are usually much more difficult to reverse engineer than a bunch of object files (namely because executables are usually stripped, have link-time optimizations and inlining applied, etc.). But you're absolutely right: if you aren't careful about how you build your executable, it might be just as easy to reverse engineer as all your object files.

关注公众号,不定期副业成功案例分享
Follow WeChat

Success story sharing

Want to stay one step ahead of the latest teleworks?

Subscribe Now