Sto pianificando di eseguire un eseguibile come processo figlio nel mio programma (ad esempio utilizzando la famiglia di funzioni% di popen
di Ruby o% di% di funzioni diexec()
). Tuttavia, l'eseguibile che sto pianificando di eseguire è concesso in licenza tramite GPL.
La GPL , a quanto ho capito, richiede che anche tutto il codice collegato al codice con licenza GPL debba essere GPL.
Ma c'è anche un'eccezione di "lunghezza di braccio", discussa in Domande frequenti :
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.
Il runnning di un eseguibile come processo figlio farebbe parte di questa eccezione, o sarebbe comunque considerato "linking" ai fini della licenza?
Se è considerato "linking", come si differenzia dal programma in esecuzione, come Nmap, da una riga di comando?