This question was originally posted by marcgg on Stack Overflow (second link might be visible to 10k+ only), but was removed there due to being off-topic. It has been preserved here in light of this Meta Stack Overflow request.
I want to use a tool (ffmpeg) that is under GNU Lesser General Public License (LGPL) version 2.1 and GNU General Public License (GPL) version 2 for some components.
To do so, I only call it in my software as such:
System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo = new System.Diagnostics.ProcessStartInfo("lgplSoftware.exe", myParams); p.Start();
I do not change it, I only use a built version of the software for windows.
A key dispute related to the GPL is whether or not non-GPL software can be dynamically linked to GPL libraries. The GPL is clear in requiring that all derivative works of code under the GPL must themselves be under the GPL. While it is understood that static linking produces derivative works, it is not clear whether an executable that dynamically links to a GPL code should be considered a derivative work (see Weak Copyleft). The free/open-source software community is split on this issue. The FSF asserts that such an executable is indeed a derivative work if the executable and GPL code "make function calls to each other and share data structures," with certain others agreeing (e.g. Jerry Epplin), while some (e.g. Linus Torvalds) agree that dynamic linking can create derived works but disagree over the circumstances.
I am really confused by all this legal things. I would have made my project LGPL as well and released the source, but this is not up to me.
So the question is: can I use it like I'm doing right now or will I be executed by an army of lawyers?