Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
A few questions about using a commercial license with my program
I have read a bunch of forum license topics and I am still a bit confused on some questions. What does closed source mean? Is it any commercial license?
I have downloaded the Qt_SDK_Win_offline_v1_1_2_en package and made my program using the qt creator Ide. If I am using any commercial license for my program can I include the qt dlls with my program, eg libgcc_s_dw2-1.dll, mingwm10.dll, QtCore4.dll and QtGui4.dll? I could not find the answer to this question. sorry if it offends someone.
another question that I have read is a bit confusing. it relates to my program, the source files. do i have to make available my programs source to the pubic or put the programs source files with my program?
also, i have read the documents and that was not much help to me. Please help in this topic. thank you.
Eddy last edited by
Did you watch this eLearning video? This a good explanation from the Trolls themselves.
Closed source definition :
so basically, i have to write my own closed source license. is that permitted to do under the qt licenses or do i need to get a closed source license from the net?
also, could someone please answer the other questions in my first post please.
Eddy last edited by
Sorry, i forgot the link to the "eLearning video.":http://developer.qt.nokia.com/elearning/watch/breakfast_seminar_qt_licensing_essentials
Please watch it. Especially to the end where real life situations are discussed.
I think after that you will have a better view on Qt licensing.
andre last edited by
Eddy is right that you should look at the available learning materials on this.
My take on this (IANAL) in ultra-short form (there are many details that are relevant that I will skip over):
You have basically three licence options for Qt itself: GPL, LGPL, and Commercial
If you choose the GPL licence, you have to:
- Use a GPL licence on your own code (open source), but you
- Can modify Qt's code any way you like, use static linking, etc., you just:
- Have to distribute your source code.
If you choose the LGPL licence, you:
- Can use any licence on your own code that you like (including one you write yourself) and that does not conflict with the LGPL licence you got Qt under (your licence can not take away rights that the LGPL granted), and
- You do not need to distribute your own source code, but
- You can not use static linking, and
- If you make modifications to the Qt libraries you use and distribute, you have to publish those modifications.
If you choose the Commercial licence, you:
- Have to pay Digia for that, and then
- You can choose any licence you like for your own code, and
- You can choose to open source your code, or keep it closed, and
- You can static link to Qt and/or modify it to your hearts content, but
- You need a Commercial licence for every developer working on the application.
giesbert last edited by
I think this is a perfect summary of the license stuff. Perhaps you should ask the troll to put exactly this as additional info on the license pages :-) It would make reading that easier...
I watched that license video. it was a bit confusing.
thank you Andre. I am starting to now understand the licensing.
is it ok if i learn c++ programming on the open source qt package and then later when the program is about finished i could then get a commercial license or do i need a commercial license right from the start? note that nobody else will be programming with me on my project.
andre last edited by
It is always ok to learn programming using open source packages. However, you can not start your project using an open source (GPL or LGPL) licenced Qt and then later decide that you want to release it using a Commercial licence. There is nothing in the open source licences that prevents that, but there is a clause in the Commercial licence itself that forbids it.
So: learn all you can with open source, and when you are ready to actually start your project, decide what licence you need from the start. Chances are, LGPL will be good enough for you.
sfilippidis last edited by
I am not a lawyer and the following is not legal advice!
Response to the original poster:
It is very difficult to get answers from any forum on legal maters (I mean answers you can rely on to make decisions). The best way is to get proper legal advice. Of course, to begin with, try to read the license yourself!
The general rule is that you have to comply with the terms of the respective license under which you use Qt (as well as the license of other modules if any are used).
I would like to tell you that my personal understanding is that under LGLv2.1 if you distribute Qt's dll files (e.g.: QtCore4.dll) you must distribute Qt's sources and instructions needed to reproduce these dll files from the sources, even if you did not make any changes to these sources. And, of course, there are many other obligations that you can find in the LGPLv2.1 text. This is my understanding.
So, the bottom line: get proper legal advice. :-)
[quote author="Stavros" date="1311926169"]I would like to tell you that my personal understanding is that under LGLv2.1 if you distribute Qt's dll files (e.g.: QtCore4.dll) you must distribute Qt's sources and instructions needed to reproduce these dll files from the sources, even if you did not make any changes to these sources. And, of course, there are many other obligations that you can find in the LGPLv2.1 text. This is my understanding.[/quote]
can i have a second opinion about that Stavros said in the quote above.
Scylla last edited by
I think you don't have to distribute Qt sources you only have to be sure the lib's are replaceable. And of course you should deliver the needed libs with your app.
[quote author="Scylla" date="1312009525"]I think you don't have to distribute Qt sources you only have to be sure the lib's are replaceable. And of course you should deliver the needed libs with your app. [/quote]
what do you mean by replaceable?
Scylla last edited by
If somone just update the libs i.e Dll on windows or a new package in linux. Replaceable/exchangeable is already done, if you link your app shared and not static. So anybody can change the libs.