Question: I want to use some open source code that is licenced under the following "GNU General Public License (GPL), MIT License". I want to include this code in a product that i will sell.

[Here is the code in particular](http://mda.smartelectronix.com/)

What do i have to do to not get sued? :)

I dont mind distributing the source code that i have modified, but i dont want the whole application open source.

If i build the open source code into a library and open source the library can i link to it and not open the rest of my source?

EDIT: In the project it has the following 

"The mda VST plug-ins are released under the MIT license or under the GPL
"either version 2 of the License, or (at your option) any later version"."

Answer: 
It all depends on \_how\_you\_link\_ with GPL covered code. If a library that you want to use is covered by the GPL (not LGPL) and you link against it, your application must be distributed under the terms of the GPL. The license considers your application and the library working together as a *combined* work.

If you are just distributing independently linked GPL programs along with a proprietary program and they all work together (but never link together), you are fine. The one exception is the intermediary output of gcc, however that's only interesting if you are writing a gcc plug-in.

If you are not ready to distribute any part of your code that links against the GPL code under the same license, you can't use the GPL code. Please note, selling has nothing to do with it, all the GPL cares about is distributing, gratis or for a fee, doesn't matter.

You can't enforce more restrictions than the GPL dictates on a program that uses GPL code. Likewise, you can't enforce fewer restrictions for the same reason.

For instance, if I write a command line program and I want to give it line editing capabilities and a history, I might link against (and use) libreadline, which is GPL. However, if I *distribute* my new program with a dependency on readline(), I must license the program under the GPL. This is why libedit / libeditline was created under the 3 clause BSD license with a fully compatible API.

Any C program will link against glibc, it must. Because glibc is LGPL, I am *not* required to inherit the license in my own code.

The library you referenced allows you to choose what license you want, I usually don't use dual licensed libraries unless I can confirm a sole owner of the copyright. If you can confirm that, just use the library under the terms of the MIT license.
You only have to distribute the source code to the clients you sell the application to. See here [Practical ways around the GPL?](https://stackoverflow.com/questions/2534205/practical-ways-around-the-gpl-closed). Also, MIT and GPL are different licenses, with MIT being less restrictive.