Documentation required for the sale of software under the LGPL license
-
I developed a Qt desktop application which involves the original qt serialbus library. I want to sell this application to a company.
I read that i have to compile the final program by a dynamic linking in order to asses the LGPL requirements.
What other "bureaucratic" documentation do I have to deliver to the customer other than the folder with the application executable and its own dlls?
-
I developed a Qt desktop application which involves the original qt serialbus library. I want to sell this application to a company.
I read that i have to compile the final program by a dynamic linking in order to asses the LGPL requirements.
What other "bureaucratic" documentation do I have to deliver to the customer other than the folder with the application executable and its own dlls?
You should consult a lawyer about this.
In order to know what documentation to provide, please read the LGPL license text. From memory, in case of LGPL you need to:
- either DLLs or build artifacts to allow relinking with static libs
- license text shipped with product
- information inside of the application that is it using LGPL software
-
You should consult a lawyer about this.
In order to know what documentation to provide, please read the LGPL license text. From memory, in case of LGPL you need to:
- either DLLs or build artifacts to allow relinking with static libs
- license text shipped with product
- information inside of the application that is it using LGPL software
-
@sierdzio Thank you for your answer.
Another point:
Do I have to attach also the source code files (.cpp and .h) ?
@filispin
I will leave others to clarify exactly but (someone please correct me if I am wrong), while you do not have to supply or make available your own source code you are supposed to "make the source code of Qt available to your customers". Suggestion not to attach it but your site to host it. -
@filispin
I will leave others to clarify exactly but (someone please correct me if I am wrong), while you do not have to supply or make available your own source code you are supposed to "make the source code of Qt available to your customers". Suggestion not to attach it but your site to host it.@JonB said in Documentation required for the sale of software under the LGPL license:
I will leave others to clarify exactly but (someone please correct me if I am wrong), while you do not have to supply or make available your own source code you are supposed to "make the source code of Qt available to your customers". Suggestion not to attach it but your site to host it.
Well, I remember something like "make the source code of Qt available to your customers in the same way as the executable". So, if your customers don't download from your website, hosting the source is not sufficient. And there's always the alternative of a written offer valid for at least 3 months (or was it 6 months???) to provide the source code upon request. In any case: you should have a copy of the Qt source code yourself for the exact version you used! It is not sufficient that you could download the source code at any time from somebody else's server (e.g. the official Qt server).
-
@JonB said in Documentation required for the sale of software under the LGPL license:
I will leave others to clarify exactly but (someone please correct me if I am wrong), while you do not have to supply or make available your own source code you are supposed to "make the source code of Qt available to your customers". Suggestion not to attach it but your site to host it.
Well, I remember something like "make the source code of Qt available to your customers in the same way as the executable". So, if your customers don't download from your website, hosting the source is not sufficient. And there's always the alternative of a written offer valid for at least 3 months (or was it 6 months???) to provide the source code upon request. In any case: you should have a copy of the Qt source code yourself for the exact version you used! It is not sufficient that you could download the source code at any time from somebody else's server (e.g. the official Qt server).
@SimonSchroeder
Just for the record: a long time ago I saw mention that offering source code as a print out might satisfy LGPL! :) Your quote of "in the same way as the executable" may have scuppered that though ;-) -
@SimonSchroeder
Just for the record: a long time ago I saw mention that offering source code as a print out might satisfy LGPL! :) Your quote of "in the same way as the executable" may have scuppered that though ;-)@JonB said in Documentation required for the sale of software under the LGPL license:
print out
That would be fun :-D
-
@SimonSchroeder
Just for the record: a long time ago I saw mention that offering source code as a print out might satisfy LGPL! :) Your quote of "in the same way as the executable" may have scuppered that though ;-)@JonB said in Documentation required for the sale of software under the LGPL license:
offering source code as a print out might satisfy LGPL!
I'm not sure about the exact wording. Could be that if you send your software on a CD or thumb drive you could still just print it and ship it along. Even better would be to provide a written offer to send the printed source code. Then you could request money for the this service as well. But now we are dangerously close to the territory of Red Hat...
-
Thank you everybody for your answers.
So, give me your feedback about these choises I opted for the SW development.
- I make my application by using open-source QT Creator 10.0.2, with QT 5.15.2 .
- The application uses many GPL QT libraries like the QT Serial Bus.
- I dynamically compiled the final application by means of the windeployqt command.
- I generated the installer of my application by means of the Qt Framework Installer tool.
Do I have to give, to the customer, the source codes (main.cpp, mainwidow.cpp etc..) as well as the dlls of the QT libraries?
-
Thank you everybody for your answers.
So, give me your feedback about these choises I opted for the SW development.
- I make my application by using open-source QT Creator 10.0.2, with QT 5.15.2 .
- The application uses many GPL QT libraries like the QT Serial Bus.
- I dynamically compiled the final application by means of the windeployqt command.
- I generated the installer of my application by means of the Qt Framework Installer tool.
Do I have to give, to the customer, the source codes (main.cpp, mainwidow.cpp etc..) as well as the dlls of the QT libraries?
@filispin said in Documentation required for the sale of software under the LGPL license:
The application uses many GPL QT libraries like the QT Serial Bus.
If that is indeed GPL, not LGPL, (I don't know, and in the thread title you say "LGPL") then my understanding is yes, you must supply your own source code. The distinction is significant. I stand to be corrected.
-
Thank you everybody for your answers.
So, give me your feedback about these choises I opted for the SW development.
- I make my application by using open-source QT Creator 10.0.2, with QT 5.15.2 .
- The application uses many GPL QT libraries like the QT Serial Bus.
- I dynamically compiled the final application by means of the windeployqt command.
- I generated the installer of my application by means of the Qt Framework Installer tool.
Do I have to give, to the customer, the source codes (main.cpp, mainwidow.cpp etc..) as well as the dlls of the QT libraries?
@filispin said in Documentation required for the sale of software under the LGPL license:
Do I have to give, to the customer, the source codes (main.cpp, mainwidow.cpp etc..) as well as the dlls of the QT libraries?
@JonB already answered the first part of the question (and is completely right about the distinction of GPL and LGPL). For the second part of this question, you are not required to ship the DLLs of the Qt library. Naturally, I would be easier for someone else to install your software if you did, though. If you ship the Qt DLLs you also need to ship the corresponding Qt source code.
The tools you used (and their licenses), like Qt Creator or windeployqt, don't matter. They don't put any obligations on your own source code. (Same as the compiler.) However, you are distributing the Qt installer which by itself might require you to distribute its source code (I couldn't quickly find a definite answer, but it seems to be GPL/LPGL).
-
@filispin said in Documentation required for the sale of software under the LGPL license:
Do I have to give, to the customer, the source codes (main.cpp, mainwidow.cpp etc..) as well as the dlls of the QT libraries?
@JonB already answered the first part of the question (and is completely right about the distinction of GPL and LGPL). For the second part of this question, you are not required to ship the DLLs of the Qt library. Naturally, I would be easier for someone else to install your software if you did, though. If you ship the Qt DLLs you also need to ship the corresponding Qt source code.
The tools you used (and their licenses), like Qt Creator or windeployqt, don't matter. They don't put any obligations on your own source code. (Same as the compiler.) However, you are distributing the Qt installer which by itself might require you to distribute its source code (I couldn't quickly find a definite answer, but it seems to be GPL/LPGL).
Also, a small side note to all this: both GPL and LGPL only require you to provide the sources on demand to your users. You don't have to provide them openly on the Internet, nor ship them with the product.
Although, if software is GPL, it probably the easiest to push it to GitHub and potentially benefit from some contributions, too :-)
-
I though, I'd look up the GPL directly (https://www.gnu.org/licenses/gpl-3.0.en.html). Here are the options (in condensed form) the GPL mentions (and the LGPL refers to the GPL for these requirements, so it's the same):
a) If the program is on a physical medium, the source can be distributed on the same medium.
b) Written offer to provide the source code, valid for at least 3 years and as long as your program is distributed. Only applies when distributed on a physical medium.
c) Usually no applicable.
d) If your program is for download, a link to any server (even third-party) is sufficient for source distribution. You still need a copy for yourself of the source code just in case the third-party service does not offer the source code anymore.
e) Program distributed via peer-to-peer, then d) applies for source distribution.Concerning printing out the source code: The GPL specifically states that it needs to be machine-readable. I'm not sure that OCR qualifies...
-
I though, I'd look up the GPL directly (https://www.gnu.org/licenses/gpl-3.0.en.html). Here are the options (in condensed form) the GPL mentions (and the LGPL refers to the GPL for these requirements, so it's the same):
a) If the program is on a physical medium, the source can be distributed on the same medium.
b) Written offer to provide the source code, valid for at least 3 years and as long as your program is distributed. Only applies when distributed on a physical medium.
c) Usually no applicable.
d) If your program is for download, a link to any server (even third-party) is sufficient for source distribution. You still need a copy for yourself of the source code just in case the third-party service does not offer the source code anymore.
e) Program distributed via peer-to-peer, then d) applies for source distribution.Concerning printing out the source code: The GPL specifically states that it needs to be machine-readable. I'm not sure that OCR qualifies...
@SimonSchroeder said in Documentation required for the sale of software under the LGPL license:
d) If your program is for download, a link to any server (even third-party) is sufficient for source distribution.
Just for anyone reading this: TQtC specifically states (somewhere, I believe) that "you may not offer a link to their servers" for the open source GPL source code to satisfy the requirement. I think readers should be aware of this.
-
@SimonSchroeder said in Documentation required for the sale of software under the LGPL license:
d) If your program is for download, a link to any server (even third-party) is sufficient for source distribution.
Just for anyone reading this: TQtC specifically states (somewhere, I believe) that "you may not offer a link to their servers" for the open source GPL source code to satisfy the requirement. I think readers should be aware of this.
@JonB What exactly do you mean with TQtC? When I quickly googled it, it showed me something about the commercial source. Is there any part of Qt that is only under the GPL/LPGL but not the commercial license? Otherwise there would be no reason for commercial customers to share the source.
-
@JonB What exactly do you mean with TQtC? When I quickly googled it, it showed me something about the commercial source. Is there any part of Qt that is only under the GPL/LPGL but not the commercial license? Otherwise there would be no reason for commercial customers to share the source.
@SimonSchroeder said in Documentation required for the sale of software under the LGPL license:
TQtC
The Qt Company
-
@JonB What exactly do you mean with TQtC? When I quickly googled it, it showed me something about the commercial source. Is there any part of Qt that is only under the GPL/LPGL but not the commercial license? Otherwise there would be no reason for commercial customers to share the source.
@SimonSchroeder
For "TQtC" as @jsulm wrote :)GPL in particular (under which several Qt components are released) requires users to release the full source of their code. Paying TQtC for a commercial license frees the author of that requirement, which I guess can be very useful for a commercial developer. For the (majority) LGPL parts I imagine it also frees them from the responsibility of maintaining Qt source access for customers (not sure about this one, just a presumption).