I want to sell a commercial software. It has 3 parts:
EXE Program 1: - links to GPL
EXE Program 2: - Has no GPL code.
EXE Program 3: - Has no GPL code.
My question is, can I only open source Program 1, and not Program 2 and Program 3?
I want to sell a commercial software. It has 3 parts:
EXE Program 1: - links to GPL
EXE Program 2: - Has no GPL code.
EXE Program 3: - Has no GPL code.
My question is, can I only open source Program 1, and not Program 2 and Program 3?
If it's a separate program, then yes, you can. Just remember that programs 2 and 3 will need to be licenced differently from program 1.
I would suggest that you talk to a lawyer who understands software licensing (which is not me). And, I wouldn't be so quick to agree with mingos, either. Did you split up the executables so they could all work together to a final program. (AKA, the application needs EXE 1, 2, and 3 to represent a completed app?) If so, you may have a different problem on your hands.
Again, I would talk to an expert in this area.
Yes, I believe so.
The GPL requires that 'derivative works' are also released as GPL, if you distribute binaries of such derivative works. The definition of 'derivative work' is not always very clear cut though. But everybody seems to agree that when you link to GPL code, you have created a derivative work, and are thus obliged to license your work as GPL if you distribute binaries of your derivative work.
Now, the output of a GPL-ed work is not covered by the GPL (unless you have the edge case where the output of your program is actually GPL code - I don't assume that is the case now). So, if these exes communicate with each other by taking each others output, I think that should be ok.
I think it becomes different when these exes are daemons or services and rely on specific non-trivial inter-process communication, but I think there is no concensus in this particular case.