My application has two parts GUI and a backend algorithm module. I have used a library under GPLv3 to write my GUI. In the GUI we can create a workflow of different digital signal processing units so I thought to share this GUI to the community under GPL, but I wish to keep my some algorithm modules as proprietary, what are the possible approaches?

Application Interaction diag

1 Answer 1


That's easy. Make sure you don't compile your GUI and your algorithms together statically as a single executable. If you do that, you don't have any GPL obligation for your algorithms.

  • Run your algorithms as a command-line tool and use inter-process communication in your GUI. This is a very common implementation in computer chess engines.
  • Run your algorithms as an internal web server and use internal web connection

Example from computer chess (use process communication):


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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.