1

I downloaded a GPL program, I want to modify this GPL program in order to make it calling a non gpl program (commercial license) via fork+exec.

Concerning the input/output data of the non-gpl program:

  • The input data are the arguments of the command line of the non GPL program
  • The non-gpl program is sharing his output to the stdout data as an XML message format. And I m catching the output with a pipe.

am I having the right to call the non-gpl program from the GPL software?

By the way the GPL software version is GPLv2 The usage is not for internal usage or personal. I will share the modified gpl program.

4
  • It depends. You are safe if the protocol is well specified (so is not ad-hoc) and implemented on both sides by a GPL program (in addition of your proprietary program). You probably should publish (under GPLv2 or GPLv2+) a free software implementation of both sides. But I am not a lawyer, and you need one. Commented May 4, 2016 at 11:29
  • I removed my answer claiming it to be fine, the GPL has caveats about intertwinedness I had missed. Commented May 4, 2016 at 11:52
  • Do you intend to distribute this at all? If it is only for use internally in your company or even for private use then you can modify the GPL'ed program how you like. Once you distribute it the GPL comes into effect and the intertwinedness Lars Viklund mentions can be a problem as the modified version don't work without the commercial program.
    – Bent
    Commented May 4, 2016 at 13:31
  • @Bent The usage is not for internal usage or personal. I will share the modified gpl program.
    – MOHAMED
    Commented May 4, 2016 at 13:40

1 Answer 1

2

First of all you need to worry about legalities only if you wish to distribute your code. If it is for personal use or for an internal app for your organization you can go ahead and make any changes and integration you wish.

And even if you want to distribute your code, what you need to do is fine by GPLv2. To quote from the license (https://www.gnu.org/licenses/old-licenses/gpl-2.0)

These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

Hope this helps.

4
  • "But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it." - that part would be a problem as the commercial program cannot be licensed under GPL.
    – Bent
    Commented May 4, 2016 at 13:34
  • The usage is not for internal usage or personal. I will share the modified gpl program.
    – MOHAMED
    Commented May 4, 2016 at 13:40
  • @Bent would the whole be "a work based on the program"? I can distribute a GPL program that requires commercial operating system components to operate. Commented May 4, 2016 at 17:07
  • @martin it gets fuzzy when it is not operating system components. But so far there is not sufficient precendents in most juridictions to be absolute sure (well as sure you can be in law).
    – Bent
    Commented May 4, 2016 at 19:16

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.