I have a couple questions with regard to the GNU GPLv3 license. My application is closed-source and I do not intend to actually release it to the public. However, it does generate commercial items. The use of dlls licensed under the above license are used and linked to the software that generates these commercial products.

I would just like clarification, that because the software is not actually being distributed - only what the software generates. Therefore, no release of source etc would be required. The licensed dlls are not modified in any way.

Secondly, out of interest. When a GNU GPLv3 is used by commercial software (let's say this software is released). This time the licensed material is a EXE and not a .DLL and therefore not actually linked to the code of the software. Rather the software is executing the licensed software directly and sending it command line style arguments and using what the exe returns. Would the source code have to be released?

Thanks, I am new to the realms of these licenses and slightly confused.

1 Answer 1


Regarding your first question (if I understand it correctly), see this excerpt taken from the GPL FAQ:

In what cases is the output of a GPL program covered by the GPL too?

Only when the program copies part of itself into the output.

Regarding your second question, see this excerpt from the GPL FAQ (emphasis mine):

Can I release a non-free program that's designed to load a GPL-covered plug-in?

It depends on how the program invokes its plug-ins. For instance, if the program uses only simple fork and exec to invoke and communicate with plug-ins, then the plug-ins are separate programs, so the license of the plug-in makes no requirements about the main program.

If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, which must be treated as an extension of both the main program and the plug-ins. In order to use the GPL-covered plug-ins, the main program must be released under the GPL or a GPL-compatible free software license, and that the terms of the GPL must be followed when the main program is distributed for use with these plug-ins.

If the program dynamically links plug-ins, but the communication between them is limited to invoking the ‘main’ function of the plug-in with some options and waiting for it to return, that is a borderline case.

If you want to get a more detailed answer for your specific situation, you can contact the Free Software Foundation directly at licensing(at)fsf(dot)org explaining your exact use case.

I must point out that I am not a lawyer and only a lawyer can responsibly give you legal advice on any matter, including software development and distribution. You can use the information in this answer at your own risk in order to get a rough idea of what to expect, but any actions you take are your responsibility unless a lawyer has been consulted first.

  • Thank you, From the first question, the generated commercial product will not contain any 'copied' part of the program. There is no code 'copied' from the dll.No part of the GPL dll is resulting in being distributed by the generated product What I understand from the second then is that executing the licensed exe and using its results would not constitute the commercial program as being bound by the GPlv3 license. Whereas doing the same thing via a DLL would resort in 'sharing data structures' between the GPLv3 dll and the commercial product. Therefore forming one entity to be bound by GPLv3.
    – John Nagg
    Aug 2, 2014 at 13:44
  • I suppose this is similar to: I use OpenOffice to write a cooking recipe, save it the document and sell to someone for $5. I burn the document to a CD - you would not also need to burn the source of OpenOffice... (!)
    – John Nagg
    Aug 2, 2014 at 14:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.