Ci sono varie licenze, quelle più conosciute sono la GPL e la LGPL (o GPL Lesser).
I software rilasciati sotto LGPL si possono integrare tranquillamente in applicazioni closed, a patto di distribuire il loro sorgente con i binari closed documentando eventuali modifiche, oppure lasciando indicazioni su come recuperare il sorgente su richiesta (o un link dove scaricarlo).
La licenza GPL è praticamente uguale alla LGPL salvo il vincolo che l'intero programma deve essere rilasciato sotto GPL (anche il tuo).
Quindi la parte closed deve essere completamente esterna all'applicazione GPL oppure bisogna scrivere un "bridge" che estende la parte GPL permettendo l'interoperabilità, che deve a sua volta essere rilasciato in GPL, come ha spiegato Xaratroom.
Per esempio potresti scrivere un plugin che espone le funzioni di una libreria GPL via web-service e interrogarlo dalla tua applicazione.
A complicare le cose c'è anche la versione della licenza.. molto diffusa è la GPLv2 ma sta prendendo piede anche la v3.
Poi ci sono altre licenze come quella di apache, bsd...
http://it.wikipedia.org/wiki/GNU_GPL
http://en.wikipedia.org/wiki/List_of_software_licenses