I will start off with this excerpt from Qt's legal faq to give some context:

3.13. I have started development of a product using the open source version of Qt, can I now purchase a commercial version of Qt and move my code under that license?

Products distributed under the commercial version of Qt must also be developed under the commercial version of Qt.

If you have already started the development with an open-source version of Qt and wish to move to a commercial license you need to have a written explicit permission from The Qt Company to facilitate this change. The Qt Company reserves the right to grant the permission at its own discretion...

This appears to be somewhat recent development, as I seem to recall a different answer to that question, and it was more in line with "No, you can't, if you plan to distribute an application with a commercial license, you must also begin its development with a commercial license".

This didn't sound right with me at the time, and I am not surprised to see the answer has changed a bit. The company has a history of bending the truth barely enough to imply legal threat while being careful to stay away from liability for basically lying, in order to prop up sales of their commercial licensing. But still, this matter doesn't sound like something that's up to their whim. Or maybe they changed that because they realized it actually eats into their sales, and maybe even decided that for "viable targets" they may offer some retrospective licensing options or something, to make a bit more money.

From what I've read, licensing requirements is more of a distribution thing than development thing, at least in the case of the licenses I am familiar with. Their own commercial license can technically be whatever they want, within legal limits of course. So I guess as long as their commercial license has an explicit clause which says they get to say what situation you can come from and into their license, that may be true. Whether the license actually has such a clause I do not know, and may not even be relevant in cases that do not touch their commercial license at any point.

But what about using opensource Qt for the development stage, then removing Qt as dependency altogether for the product release version?

Or developing and initially releasing a product under LGPL, but dropping Qt in future releases and changing the product licensing?

Neither switching dependencies nor switching license is unprecedented in the software world. But are there any lasting implications from previously used dependencies or licenses? To make that last question answerable, let's exclude the numerous arbitrary proprietary licenses and focus only on the popular FOS license in use today, such as GLP, LGPL, MIT, Apache, ZLib, BSD and similar. For example, the less permissive GPL, which makes it clear that all software, featuring GPL dependencies must also be distributed under GPL or a compatible license, but what about using it only during development and then dropping it?

  • 2
    1. What you are quoting is talking specifically about the commecial Qt license, which as you point out, does not apply to the open source versions. 2. If you develop using the open source Qt library (or any other open source library), and subsequently remove all code using or derived from that software in your final product, then you are no longer bound by the license when distributing your final product. – Brandin Mar 4 at 13:22

If the structure of the program was (heavily) influenced by the (now not used) piece, it could be argued that it is derivative. See the paradox of Theseus' ship.

| improve this answer | |

Your Answer

