If you use some GPL code in your program and you distribute that program, than you also must make the program source available. A fun thing would be to comply with the GPL, but publish the source code of the parts of the program that you wish to keep "secret" in
obfuscated form.
Here's a relatively easy way to do it: put "proprietary" parts of your code into separate source files, compile them to object code and
decompile the object code back to "source". "Nice" decompilation is of course impossible. But we don't want nice - we can just generate code full of
goto
s, primitive machine instructions, and variable "names" which correspond to the variable's address in memory after the program is loaded.
I think that it would work, because the license states only "Accompany it with the complete corresponding machine-readable source code..." Such source code
is undeniably machine-readable (and even compileable!), and it seems that distributing a "proprietary" program in such form would comply with the license.
Comments?