I'm planning on running an executable as a child process in my program (e.g. using Ruby's
popen or C's
exec() family of functions). However, the executable I'm planning on running is licensed through the GPL.
The GPL, as I understand it, requires that all linked code to GPL licensed code needs to also be GPL.
But there's also an "arm's length" exception, discussed in the FAQ:
However, in many cases you can distribute the GPL-covered software alongside your proprietary system. To do this validly, you must make sure that the free and non-free programs communicate at arms length, that they are not combined in a way that would make them effectively a single program.
Would runnning an executable as a child process be part of this exception, or would it still be considered "linking" for the purposes of the license?
If it is considered "linking", how does it differ from running program, like Nmap, from the a command line?